2014-10-07  Simon Fraser  <simon.fraser@apple.com>

        Bug link should be at the beginning of the line.

        * platform/mac/TestExpectations:

2014-10-07  Daniel Bates  <dabates@apple.com>

        [iOS] Teach run-webkit-tests to honor TestExpectation file for iOS Simulator 64-bit builds
        https://bugs.webkit.org/show_bug.cgi?id=137499

        Reviewed by Simon Fraser.

        Add a new platform directory, called ios-simulator, and associated TestExpectation file.
        For now, there is a single entry to skip all accessibility tests on iOS due to significant
        API differences. We'll likely update TestExpectations as we rebaseline iOS Simulator
        layout test results.

        * platform/ios-simulator/TestExpectations: Added.

2014-10-07  Jer Noble  <jer.noble@apple.com>

        [Media] Expose AudioTracks in the "captions" menu.
        https://bugs.webkit.org/show_bug.cgi?id=137472

        Reviewed by Brent Fulgham.

        * media/content/audio-tracks.mp4: Added.
        * media/content/audio-tracks.ogg: Added.
        * media/content/audio-tracks.webm: Added.
        * media/video-controls-audiotracks-trackmenu-expected.txt: Added.
        * media/video-controls-audiotracks-trackmenu.html: Added.

2014-10-06  David Hyatt  <hyatt@apple.com>

        REGRESSION (Simple Line Layout): Inline block baselines computed incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=137461

        Reviewed by Simon Fraser.

        * fast/inline-block/simple-line-layout-expected.html: Added.
        * fast/inline-block/simple-line-layout.html: Added.

2014-10-06  Benjamin Poulain  <benjamin@webkit.org>

        Unreviewed, rolling out r174336.

        Mozilla's Dromaeo still relies on the deprecated function.

        Reverted changeset:

        "Add a deprecation warning for Element.webkitMatchesSelector"
        https://bugs.webkit.org/show_bug.cgi?id=137417
        http://trac.webkit.org/changeset/174336

2014-10-06  Roger Fong  <roger_fong@apple.com>

        [Windows] Skip remaining failing media tests after adding audio devices to the bots Part 2.

        * platform/win/TestExpectations:

2014-10-05  Benjamin Poulain  <bpoulain@apple.com>

        Add a deprecation warning for Element.webkitMatchesSelector
        https://bugs.webkit.org/show_bug.cgi?id=137417

        Reviewed by Christophe Dumez.

        * jquery/resources/src/sizzle/sizzle.js:
        This is a great example of library that needs fixing. The old sizzle
        we have in WebKit used "matchesSelector" instead of "matches".

        * fast/dom/SelectorAPI/attrname-case-insensitive-expected.txt:
        * fast/dom/SelectorAPI/attrname-case-sensitive-expected.txt:
        * fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
        * fast/dom/SelectorAPI/caseID-expected.txt:
        * fast/dom/SelectorAPI/caseID-strict-expected.txt:
        * fast/dom/SelectorAPI/caseTag-expected.txt:
        * fast/dom/SelectorAPI/caseTagX-expected.txt:
        * fast/dom/SelectorAPI/detached-element-expected.txt:
        * fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
        * fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:
        Update the test results due to the warning.

        * fast/forms/radio/radio-live-validation-style-expected.txt:
        * fast/forms/radio/radio-live-validation-style.html:
        That duplicate I added back when I unprefixed Element.matches() is useless.

2014-10-05  Benjamin Poulain  <benjamin@webkit.org>

        Element.matches()'s argument is not supposed to be optional
        https://bugs.webkit.org/show_bug.cgi?id=137427

        Reviewed by Christophe Dumez.

        * fast/dom/SelectorAPI/matches-definition.html: Added.
        * fast/dom/SelectorAPI/matches-null-undefined.html: Added.
        Test for the bug.

        * fast/dom/SelectorAPI/closest-definition.html: Added.
        * fast/dom/SelectorAPI/closest-null-undefined.html: Added.
        Similar tests for Element.closest() since those are similar APIs.

2014-10-05  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS8: Crash at -[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]
        https://bugs.webkit.org/show_bug.cgi?id=137289

        Reviewed by Mario Sanchez Prada.

        * platform/ios-sim/accessibility/out-of-bounds-child-access-expected.txt: Added.
        * platform/ios-sim/accessibility/out-of-bounds-child-access.html: Added.

2014-10-04  Dhi Aurrahman  <diorahman@rockybars.com>

        Implement Element.closest() API
        https://bugs.webkit.org/show_bug.cgi?id=137418

        Reviewed by Benjamin Poulain.

        Add test cases for Element.closest() API

        * fast/selectors/closest-general-expected.txt: Added.
        * fast/selectors/closest-general.html: Added.
        * fast/selectors/closest-scope-expected.txt: Added.
        * fast/selectors/closest-scope.html: Added.

2014-10-04  Filip Pizlo  <fpizlo@apple.com>

        FTL should sink PutLocals
        https://bugs.webkit.org/show_bug.cgi?id=137168

        Reviewed by Oliver Hunt.

        * js/regress/elidable-new-object-then-call-expected.txt: Added.
        * js/regress/elidable-new-object-then-call.html: Added.
        * js/regress/script-tests/elidable-new-object-then-call.js: Added.
        (sumOfArithSeries):
        (bar):
        (foo):

2014-10-04  Tim Horton  <timothy_horton@apple.com>

        Make it possible to test page overlays
        https://bugs.webkit.org/show_bug.cgi?id=137339

        Reviewed by Dan Bernstein.

        * pageoverlay/overlay-installation.html: Added.
        Add a test which just installs one view-relative and one document-relative
        overlay, and dumps the layer tree and pixel results. The mock overlay
        strokes a blue rectangle (inset a little from the overlay bounds) for
        view-relative overlays, and a green rectangle (inset a bit more) for
        document-relative overlays.
        
        * pageoverlay/overlay-large-document.html: Added.
        * pageoverlay/overlay-large-document-scrolled.html: Added.
        Tests that do the same as the -installation test, but with a larger document;
        the view-relative overlay should be the same size (or slightly smaller,
        because we have scrollbars now), but the document-relative overlay should
        be the size of the document. The second test scrolls to maxX, maxY, and
        the document-relative overlay should scroll along with it, while the
        view-relative overlay should remain fixed.

        * pageoverlay/overlay-installation-expected.txt: Added.
        * pageoverlay/overlay-large-document-expected.txt: Added.
        * pageoverlay/overlay-large-document-scrolled-expected.txt: Added.
        "Normal" layer tree expectations.
        
        * platform/mac-wk1/pageoverlay/overlay-installation-expected.png: Added.
        * platform/mac-wk1/pageoverlay/overlay-installation-expected.txt: Added.
        * platform/mac-wk1/pageoverlay/overlay-large-document-expected.png: Added.
        * platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt: Added.
        * platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.png: Added.
        * platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt: Added.
        Expected results for WebKit1 differ for view-relative overlays, because
        we don't currently hook up view-relative overlays for WebKit1.

        * platform/mac/pageoverlay/overlay-installation-expected.png: Added.
        * platform/mac/pageoverlay/overlay-large-document-expected.png: Added.
        * platform/mac/pageoverlay/overlay-large-document-scrolled-expected.png: Added.
        "Normal" pixel dump expectations.

2014-10-04  Roger Fong  <roger_fong@apple.com>

        [Windows] Skip remaining failing media tests after adding audio devices to the bots.

        * platform/win/TestExpectations:

2014-10-03  Yusuke Suzuki  <utatane.tea@gmail.com>

        Introduce Promise A+ tests into WebKit
        https://bugs.webkit.org/show_bug.cgi?id=136878

        Reviewed by Sam Weinig.

        To ensure WebKit Promise stability, introducing Promise A+ tests[1] into WebKit.
        It's also used to test V8 Promise[2].
        So the tests guarantee that WebKit Promise's spec validity and interchangeability
        to the other browser's Promise implementation.

        Promise A+ tests assumes that it works on the Node.js environment. To work it on
        LayoutTests correctly, we need to transform Node.js styled JavaScript code into
        browser styled code. In this patch, we use browserify[3] to transform the test code.
        Through transforming pipeline, some dependent JS code is bundled into the produced code.
        So added SinonJS[4] and browserify's license files into the test directory.

        And tests assume that it is used with Mocha[5] test runner. So introducing mocha.js and
        added LICENSE file into this directory.

        And since Promises/A+ 2.3.3 has many tests, it consumes much time (13s in GTK debug build).
        So mark it as a Slow test.

        [1]: https://github.com/promises-aplus/promises-tests
        [2]: https://code.google.com/p/v8/source/browse#svn%2Ftrunk%2Ftest%2Fpromises-aplus
        [3]: http://browserify.org/
        [4]: http://sinonjs.org/
        [5]: http://visionmedia.github.io/mocha/

        * TestExpectations:
        * js/promises-tests/README: Added.
        * js/promises-tests/browserify-entry-point.js: Added.
        (.):
        * js/promises-tests/browserify.LICENSE: Added.
        * js/promises-tests/mocha.LICENSE: Added.
        * js/promises-tests/promises-tests-2-1-2-expected.txt: Added.
        * js/promises-tests/promises-tests-2-1-2.html: Added.
        * js/promises-tests/promises-tests-2-1-3-expected.txt: Added.
        * js/promises-tests/promises-tests-2-1-3.html: Added.
        * js/promises-tests/promises-tests-2-2-1-expected.txt: Added.
        * js/promises-tests/promises-tests-2-2-1.html: Added.
        * js/promises-tests/promises-tests-2-2-2-expected.txt: Added.
        * js/promises-tests/promises-tests-2-2-2.html: Added.
        * js/promises-tests/promises-tests-2-2-3-expected.txt: Added.
        * js/promises-tests/promises-tests-2-2-3.html: Added.
        * js/promises-tests/promises-tests-2-2-4-expected.txt: Added.
        * js/promises-tests/promises-tests-2-2-4.html: Added.
        * js/promises-tests/promises-tests-2-2-5-expected.txt: Added.
        * js/promises-tests/promises-tests-2-2-5.html: Added.
        * js/promises-tests/promises-tests-2-2-6-expected.txt: Added.
        * js/promises-tests/promises-tests-2-2-6.html: Added.
        * js/promises-tests/promises-tests-2-2-7-expected.txt: Added.
        * js/promises-tests/promises-tests-2-2-7.html: Added.
        * js/promises-tests/promises-tests-2-3-1-expected.txt: Added.
        * js/promises-tests/promises-tests-2-3-1.html: Added.
        * js/promises-tests/promises-tests-2-3-2-expected.txt: Added.
        * js/promises-tests/promises-tests-2-3-2.html: Added.
        * js/promises-tests/promises-tests-2-3-3-expected.txt: Added.
        * js/promises-tests/promises-tests-2-3-3.html: Added.
        * js/promises-tests/promises-tests-2-3-4-expected.txt: Added.
        * js/promises-tests/promises-tests-2-3-4.html: Added.
        * js/promises-tests/promises-tests.LICENSE: Added.
        * js/promises-tests/promises-tests.js: Added.
        (.):
        * js/promises-tests/promises-tests/.gitignore: Added.
        * js/promises-tests/promises-tests/.jshintrc: Added.
        * js/promises-tests/promises-tests/.npmignore: Added.
        * js/promises-tests/promises-tests/LICENSE.txt: Added.
        * js/promises-tests/promises-tests/README.md: Added.
        * js/promises-tests/promises-tests/lib/cli.js: Added.
        (getAdapterFilePath):
        (adapterObjectFromFilePath):
        * js/promises-tests/promises-tests/lib/getMochaOpts.js: Added.
        (module.exports):
        * js/promises-tests/promises-tests/lib/programmaticRunner.js: Added.
        (normalizeAdapter.adapter.resolved):
        (normalizeAdapter.adapter.rejected):
        (normalizeAdapter):
        (.cb):
        (.):
        (module.exports):
        (module.exports.mocha):
        * js/promises-tests/promises-tests/lib/tests/2.1.2.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.1.3.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.2.1.js: Added.
        * js/promises-tests/promises-tests/lib/tests/2.2.2.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.2.3.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.2.4.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.2.5.js: Added.
        * js/promises-tests/promises-tests/lib/tests/2.2.6.js: Added.
        (.return.if):
        (callbackAggregator):
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.2.7.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.3.1.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/2.3.2.js: Added.
        (.):
        (testPromiseResolution):
        * js/promises-tests/promises-tests/lib/tests/2.3.3.js: Added.
        (.):
        (testPromiseResolution):
        (testCallingResolvePromiseRejectsWith):
        (testCallingRejectPromiseRejectsWith):
        (describe):
        * js/promises-tests/promises-tests/lib/tests/2.3.4.js: Added.
        (.):
        * js/promises-tests/promises-tests/lib/tests/helpers/reasons.js: Added.
        (exports.string_appeared_here):
        (exports.string_appeared_here.return.then):
        * js/promises-tests/promises-tests/lib/tests/helpers/testThreeCases.js: Added.
        (.specify):
        (.):
        (exports.testFulfilled):
        (exports.testRejected):
        * js/promises-tests/promises-tests/lib/tests/helpers/thenables.js: Added.
        (exports.fulfilled.string_appeared_here.return.then):
        (exports.fulfilled.string_appeared_here):
        (exports.fulfilled.string_appeared_here.):
        (exports.fulfilled.get string_appeared_here.return.then):
        (exports.fulfilled.get string_appeared_here):
        (exports.rejected.string_appeared_here.return.then):
        (exports.rejected.string_appeared_here):
        (exports.rejected.string_appeared_here.):
        (exports.rejected.get string_appeared_here.return.then):
        (exports.rejected.get string_appeared_here):
        * js/promises-tests/promises-tests/package.json: Added.
        * js/promises-tests/promises-tests/test/getMochaOptsTest.js: Added.
        * js/promises-tests/resources/adapter.js: Added.
        (LayoutTestsReporter.runner):
        (window.adapter.resolved):
        (window.adapter.rejected):
        (window.adapter.deferred):
        * js/promises-tests/resources/mocha.js: Added.
        (.):
        * js/promises-tests/sinonjs.LICENSE: Added.

2014-10-03  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r174275.
        https://bugs.webkit.org/show_bug.cgi?id=137408

        Build failures on the internal bots. (Requested by dethbakin
        on #webkit).

        Reverted changeset:

        "FTL should sink PutLocals"
        https://bugs.webkit.org/show_bug.cgi?id=137168
        http://trac.webkit.org/changeset/174275

2014-10-02  Filip Pizlo  <fpizlo@apple.com>

        FTL should sink PutLocals
        https://bugs.webkit.org/show_bug.cgi?id=137168

        Reviewed by Oliver Hunt.

        * js/regress/elidable-new-object-then-call-expected.txt: Added.
        * js/regress/elidable-new-object-then-call.html: Added.
        * js/regress/script-tests/elidable-new-object-then-call.js: Added.
        (sumOfArithSeries):
        (bar):
        (foo):

2014-10-03 Bear Travis <betravis@adobe.com>

        Unreviewed. Skipping test failure to unstick the bots until I can fix the
        underlying issue.

        * platform/mac/TestExpectations

2014-10-03 Bear Travis <betravis@adobe.com>

        REGRESSION (r173531): Use after free in WebCore::RenderStyle::fontMetrics /
        WebCore::CSSPrimitiveValue::computeLengthDouble
        https://bugs.webkit.org/show_bug.cgi?id=136864

        Reviewed by Andreas Kling.

        Test that getting the tab index on a body element with
        font-relative measurements to a local @font-face do not
        cause a crash.

        * fast/css/fontloader-tab-index-expected.html: Added.
        * fast/css/fontloader-tab-index.html: Added.

2014-10-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Update test name for bug 136673 after r173418.
        * platform/gtk/css1/box_properties/clear_float-expected.txt: Rebaseline after r174233.
        * platform/gtk/css1/box_properties/float_on_text_elements-expected.txt: Rebaseline after r174233.
        * platform/gtk/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt: Rebaseline after r174233.
        * platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt: Rebaseline after r174233.
        * platform/gtk/css2.1/t1602-c546-txt-align-00-b-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/multicol/float-avoidance-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/multicol/overflow-across-columns-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/multicol/overflow-unsplittable-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/multicol/positive-leading-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/multicol/vertical-lr/float-avoidance-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/multicol/vertical-rl/float-avoidance-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/text/justified-selection-at-edge-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/text/justify-ideograph-leading-expansion-expected.txt: Rebaseline after r174233.
        * platform/gtk/fast/text/justify-nbsp-expected.txt: Added. Rebaseline after r174233.
        * platform/gtk/fast/text/trailing-white-space-2-expected.txt: Rebaseline after r174233.
        * platform/gtk/tables/mozilla/marvin/x_tbody_align_justify-expected.txt: Rebaseline after r174233.
        * platform/gtk/tables/mozilla/marvin/x_td_align_justify-expected.txt: Rebaseline after r174233.
        * platform/gtk/tables/mozilla/marvin/x_tfoot_align_justify-expected.txt: Rebaseline after r174233.
        * platform/gtk/tables/mozilla/marvin/x_th_align_justify-expected.txt: Rebaseline after r174233.
        * platform/gtk/tables/mozilla/marvin/x_thead_align_justify-expected.txt: Rebaseline after r174233.
        * platform/gtk/tables/mozilla/marvin/x_tr_align_justify-expected.txt: Rebaseline after r174233.

2014-10-03  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS Selectors Level 4: Add parsing for :matches
        https://bugs.webkit.org/show_bug.cgi?id=137348

        Reviewed by Benjamin Poulain.

        * fast/css/css-selector-text-expected.txt:
        * fast/css/css-selector-text.html:
        * fast/css/css-set-selector-text-expected.txt:
        * fast/css/css-set-selector-text.html:
        Cover CSSOM tests; canonicalizing :matches text representation.

        * fast/css/parsing-css-matches-1-expected.txt: Added.
        * fast/css/parsing-css-matches-1.html: Added.
        * fast/css/parsing-css-matches-2-expected.txt: Added.
        * fast/css/parsing-css-matches-2.html: Added.
        * fast/css/parsing-css-matches-3-expected.txt: Added.
        * fast/css/parsing-css-matches-3.html: Added.
        * fast/css/parsing-css-matches-4-expected.txt: Added.
        * fast/css/parsing-css-matches-4.html: Added.
        * fast/css/parsing-css-matches-5-expected.txt: Added.
        * fast/css/parsing-css-matches-5.html: Added.
        * fast/css/parsing-css-matches-6-expected.txt: Added.
        * fast/css/parsing-css-matches-6.html: Added.
        Valid :matches are tested in the above tests. Selector lists with 1, 2, 3 elements are tested.

        * fast/css/parsing-css-matches-7-expected.txt: Added.
        * fast/css/parsing-css-matches-7.html: Added.
        * fast/css/parsing-css-matches-8-expected.txt: Added.
        * fast/css/parsing-css-matches-8.html: Added.
        Invalid :matches are tested in the above tests. :matches() etc. are tested.

2014-10-02  Benjamin Poulain  <benjamin@webkit.org>

        CSS JIT: add the initial implementation of :nth-child(An+B of selector)
        https://bugs.webkit.org/show_bug.cgi?id=137285

        Reviewed by Andreas Kling.

        Those are new tests on top of the existing tests for :nth-child(An+B of selector).
        They cover mostly areas related to the JIT optimizations.

        The areas with the least test coverage for correctness is multilevel backtracking.
        I expect we will create more of those tests while extending :not() and adding :matches().

        * fast/selectors/nth-child-of-backtracking-adjacent-expected.txt: Added.
        * fast/selectors/nth-child-of-backtracking-adjacent-optimized.html: Added.
        * fast/selectors/nth-child-of-backtracking-adjacent-expected.html: Added.
        * fast/selectors/nth-child-of-backtracking-adjacent.html: Added.
        * fast/selectors/nth-child-of-backtracking-adjacent-2-expected.txt: Added.
        * fast/selectors/nth-child-of-backtracking-adjacent-2.html: Added.
        Those tests are based on Yusuke's backtracking test suite for adjacent combinators.

        The tests in nth-child-of-backtracking-adjacent.html use :nth-child(of) inside a regular
        backtracking chain.

        The tests in nth-child-of-backtracking-adjacent-2.html test backtracking inside :nth-chlid(of).

        * fast/selectors/nth-child-of-boundaries-1-expected.txt: Added.
        * fast/selectors/nth-child-of-boundaries-1.html: Added.
        * fast/selectors/nth-child-of-boundaries-2-expected.txt: Added.
        * fast/selectors/nth-child-of-boundaries-2.html: Added.
        * fast/selectors/nth-child-of-boundaries-3-expected.txt: Added.
        * fast/selectors/nth-child-of-boundaries-3.html: Added.
        Test various abuse of :nth-child(of).

        * fast/selectors/nth-child-of-chained-2-expected.txt: Added.
        * fast/selectors/nth-child-of-chained-2.html: Added.
        Test that disjoint :nth-child(of) are not agregated, unlike the old :nth-child().

        * fast/selectors/nth-child-of-has-parent-expected.txt: Added.
        * fast/selectors/nth-child-of-has-parent.html: Added.
        Make sure we don't optimize out the parent check when skipping filters that always match.

        * fast/selectors/nth-child-of-never-matching-selector-expected.txt: Added.
        * fast/selectors/nth-child-of-never-matching-selector.html: Added.
        Test code generation for things that never match.

        * fast/selectors/nth-child-of-with-invalid-An+B-expected.txt: Added.
        * fast/selectors/nth-child-of-with-invalid-An+B.html: Added.
        Test for useless variation of An+B that can never match anything.

2014-10-02  Roger Fong  <roger_fong@apple.com>

        [Windows] Skip a small handful of tests that fail consistently on Windows bots Part 2.

        * platform/win/TestExpectations: Typo, meant to skip the whole folder on Debug tests.

2014-10-02  Beth Dakin  <bdakin@apple.com>

        Marking flaky on Mavericks.

        * platform/mac/TestExpectations:

2014-10-02  Roger Fong  <roger_fong@apple.com>

        [Windows] Skip a small handful of tests that fail consistently on Windows bots.

        * platform/win/TestExpectations:

2014-10-02  Roger Fong  <roger_fong@apple.com>

        [Windows] Unskip media tests now that audio devices are installed on the bots.

        * platform/win/TestExpectations: There will likely still be a handful of failures left, which we will then skip.

2014-10-01  Myles C. Maxfield  <mmaxfield@apple.com>

        [Subpixel] Use floats instead of ints for text justification expansion
        https://bugs.webkit.org/show_bug.cgi?id=137327

        Reviewed by Zalan Bujtas.

        Rebaselining tests due to subpixel differences.

        * platform/mac/css1/box_properties/clear_float-expected.txt:
        * platform/mac/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/mac/css2.1/t1602-c546-txt-align-00-b-expected.txt:
        * platform/mac/fast/multicol/float-avoidance-expected.txt:
        * platform/mac/fast/multicol/overflow-across-columns-expected.txt:
        * platform/mac/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/mac/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/mac/fast/multicol/positive-leading-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-avoidance-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-avoidance-expected.txt:
        * platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
        * platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
        * platform/mac/fast/ruby/bopomofo-rl-expected.txt:
        * platform/mac/fast/text/hyphenate-character-expected.txt:
        * platform/mac/fast/text/hyphens-expected.txt:
        * platform/mac/fast/text/justified-selection-at-edge-expected.txt:
        * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.txt:
        * platform/mac/fast/text/justify-nbsp-expected.txt: Added.
        * platform/mac/fast/text/trailing-white-space-2-expected.txt:
        * platform/mac/fast/text/trailing-white-space-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tbody_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_td_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tfoot_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_thead_align_justify-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_tr_align_justify-expected.txt:

2014-10-02  Beth Dakin  <bdakin@apple.com>

        Marking test as flaky.

        * TestExpectations:

2014-10-02  Roger Fong  <roger_fong@apple.com>

        [ Windows ] More Windows test gardening to get bots green Part 4.

        * platform/win/TestExpectations: Hopefully the last batch of indiscriminate mass skipping.

2014-10-02  Krzysztof Czech  <k.czech@samsung.com>

        AX: Default orientation for aria scrollbars should be vertical
        https://bugs.webkit.org/show_bug.cgi?id=137341

        Reviewed by Chris Fleizach.

        Update expectation and test for having new test case.

        * accessibility/aria-scrollbar-role-expected.txt:
        * accessibility/aria-scrollbar-role.html:

2014-10-02  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening. Rebaseline after r174160.

        * platform/efl/fast/borders/bidi-002-expected.txt:
        * platform/efl/fast/borders/bidi-009a-expected.txt:

2014-10-02  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening. Add expected results after r174002 and r136484.

        * platform/efl/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
        * platform/efl/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
        * platform/efl/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.
        * platform/efl/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
        * platform/efl/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
        * platform/efl/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.

2014-10-01  Rik Cabanier  <cabanier@adobe.com>

        Add support for midpoint to CSS gradients
        https://bugs.webkit.org/show_bug.cgi?id=137171

        Reviewed by Darin Adler.

        Updated the CSS gradient test files so they test the
        gradient midpoint feature.

        * fast/gradients/unprefixed-color-stops2.html:
        * fast/gradients/unprefixed-gradient-parsing.html:
        * fast/gradients/unprefixed-linear-angle-gradients2.html:
        * fast/gradients/unprefixed-radial-gradients.html:
        * fast/gradients/unprefixed-radial-gradients2.html:
        * fast/gradients/unprefixed-repeating-linear-gradient.html:
        * fast/gradients/unprefixed-repeating-radial-gradients.html:

2014-10-01  Chris Dumez  <cdumez@apple.com>

        Add basic caching for Document.cookie API
        https://bugs.webkit.org/show_bug.cgi?id=137225

        Reviewed by Alexey Proskuryakov.

        Add a layout test to make sure that document.cookie returns updated
        results after cookies are set via a sync XHR.

        * http/tests/cookies/sync-xhr-set-cookie-invalidates-cache-expected.txt: Added.
        * http/tests/cookies/sync-xhr-set-cookie-invalidates-cache.html: Added.

2014-10-01  Roger Fong  <roger_fong@apple.com>

        [Windows] Mass skip all media tests until bots have audio devices to run them with.

        * platform/win/TestExpectations:

2014-10-01  Roger Fong  <roger_fong@apple.com>

        [ Windows ] More Windows test gardening to get bots green Part 3.

        * platform/win/TestExpectations: More indiscriminate mass skipping.

2014-10-01  Beth Dakin  <bdakin@apple.com>

        This expectation should be MoutainLion-only until we find evidence otherwise.

        * platform/mac/TestExpectations:

2014-10-01  Beth Dakin  <bdakin@apple.com>

        Another flaky-trashy test.

        * platform/mac/TestExpectations:

2014-10-01  Beth Dakin  <bdakin@apple.com>

        Yet another crash-flaky test.

        * TestExpectations:

2014-10-01  Beth Dakin  <bdakin@apple.com>

        Marking this test as CRASHY-flaky since it is.

        * platform/mac-wk2/TestExpectations:

2014-10-01  Beth Dakin  <bdakin@apple.com>

        Marking this test as trashy-flaky since it is.

        * platform/mac/TestExpectations:

2014-10-01  Roger Fong  <roger_fong@apple.com>

        [ Windows ] More Windows test gardening to get bots green Part 2.

        * platform/win/TestExpectations: More indiscriminate mass skipping.

2014-10-01  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r172172): Multiple regression tests fail when primary system language is Russian
        https://bugs.webkit.org/show_bug.cgi?id=136987

        Reviewed by Daniel Bates.

        These test changes are not strictly necessary to fix the issue, as I'm also adding
        a default to WebKitTestRunner. But it's nice to have tests work identically in WKTR
        and in a browser, for which it's necessary to have them specify charset.

        * accessibility/table-scope-expected.txt:
        * accessibility/table-scope.html:
        * fast/borders/bidi-002.html:
        * fast/borders/bidi-009a.html:
        * fast/frames/sandboxed-iframe-attribute-parsing-03-expected.txt:
        * fast/frames/sandboxed-iframe-attribute-parsing-03.html:
        * platform/mac/accessibility/table-headers-attribute-expected.txt:
        * platform/mac/accessibility/table-headers-attribute.html:
        * platform/mac/accessibility/table-with-zebra-rows-expected.txt:
        * platform/mac/accessibility/table-with-zebra-rows.html:
        * platform/mac/fast/borders/bidi-002-expected.png:
        * platform/mac/fast/borders/bidi-002-expected.txt:
        * platform/mac/fast/borders/bidi-009a-expected.png:
        * platform/mac/fast/borders/bidi-009a-expected.txt:
        * plugins/plugin-remove-subframe-expected.txt:
        * plugins/plugin-remove-subframe.html:
        These tests were actually expected to use UTF-8, so we used to be running them in
        an inconsequentially wrong way. 

        * fast/css/text-transform-select.html:
        * fast/encoding/high-bit-latin1.html:
        * fast/encoding/parser-tests-10.html:
        * fast/encoding/parser-tests-100.html:
        * fast/encoding/parser-tests-110.html:
        * fast/encoding/parser-tests-120.html:
        * fast/encoding/parser-tests-20.html:
        * fast/encoding/parser-tests-30.html:
        * fast/encoding/parser-tests-50.html:
        * fast/encoding/parser-tests-60.html:
        * fast/encoding/parser-tests-70.html:
        * fast/encoding/parser-tests-80.html:
        * fast/encoding/parser-tests-90.html:
        * fast/encoding/parser-tests.html:
        * fast/url/anchor.html:
        * fast/url/file-http-base.html:
        * fast/url/file.html:
        * fast/url/query.html:
        * fast/url/standard-url.html:
        * http/tests/misc/char-encoding-in-hidden-charset-field-default.html:
        * js/dom/regexp-overflow.html:
        * tables/mozilla_expected_failures/bugs/bug47163.html:
        Specified the encoding, windows-1252 is what we use for Latin1 and ISO-8859-1 alike.

2014-09-30  Roger Fong  <roger_fong@apple.com>

        [ Windows ] More Windows test gardening to get bots green.

        * platform/win/TestExpectations: More indiscriminate mass skipping.

2014-09-30  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Stack overflow with enormous SVG filter.
        https://bugs.webkit.org/show_bug.cgi?id=63290.

        Reviewed by Dean Jackson.

        Test if an SVG filter with deeply nested tree of FilterEffects can be loaded
        with no crash. Make sure other valid filters can still be referenced by SVG 
        drawing elements. An SVG Filter will be ignored if the number of effects in
        its map is greater than 200 or the total number of effects connected to its 
        last effect is greater than 100.

        * svg/filters/svg-deeply-nested-crash-expected.txt: Added.
        * svg/filters/svg-deeply-nested-crash.html: Added.

2014-09-30  Roger Fong  <roger_fong@apple.com>

        [ Windows ] More Windows test gardening to get bots green.

        * platform/win/TestExpectations:
        * platform/win/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt:

2014-09-30  Beth Dakin  <bdakin@apple.com>

        According to the history, this test has been very flaky. Marking as such.

        * platform/mac/TestExpectations:

2014-09-30  Roger Fong  <roger_fong@apple.com>

        [ Windows ] More Windows test gardening to get bots green.

        * platform/win/TestExpectations:
        * platform/win/fast/dom/navigator-detached-no-crash-expected.txt:

2014-09-30  Roger Fong  <roger_fong@apple.com>

        [Mac] Flaky test marked as failing in r174111 also needs to be marked as passing.

        * platform/mac/TestExpectations:

2014-09-30  Roger Fong  <roger_fong@apple.com>

        [Mac] Mark a flaky webgl conformance test as failing.

        * platform/mac/TestExpectations:

2014-08-01  Sergio Villar Senin  <svillar@igalia.com>

        Caret not shown at the end of line in overtype mode
        https://bugs.webkit.org/show_bug.cgi?id=135508

        Reviewed by Ryosuke Niwa.

        * editing/selection/block-cursor-overtype-mode-end-of-line-expected.html: Added.
        * editing/selection/block-cursor-overtype-mode-end-of-line-rtl-expected.html: Added.
        * editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html: Added.
        * editing/selection/block-cursor-overtype-mode-end-of-line.html: Added.

2014-09-29  David Hyatt  <hyatt@apple.com>

        REGRESSION (r168046): Confused column spans when combined with dynamic animations
        https://bugs.webkit.org/show_bug.cgi?id=134048.

        Reviewed by Dean Jackson.

        * fast/multicol/multicol-fieldset-span-changes-expected.txt: Added.
        * fast/multicol/multicol-fieldset-span-changes.html: Added.

2014-09-29  Roger Fong  <roger_fong@apple.com>

        [Windows] Skip some failing inspector tests following r174020.

        * platform/win/TestExpectations:

2014-09-29  Roger Fong  <roger_fong@apple.com>

        [Mac] Unreviewed. Missing test gardening from r174080.

        * accessibility/roles-computedRoleString-expected.txt:
        * accessibility/roles-computedRoleString.html:

2014-09-29  Roger Fong  <roger_fong@apple.com>

        [Mac] Unreviewed test gardening.

        These accessibility tests need to be changed following r174074.
        * accessibility/aria-labelledby-with-descendants-expected.txt:
        * accessibility/roles-computedRoleString.html:
        * platform/mac/TestExpectations: Some previously skipped inspector tests crash in debug configuration.

2014-09-29  Chris Fleizach  <cfleizach@apple.com>

        AX: in an aria-labelledby computation, do not traverse into elements whose nameFrom value does not include 'contents'
        https://bugs.webkit.org/show_bug.cgi?id=136714

        Reviewed by Darin Adler.

        * accessibility/aria-labelledby-with-descendants-expected.txt:
        * accessibility/aria-labelledby-with-descendants.html:
        * accessibility/aria-namefrom-author-expected.txt: Added.
        * accessibility/aria-namefrom-author.html: Added.

2014-09-29  Diego Pino Garcia  <dpino@igalia.com>

        Missing changes from r174049
        https://bugs.webkit.org/show_bug.cgi?id=137206

        Reviewed by Darin Adler.

        * js/number-constructor-expected.txt:
        * js/script-tests/number-constructor.js:

2014-09-29  Bruno de Oliveira Abinader  <bruno.d@partner.samsung.com>

        Revert "Support for :enabled selector on Anchor & Area elements"
        https://bugs.webkit.org/show_bug.cgi?id=134826

        Reviewed by Darin Adler.

        These layout tests are no longer correct after changes to the :enabled
        CSS selector specification.

        * fast/css/css-selector-enabled-links-expected.txt: Removed.
        * fast/css/css-selector-enabled-links.html: Removed.

2014-09-02  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Handle percentages of indefinite sizes in minmax() and grid-auto-*
        https://bugs.webkit.org/show_bug.cgi?id=136453

        Reviewed by Darin Adler.

        Added three new tests, one to verify that we do not assert with
        percentages inside minmax() and another two to verify that we
        properly compute the percentage of indefinite size in various
        situations both in grid-template-* properties and in
        grid-auto-{column|row} properties.

        Three other tests required minimum adjustments as they were using
        percentages of indefinite sizes inside minmax functions. In order
        to keep the original expected behavior some definite sizes were
        added.

        * fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
        * fast/css-grid-layout/grid-auto-columns-rows-update.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size-expected.txt: Added.
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-auto-expected.txt: Added.
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html: Added.
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash-expected.txt: Added.
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash.html: Added.
        * fast/css-grid-layout/percent-of-indefinite-track-size.html: Added.

2014-09-28  Diego Pino Garcia  <dpino@igalia.com>

        Simple ES6 feature: Number constructor extras
        https://bugs.webkit.org/show_bug.cgi?id=131707

        Reviewed by Darin Adler.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/number-constructor-expected.txt: Added.
        * js/number-constructor.html: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/number-constructor.js: Added.

2014-09-28  Sungmann Cho  <sungmann.cho@navercorp.com>

        Fix some minor typos: psuedo -> pseudo
        https://bugs.webkit.org/show_bug.cgi?id=137192

        Reviewed by Alexey Proskuryakov.

        * fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements-expected.txt:
        * fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements.html:
        * fast/dom/Window/getMatchedCSSRules-with-pseudo-elements-expected.txt:
        * fast/dom/Window/getMatchedCSSRules-with-pseudo-elements.html:
        * fast/selectors/159.html:
        * fast/selectors/160.html:
        * fast/selectors/166.html:
        * platform/efl/fast/selectors/166-expected.txt:
        * platform/gtk/fast/selectors/166-expected.txt:
        * platform/ios-sim/fast/selectors/166-expected.txt:
        * platform/mac/fast/selectors/166-expected.txt:

2014-09-26  Filip Pizlo  <fpizlo@apple.com>

        Disable function.arguments
        https://bugs.webkit.org/show_bug.cgi?id=137167

        Rubber stamped by Geoffrey Garen.
        
        Don't remove the tests for this, yet - but mark them as failing. We will rebase these,
        or remove them entirely, once we know that it's safe to rip out this feature entirely.

        * TestExpectations:

2014-09-27  Benjamin Poulain  <bpoulain@apple.com>

        Chaining multiple :nth-child() does not work properly
        https://bugs.webkit.org/show_bug.cgi?id=137032

        Reviewed by Gavin Barraclough.

        * fast/selectors/nth-child-chained-expected.txt: Added.
        * fast/selectors/nth-child-chained.html: Added.
        * fast/selectors/nth-child-of-chained-expected.txt: Added.
        * fast/selectors/nth-child-of-chained.html: Added.
        Those new tests target specifically the register reuse bug fixed by the patch.

        * fast/selectors/nth-child-basics-expected.txt: Added.
        * fast/selectors/nth-child-basics.html: Added.
        * fast/selectors/nth-child-of-basics-2-expected.txt: Added.
        * fast/selectors/nth-child-of-basics-2.html: Added.
        Those tests add coverage for the examples used by http://nthmaster.com. This is to increase
        the general test coverage.

        I added nth-child-of-basics-2.html instead of extending nth-child-of-basics.html because
        of the speed issue in debug without CSS JIT (otherwise the test can timeout).

2014-09-26  Yusuke Suzuki  <utatane.tea@gmail.com>

        Mark fast/selectors/nth-child-of-basics as Slow
        https://bugs.webkit.org/show_bug.cgi?id=137149

        Reviewed by Benjamin Poulain.

        Since there are many tests in fast/selectors/nth-child-of-basics,
        it takes long time and sometime LayoutTests timeout[1].

        [1]: https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20(Tests)/builds/3042

        * TestExpectations:
        Mark fast/selectors/nth-child-of-basics as Slow.

2014-09-26  Roger Fong  <roger_fong@apple.com>

        [Win] Unreviewed. More gardening on Windows tests.

        * platform/win/TestExpectations:
	Enable some css3 conditional tests that are now passing.
	Disable some failing hidpi tests since we don’t have hidpi test support on Windows.

2014-09-26  Roger Fong  <roger_fong@apple.com>

        [Mac] Some inspector tests time out following r173992.
        https://bugs.webkit.org/show_bug.cgi?id=137157

        * platform/mac/TestExpectations:

2014-09-23  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Fix the handling of infinity in track growth limits
        https://bugs.webkit.org/show_bug.cgi?id=137019

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt: Added.
        * fast/css-grid-layout/grid-content-sized-columns-resolution.html: Added.
        * fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt:

2014-09-26  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Fix support for the initial-letter CSS property to first-letter
        https://bugs.webkit.org/show_bug.cgi?id=137108

        Reviewed by Alejandro G. Castro.

        Add missing GTK test expectation files after http://webkit.org/b/136484

        * platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.

2014-09-26  Brian J. Burg  <burg@cs.washington.edu>

        Unreviewed gardening after r173992. Skip inspector/timelines/.

        * TestExpectations: mark inspector/timelines/ as Skip, since
        it seems to be running into unexplained nondeterminism similar to
        inspector/debugger/ tests. These should be investigated together.

2014-09-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, EFL gardening. Mark SVG 1.1 tests are flaky.

        * platform/efl/TestExpectations:

2014-09-25  Filip Pizlo  <fpizlo@apple.com>

        FTL should sink object allocations
        https://bugs.webkit.org/show_bug.cgi?id=136330

        Reviewed by Oliver Hunt.

        * js/math-denorm.html: Added.
        * js/regress/elidable-new-object-dag-expected.txt: Added.
        * js/regress/elidable-new-object-dag.html: Added.
        * js/regress/elidable-new-object-roflcopter-expected.txt: Added.
        * js/regress/elidable-new-object-roflcopter.html: Added.
        * js/regress/elidable-new-object-tree-expected.txt: Added.
        * js/regress/elidable-new-object-tree.html: Added.
        * js/regress/obvious-sink-pathology-expected.txt: Added.
        * js/regress/obvious-sink-pathology-taken-expected.txt: Added.
        * js/regress/obvious-sink-pathology-taken.html: Added.
        * js/regress/obvious-sink-pathology.html: Added.
        * js/regress/obviously-elidable-new-object-expected.txt: Added.
        * js/regress/obviously-elidable-new-object.html: Added.
        * js/regress/script-tests/elidable-new-object-dag.js: Added.
        (sumOfArithSeries):
        (foo):
        * js/regress/script-tests/elidable-new-object-roflcopter.js: Added.
        (sumOfArithSeries):
        (foo):
        * js/regress/script-tests/elidable-new-object-tree.js: Added.
        (sumOfArithSeries):
        (foo):
        * js/regress/script-tests/obvious-sink-pathology-taken.js: Added.
        (sumOfArithSeries):
        (bar):
        (foo):
        * js/regress/script-tests/obvious-sink-pathology.js: Added.
        (sumOfArithSeries):
        (bar):
        (foo):
        * js/regress/script-tests/obviously-elidable-new-object.js: Added.
        (sumOfArithSeries):
        (foo):
        * js/regress/script-tests/sinkable-new-object-dag.js: Added.
        (sumOfArithSeries):
        (verify):
        (foo):
        * js/regress/script-tests/sinkable-new-object-taken.js: Added.
        (sumOfArithSeries):
        (bar):
        (foo):
        * js/regress/script-tests/sinkable-new-object.js: Added.
        (sumOfArithSeries):
        (bar):
        (foo):
        * js/regress/sinkable-new-object-dag-expected.txt: Added.
        * js/regress/sinkable-new-object-dag.html: Added.
        * js/regress/sinkable-new-object-expected.txt: Added.
        * js/regress/sinkable-new-object-taken-expected.txt: Added.
        * js/regress/sinkable-new-object-taken.html: Added.
        * js/regress/sinkable-new-object.html: Added.

2014-09-25  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: FunctionCall timeline records omit profile data if the debugger has paused
        https://bugs.webkit.org/show_bug.cgi?id=136805

        Reviewed by Timothy Hatcher.

        Add a test to see that script timeline records contain profiles even when
        the debugger pauses during timeline capturing.

        * inspector/timeline/debugger-paused-while-recording-expected.txt: Added.
        * inspector/timeline/debugger-paused-while-recording.html: Added.
        * inspector/timeline/resources/timeline-helper.js: Added.
        (callFunction):
        (hook):

2014-09-25  Brian J. Burg  <burg@cs.washington.edu>

        StorageTracker::deleteOrigin being called off the main thread (ASSERTs in inspector/test-harness-trivially-works.html test)
        https://bugs.webkit.org/show_bug.cgi?id=129642

        Reviewed by Brady Eidson.

        Remove the blanket Skip for all tests in inspector/.

        * TestExpectations: clean up expectations for inspector/ and add new tracking bugs.

2014-09-25  Sungmann Cho  <sungmann.cho@navercorp.com>

        Unprefix CSS cursor values zoom-in and zoom-out.
        https://bugs.webkit.org/show_bug.cgi?id=137061

        Reviewed by Benjamin Poulain.

        Add test cases for zoom-in, zoom-out, -webkit-zoom-in, -webkit-zoom-out.

        * fast/css/cursor-parsing-expected.txt:
        * fast/css/cursor-parsing.html:

2014-09-25  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Skip quicktime-plugin-snapshotted.html 

        Quicktime plugin snapshotting is now covered by all other snapshotting tests 
        and this test in particular seems to fail only on a few bots.

        * platform/mac/TestExpectations:

2014-09-25  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Rename CSSKeyframesRule insertRule to appendRule (57910)
        https://bugs.webkit.org/show_bug.cgi?id=57910

        Reviewed by Dean Jackson.

        * animations/change-keyframes.html:
        -- Ensure both WebKitCSSKeyframesRule methods insertRule() and appendRule() are 
           both supported.

2014-09-25  Javier Fernandez  <jfernandez@igalia.com>

        ASSERTION FAILED: columnCount in WebCore::CSSParser::parseGridTemplateAreasRow
        https://bugs.webkit.org/show_bug.cgi?id=136945

        Reviewed by Sergio Villar Senin.

        Testing the different types of white-space only strings for the grid-template-areas
        property, which is not valid as it does not produce a cell token.

        * fast/css-grid-layout/grid-template-areas-empty-string-crash-expected.txt: Added.
        * fast/css-grid-layout/grid-template-areas-empty-string-crash.html: Added.

2014-09-25  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures after r173515 and r173582.
        * platform/gtk/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
        Update expectations after r173857.

2014-09-24  Darin Adler  <darin@apple.com>

        Old Turkic characters behave as left-to-right instead of right-to-left, because they are encoded as surrogate pairs.
        https://bugs.webkit.org/show_bug.cgi?id=70029

        Reviewed by Dan Bernstein.

        * fast/text/international/old-turkic-direction.html: Added.
        * fast/text/international/old-turkic-direction-expected.html: Added.

2014-09-22  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION: Text with a zero offset, zero blur shadow vanishes
        https://bugs.webkit.org/show_bug.cgi?id=136801

        Reviewed by Darin Adler.

        This test should be a comprehensive test of empty shadows. It tests every
        combination of one and two shadows being empty, as well as transparent and
        opaque text.

        After updating fast/text/empty-shadow.html, fast/text/empty-shadow-with-color.html
        is no longer necessary.

        * fast/text/empty-shadow-expected.html:
        * fast/text/empty-shadow-with-color-expected.html: Removed.
        * fast/text/empty-shadow-with-color.html: Removed.
        * fast/text/empty-shadow.html:

2014-09-24  Shivakumar JM  <shiva.jm@samsung.com>

        Add New Test for overrideMimeType in XMLHttpRequest.
        https://bugs.webkit.org/show_bug.cgi?id=137057

        Reviewed by Alexey Proskuryakov.

        As part of bug: https://bugs.webkit.org/show_bug.cgi?id=136699, add more tests to test overrideMimeType for all states.

        * http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror-expected.txt: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror.html: Added.

2014-09-24  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r173839.
        https://bugs.webkit.org/show_bug.cgi?id=137062

        NumberConstruct should no longer use static tables (Requested
        by dpino on #webkit).

        Reverted changeset:

        "Simple ES6 feature: Number constructor extras"
        https://bugs.webkit.org/show_bug.cgi?id=131707
        http://trac.webkit.org/changeset/173839

2014-09-24  Benjamin Poulain  <bpoulain@apple.com>

        Remove the style marking from :nth-child()
        https://bugs.webkit.org/show_bug.cgi?id=137055

        Reviewed by Andreas Kling.

        Add basic tests for style sharing with :nth-child().

        * fast/css/nth-child-style-sharing-even-expected.html: Added.
        * fast/css/nth-child-style-sharing-even.html: Added.
        * fast/css/nth-child-style-sharing-fixed-integer-expected.html: Added.
        * fast/css/nth-child-style-sharing-fixed-integer.html: Added.
        * fast/css/nth-child-style-sharing-odd-expected.html: Added.
        * fast/css/nth-child-style-sharing-odd.html: Added.

2014-09-23  Benjamin Poulain  <bpoulain@apple.com>

        The style resolution cache applies properties incorrectly whenever direction != ltr
        https://bugs.webkit.org/show_bug.cgi?id=137052

        Reviewed by Andreas Kling.

        * css3/flexbox/flex-flow-2-expected.txt: Added.
        * css3/flexbox/flex-flow-2.html: Added.
        The test flex-flow.html should have uncovered the bug. It did not because it uses
        :nth-child(), which disable style optimizations.

        flex-flow-2.html is a copy of flex-flow.html using classes instead of :nth-child().
        This would have caught the bug.

        * fast/css/style-resolver-cache-direction-1-expected.html: Added.
        * fast/css/style-resolver-cache-direction-1.html: Added.
        * fast/css/style-resolver-cache-direction-2-expected.html: Added.
        * fast/css/style-resolver-cache-direction-2.html: Added.
        * fast/css/style-resolver-cache-direction-3-expected.html: Added.
        * fast/css/style-resolver-cache-direction-3.html: Added.
        New basic tests for the fix.

2014-09-23  Roger Fong  <roger_fong@apple.com>

        [Windows] More windows test gardening of some fast/dom tests.

        * platform/win/TestExpectations:
        * platform/win/fast/dom/NavigatorContentUtils: Added.
        * platform/win/fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Added.
        * platform/win/fast/dom/navigator-detached-no-crash-expected.txt: Added.

2014-09-23  Eduardo Lima Mitev  <elima@igalia.com>

        [GTK] Adds implementation of subtle crypto HMAC algorithm
        https://bugs.webkit.org/show_bug.cgi?id=133320

        Reviewed by Philippe Normand.

        * platform/gtk/TestExpectations: Whitelists HMAC related tests that are passing

2014-09-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, rolling out r173864.

        It still make tests failes on EFL bots

        Reverted changeset:

        "Unreviewed, EFL gardening. Unskip media test on EFL port.
        Almost media tests"
        http://trac.webkit.org/changeset/173864

2014-09-23  Eduardo Lima Mitev  <elima@igalia.com>

        [GTK] Adds implementation of Subtle Crypto digest algorithms
        https://bugs.webkit.org/show_bug.cgi?id=133319

        Leaves all crypto/subtle tests skipped and whitelist only those related to
        digest algorithms (sha-*.html). When enough crypto algorithms are implemented,
        we can invert the approach and blacklist only those tests whose algorithms are
        not implemented.

        Reviewed by Philippe Normand.

        * platform/gtk/TestExpectations: Unskip tests for Subtle-Crypto digest algorithms.

2014-09-23  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] The composited layers isolated by the page group should blend with the default white background color.
        https://bugs.webkit.org/show_bug.cgi?id=136563

        Reviewed by Simon Fraser.

        * css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
        * css3/blending/blend-mode-body-composited-child-background-color-expected.html: Added.
        * css3/blending/blend-mode-body-composited-child-background-color.html: Added.
        * css3/blending/blend-mode-body-composited-child-expected.html: Added.
        * css3/blending/blend-mode-body-composited-child.html: Added.
        * css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
        * css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:

2014-09-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, EFL gardening. Unskip media test on EFL port. Almost media tests
        are passed except for some tests. Unfortunately what revision fixed this crash on media test.
        To maintain media test on EFL port again, this commit unskips those tests.

        * platform/efl/TestExpectations:

2014-09-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, EFL gardening. Unskip batterystatus, which doesn't come to crash anymore.

        * platform/efl/TestExpectations:

2014-09-22  Roger Fong  <roger_fong@apple.com>

        [Windows] More test expectation gardening.

        * platform/win/TestExpectations: Skip some failing image only failures, unskip some tests reported as now passing.

2014-09-22  Roger Fong  <roger_fong@apple.com>

        [Windows] More test expectation gardening.

        * platform/win/TestExpectations:

2014-09-22  Simon Fraser  <simon.fraser@apple.com>

        Move nodeFromPoint() back to Document where it belongs
        https://bugs.webkit.org/show_bug.cgi?id=137012

        Reviewed by Zalan Bujtas.
        
        All platforms use subpixel layout now, so remove the conditional behavior in this test.
        Fix the test to account for scaling now being done in layout units.

        * fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
        * fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html:
        * platform/mac/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:

2014-09-22  Benjamin Poulain  <bpoulain@apple.com>

        Split the test parsing-css-nth-child-of.html in 3
        https://bugs.webkit.org/show_bug.cgi?id=137013

        Rubber-stamped by Christophe Dumez.

        parsing-css-nth-child-of.html tends to be too slow in debug, causing timeout from time to time.

        The speed issues will be fixed once we JIT the selector. Since it will take a while before the JIT is ready,
        this patch splits the test in three to avoid timeouts on the bots.

        * fast/css/parsing-css-nth-child-of-1-expected.txt: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of-expected.txt.
        * fast/css/parsing-css-nth-child-of-1.html: Added.
        * fast/css/parsing-css-nth-child-of-2-expected.txt: Added.
        * fast/css/parsing-css-nth-child-of-2.html: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of.html.
        * fast/css/parsing-css-nth-child-of-3-expected.txt: Added.
        * fast/css/parsing-css-nth-child-of-3.html: Added.

2014-09-22  Benjamin Poulain  <bpoulain@apple.com>

        Add the baseline implementation of :nth-child(An+B of selector-list)
        https://bugs.webkit.org/show_bug.cgi?id=136975

        Reviewed by Darin Adler.

        * fast/css/nth-child-of-classname-expected.html: Added.
        * fast/css/nth-child-of-classname.html: Added.
        * fast/css/nth-child-of-complex-selector-expected.html: Added.
        * fast/css/nth-child-of-complex-selector.html: Added.
        * fast/css/nth-child-of-compound-selector-expected.html: Added.
        * fast/css/nth-child-of-compound-selector.html: Added.
        * fast/css/nth-child-of-tagname-expected.html: Added.
        * fast/css/nth-child-of-tagname.html: Added.
        Cover basic styling and style sharing.

        * fast/selectors/nth-child-of-basics-expected.txt: Added.
        * fast/selectors/nth-child-of-basics.html: Added.
        * fast/selectors/nth-child-of-complex-selectors-expected.txt: Added.
        * fast/selectors/nth-child-of-complex-selectors.html: Added.
        * fast/selectors/nth-child-of-selector-list-expected.txt: Added.
        * fast/selectors/nth-child-of-selector-list.html: Added.
        Cover querySelector and styling of various cases.

        * fast/selectors/nth-child-of-class-style-update-expected.txt: Added.
        * fast/selectors/nth-child-of-class-style-update.html: Added.
        Basic case of style invalidation.

2014-09-22  David Hyatt  <hyatt@apple.com>

        Bad cast in isValidColumnSpanner.
        https://bugs.webkit.org/show_bug.cgi?id=133380.

        Reviewed by Simon Fraser.

        * fast/multicol/multicol-crazy-nesting-expected.txt: Added.
        * fast/multicol/multicol-crazy-nesting.html: Added.

2014-09-22  David Hyatt  <hyatt@apple.com>

        ASSERT in RenderMultiColumnSet::requiresBalancing.
        https://bugs.webkit.org/show_bug.cgi?id=136376.

        Reviewed by David Kilzer.

        * fast/multicol/multicol-selection-expected.txt: Added.
        * fast/multicol/multicol-selection.html: Added.

2014-09-22  Diego Pino Garcia  <dpino@igalia.com>

        Simple ES6 feature: Number constructor extras
        https://bugs.webkit.org/show_bug.cgi?id=131707

        Reviewed by Darin Adler.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/number-constructor-expected.txt: Added.
        * js/number-constructor.html: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/number-constructor.js: Added.

2014-09-17  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] Cannot play Vimeo video
        https://bugs.webkit.org/show_bug.cgi?id=134969

        Reviewed by Sergio Villar Senin.

        New test for a HLS stream enforcing a specific cookie before
        serving its fragments, like Vimeo does.

        * http/tests/media/hls/video-cookie-expected.txt: Added.
        * http/tests/media/hls/video-cookie.html: Added.
        * http/tests/media/resources/hls/playlist-with-cookie.m3u8: Added.
        * http/tests/media/resources/hls/sub-playlist-with-cookie.php: Added.
        * http/tests/media/resources/video-cookie-check-cookie.php:
        * platform/gtk/TestExpectations: Marked test as slow, as the other
        HLS test.

2014-09-22  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Assertion failure and null dereference crash when using animations and regions
        https://bugs.webkit.org/show_bug.cgi?id=136918

        Reviewed by Andrei Bucur.

        * fast/regions/animated-image-in-region-expected.txt: Added.
        * fast/regions/animated-image-in-region.html: Added.

2014-09-19  Brent Fulgham  <bfulgham@apple.com>

        Latching in iframes is not working as expected
        https://bugs.webkit.org/show_bug.cgi?id=136729
        <rdar://problem/18370549>

        Reviewed by Simon Fraser.

        * platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug-expected.txt: Added.
        * platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug.html: Added.

2014-09-19  Jer Noble  <jer.noble@apple.com>

        Videos with controls enabled never receive 'dragstart' events.
        https://bugs.webkit.org/show_bug.cgi?id=136837

        Reviewed by Sam Weinig.

        * media/video-controls-drag-expected.txt: Added.
        * media/video-controls-drag.html: Added.

2014-09-19  Diego Pino Garcia  <dpino@igalia.com>

        Simple ES6 feature:String prototype additions
        https://bugs.webkit.org/show_bug.cgi?id=131704

        Reviewed by Darin Adler.

        Test ES6 functions: string.startsWith(), string.endsWith() and
        string.contains().

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/string-contains.js: Added.
        (stringToSearchIn.toString):
        (startOffset.valueOf):
        (matchString.toString):
        (endOffset.valueOf):
        * js/string-contains-expected.txt: Added.
        * js/string-contains.html: Added.

2014-09-19  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        WTR and DRT didReceiveAuthenticationChallengeInFrame should print messages consistently
        https://bugs.webkit.org/show_bug.cgi?id=136847

        Updated WK2 expected.txt files according new logging of didReceiveAuthenticationChallengeInFrame.
        Factorized efl/gtk platform specific expected files as WK2 expected files. 

        Reviewed by Alexey Proskuryakov.

        * platform/gtk/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt: Removed.
        * platform/gtk/http/tests/loading/basic-credentials-sent-automatically-expected.txt: Removed.
        * platform/gtk/http/tests/media/video-auth-expected.txt: Removed.
        * platform/gtk/http/tests/misc/401-alternative-content-expected.txt: Removed.
        * platform/gtk/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt: Removed.
        * platform/gtk/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt: Removed.
        * platform/gtk/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Removed.
        * platform/gtk/http/tests/security/401-logout/401-logout-expected.txt: Removed.
        * platform/gtk/http/tests/xmlhttprequest/failed-auth-expected.txt: Removed.
        * platform/gtk/http/tests/xmlhttprequest/remember-bad-password-expected.txt: Removed.
        * platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt:
        * platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
        * platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:
        * platform/wk2/http/tests/media/video-auth-expected.txt: Renamed from LayoutTests/platform/efl/http/tests/media/video-auth-expected.txt.
        * platform/wk2/http/tests/misc/401-alternative-content-expected.txt:
        * platform/wk2/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt:
        * platform/wk2/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt:
        * platform/wk2/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt:
        * platform/wk2/http/tests/security/401-logout/401-logout-expected.txt:
        * platform/wk2/http/tests/xmlhttprequest/failed-auth-expected.txt:
        * platform/wk2/http/tests/xmlhttprequest/remember-bad-password-expected.txt:

2014-09-18  Daniel Bates  <dabates@apple.com>

        REGRESSION (r168921): SVG elements may be unnecessarily rebuilt
        https://bugs.webkit.org/show_bug.cgi?id=136373

        Reviewed by David Kilzer.

        Add a test to ensure that we don't rebuild a SVG element that will be removed from the document.

        * svg/custom/remove-subtree-including-use-with-child-textpath-that-references-earlier-path-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-child-textpath-that-references-earlier-path.html: Added.

2014-09-18  Benjamin Poulain  <bpoulain@apple.com>

        CSS JIT: The backtracking register can be ignored from the minimumRegisterRequirements
        https://bugs.webkit.org/show_bug.cgi?id=136906
        rdar://problem/18368294

        Reviewed by Darin Adler.

        * fast/selectors/nth-child-with-backtracking-expected.txt:
        * fast/selectors/nth-child-with-backtracking.html:
        The use case is well covered by existing tests. This is updating the backtracking test
        with a simpler selector similar to the one in the bug report.

2014-09-18  Roger Fong  <roger_fong@apple.com>

        Don’t skip all the media tests on Windows.

        * platform/win/TestExpectations:

2014-09-18  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Windows rebaselining to account for subpixel layout Part 3.

        * platform/win/css1/box_properties/acid_test-expected.txt: Added.
        * platform/win/fast/block/margin-collapse: Added.
        * platform/win/fast/block/margin-collapse/103-expected.txt: Added.
        * platform/win/fast/css/empty-pseudo-class-expected.txt:
        * platform/win/fast/css/first-child-pseudo-class-expected.txt:
        * platform/win/fast/css/last-child-pseudo-class-expected.txt:
        * platform/win/fast/css/only-child-pseudo-class-expected.txt:
        * platform/win/fast/forms/basic-inputs-expected.txt: Added.
        * platform/win/fast/forms/file/file-input-direction-expected.txt:
        * platform/win/fast/forms/formmove-expected.txt: Added.
        * platform/win/fast/forms/formmove2-expected.txt: Added.
        * platform/win/fast/repaint/reflection-redraw-expected.txt:
        * platform/win/fast/replaced/width100percent-button-expected.txt:
        * platform/win/fast/ruby/bopomofo-expected.txt: Added.
        * platform/win/fast/ruby/bopomofo-letter-spacing-expected.txt: Added.
        * platform/win/fast/ruby/bopomofo-rl-expected.txt: Added.
        * platform/win/fast/table/multiple-captions-display-expected.txt:

2014-09-17  Roger Fong  <roger_fong@apple.com>

        [Windows] Unreviewed rebaselining of some failing JS tests.

        * platform/win/js/dom/deep-recursion-test-expected.txt: Added.
        * platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt:

2014-09-17  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Use a power-of-2 image size instead so that WebGL tests won’t complain.

        * fast/canvas/image-potential-subsample.html:
        * fast/canvas/resources/image-6400x6400.jpg: Copied from fast/canvas/resources/image-8000x8000.jpg.
        * fast/canvas/resources/image-8000x8000.jpg: Removed.
        * fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-potentially-subsampled-image.js:
        (.init):

2014-09-17  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Windows rebaselining to account for subpixel layout Part 2.

        * platform/win/editing/apply-style-iframe-crash-expected.txt: Added.
        * platform/win/editing/selection/move-left-right-expected.txt:
        * platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
        * platform/win/tables/mozilla/bugs/bug4527-expected.txt: Added.
        * platform/win/tables/mozilla/marvin/body_col-expected.txt:
        * platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/win/tables/mozilla/other/body_col-expected.txt:
        * platform/win/tables/mozilla_expected_failures/core: Added.
        * platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt: Added.
        * platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt: Added.

2014-09-17  Roger Fong  <roger_fong@apple.com>

        [Windows] Unreviewed gardening. Content Security Policy 1.1 (ENABLE_CSP_NEXT) is not enabled

        * platform/win/TestExpectations: Tests sometimes crash or timeout in addition to just failing.

2014-09-17  Benjamin Poulain  <bpoulain@apple.com>

        Add parsing for :nth-child(An+B of selector)
        https://bugs.webkit.org/show_bug.cgi?id=136845

        Reviewed by Antti Koivisto.

        * fast/css/parsing-css-nth-child-of-expected.txt: Added.
        * fast/css/parsing-css-nth-child-of.html: Added.
        Two new tests to cover the new syntax.

        * fast/css/css-selector-text-expected.txt:
        * fast/css/css-selector-text.html:
        * fast/css/css-set-selector-text-expected.txt:
        * fast/css/css-set-selector-text.html:
        The usual tests for CSS OM.

2014-09-17  Benjamin Poulain  <bpoulain@apple.com>

        CSS value in whitespace-separated list attribute selector (~=) mishandles tab/newline/etc.
        https://bugs.webkit.org/show_bug.cgi?id=136807

        Reviewed by Antti Koivisto.

        * fast/selectors/attr-list-01-expected.html: Added.
        * fast/selectors/attr-list-01.html: Added.
        This test is from a similar fix from Opera for the blink fork.
        Review URL: https://chromiumcodereview.appspot.com/14980012
        No other part of that patch is included.

        * fast/selectors/attribute-list-with-whitespace-in-selector-expected.txt: Added.
        * fast/selectors/attribute-list-with-whitespace-in-selector.html: Added.
        Test whitespace characters in the selector itself.

        * fast/selectors/attribute-list-with-whitespace-in-value-expected.txt: Added.
        * fast/selectors/attribute-list-with-whitespace-in-value.html: Added.
        Test whitespace characters in the attribute value.

2014-09-16  Yusuke Suzuki  <utatane.tea@gmail.com>

        filterRootById accidentally clears inAdjacentChain flag
        https://bugs.webkit.org/show_bug.cgi?id=136851

        Reviewed by Benjamin Poulain.

        When SubSelector comes, `inAdjacentChain` flag is cleared to false.
        So for example, `document.querySelector("span#id + ok")` doesn't work correctly.
        In this patch, we handles SubSelector relation correctly; don't change `inAdjacentChain` flag
        to filter the right search root node.

        * fast/selectors/filter-root-node-with-selector-contains-adjacents-expected.txt: Added.
        * fast/selectors/filter-root-node-with-selector-contains-adjacents.html: Added.

2014-09-16  Yusuke Suzuki  <utatane.tea@gmail.com>

        Promise: Drop Promise.cast
        https://bugs.webkit.org/show_bug.cgi?id=136222

        Reviewed by Sam Weinig.

        Promise.cast is dropped and Promise.resolve is replaced with old Promise.cast.

        * js/dom/Promise-static-cast-expected.txt: Removed.
        * js/dom/Promise-static-cast.html: Removed.
        * js/dom/Promise-static-resolve-expected.txt:
        * js/dom/Promise-static-resolve.html:
        * js/dom/Promise-types-expected.txt:
        * js/dom/Promise-types.html:

2014-09-16  Myles C. Maxfield  <mmaxfield@apple.com>

        Make spelling tests more reliable by using a word that is misspelled everywhere
        https://bugs.webkit.org/show_bug.cgi?id=136865

        Reviewed by Simon Fraser.

        Some platforms recognize "wellcome" as spelled correctly.

        * editing/spelling/context-menu-suggestions.html:
        * editing/spelling/spelling-with-punctuation-selection-expected.txt:
        * editing/spelling/spelling-with-punctuation-selection.html:

2014-09-16  Roger Fong  <roger_fong@apple.com>

        [Win] Unreviewed. Skip failing WebGL conformance test.

        * platform/win/TestExpectations:

2014-09-14  Darin Adler  <darin@apple.com>

        Scroll snap properties do not handle inherit and initial properly.
        https://bugs.webkit.org/show_bug.cgi?id=136643

        Reviewed by Beth Dakin.

        * css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Added
        expected passing results from new tests.
        * css3/scroll-snap/scroll-snap-property-computed-style.js: Added new test
        cases that cover inherit and initial. Before, these would crash or fail.

        * css3/scroll-snap/scroll-snap-property-parsing-expected.txt: Added expected
        passing results from new tests, and also updated to expect pass rather than
        fail for the tests that had incorrect expected results.

        * css3/scroll-snap/scroll-snap-property-parsing.js: Added new test cases that
        cover inherit and initial. Also updated expected results for certain pixel
        repeat cases that were incorrect.

        * platform/mac/TestExpectations: Fixed an unrelated syntax error in this file.

2014-09-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [GStreamer] http/tests/media/video-auth.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=126619

        Reviewed by Philippe Normand.

        * platform/efl/TestExpectations: Removed failure expectation for http/tests/media/video-auth.html.
        * platform/efl/http/tests/media/video-auth-expected.txt: Added.
        * platform/gtk/TestExpectations: Removed failure expectation for http/tests/media/video-auth.html.
        * platform/gtk/http/tests/media/video-auth-expected.txt: Added.

2014-09-16  Jinho Bang  <jinho.bang@samsung.com>

        Add version of drawFocusIfNeeded that take a Path2D parameter.
        https://bugs.webkit.org/show_bug.cgi?id=136846

        Reviewed by Dirk Schulze.

        * fast/canvas/draw-focus-if-needed-expected.txt: Added.
        * fast/canvas/draw-focus-if-needed-with-path-expected.txt: Added.
        * fast/canvas/draw-focus-if-needed-with-path.html: Added.
        * fast/canvas/draw-focus-if-needed.html: Added.

2014-09-15  Roger Fong  <roger_fong@apple.com>

        Unreviewed Windows gardening. fast/forms/label test expectations now match Mac platform's expectations.

        * platform/win/fast/forms/label: Removed.
        * platform/win/fast/forms/label/labelable-elements-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-add-htmlFor-label-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-add-parent-label-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-change-htmlFor-attribute-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-multiple-sibling-labels-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-parent-and-sibling-labels-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-remove-htmlFor-attribute-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-remove-htmlFor-label-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-remove-parent-label-expected.txt: Removed.
        * platform/win/fast/forms/label/labels-set-htmlFor-attribute-expected.txt: Removed.

2014-09-15  Shivakumar JM  <shiva.jm@samsung.com>

        Web Core: Websocket state should be set to closed in didReceiveMessage call back.
        https://bugs.webkit.org/show_bug.cgi?id=136219

        Reviewed by Alexey Proskuryakov.

        Added test to check readyState is CLOSED within onerror event.

        * http/tests/websocket/tests/hybi/error-event-ready-state-expected.txt: Added.
        * http/tests/websocket/tests/hybi/error-event-ready-state.html: Added.

2014-09-15  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Windows rebaselining to account for subpixel layout Part 1.

        * platform/win/editing/selection/move-left-right-expected.txt:
        * platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
        * platform/win/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
        * platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
        * platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
        * platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
        * platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
        * platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/win/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:

2014-09-15  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Skip initial-letter tests on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=136841

        * platform/win/TestExpectations:

2014-09-15  Roger Fong  <roger_fong@apple.com>

        Change all snapshotting tests to use quicktime.

        * platform/mac-wk2/TestExpectations:
        * platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-expected.txt:
        * plugins/snapshotting/autoplay-dominant-blank-plugin-moved-into-view.html:
        * plugins/snapshotting/autoplay-dominant.html:
        * plugins/snapshotting/autoplay-plugin-blocked-by-image.html:
        * plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html:
        * plugins/snapshotting/autoplay-similar-to-dominant.html:
        * plugins/snapshotting/plugin-receives-click-event.html:
        * plugins/snapshotting/restart.html:
        * plugins/snapshotting/set-plugin-size-to-tiny.html:
        * plugins/snapshotting/simple.html:
        * plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:

2014-08-07  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Sort items by span when resolving content-based track sizing functions
        https://bugs.webkit.org/show_bug.cgi?id=135701

        Reviewed by Darin Adler.

        Tests that check that items are sorted by span to resolve content
        based track sizing functions instead of directly using DOM order.

        * fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Added.
        * fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html: Added.

2014-09-12  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Crash at CSSParser::parseGridTemplateRowsAndAreas
        https://bugs.webkit.org/show_bug.cgi?id=136778

        Reviewed by Darin Adler.

        Added some new test cases to verify that we properly handle empty
        lists of grid line names.

        * fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
        * fast/css-grid-layout/grid-template-shorthand-get-set.html:

2014-09-10  Jon Honeycutt  <jhoneycutt@apple.com>

        Re-add the request autocomplete feature

        <https://bugs.webkit.org/show_bug.cgi?id=136730>

        This feature was rolled out in r148731 because it was only used by
        Chromium. As we consider supporting this feature, roll it back in, but
        leave it disabled.

        This rolls out r148731 (which removed the feature) with small changes
        needed to make the code build in ToT, to match modern style, to make
        the tests run, and to remove unused code.

        Reviewed by Andy Estes.

        * fast/events/constructors/autocomplete-error-event-constructor-expected.txt: Added.
        * fast/events/constructors/autocomplete-error-event-constructor.html: Added.
        * fast/events/event-creation.html:
        * fast/forms/form-request-autocomplete-expected.txt: Added.
        * fast/forms/form-request-autocomplete.html: Added.
        * js/dom/constructor-length.html:
        * platform/efl/js/dom/constructor-length-expected.txt:
        * platform/gtk/js/dom/constructor-length-expected.txt:

2014-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>

        Add -webkit-appearance and pseudo element tests for quirks mode
        https://bugs.webkit.org/show_bug.cgi?id=136366

        Reviewed by Benjamin Poulain.

        * fast/css/appearance-with-pseudo-elements-expected.html:
        -webkit-appearance in OSX affects the ::first-letter related style informations (such as font).
        So expected.html also requires these styles.
        * fast/css/appearance-with-pseudo-elements-in-quirks-mode-expected.html: Added.
        * fast/css/appearance-with-pseudo-elements-in-quirks-mode.html: Added.

2014-09-12  Vivek Galatage  <vivek.vg@samsung.com>

        CanvasRenderingContext2D should update the computed style while setting the font
        https://bugs.webkit.org/show_bug.cgi?id=136737

        Reviewed by Darin Adler.

        * fast/canvas/canvas-set-font-with-updated-style-expected.txt: Added.
        * fast/canvas/canvas-set-font-with-updated-style.html: Added.

2014-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: Apply CSS JIT to SelectorQuery with multiple selectors
        https://bugs.webkit.org/show_bug.cgi?id=135255

        Reviewed by Benjamin Poulain.

        * fast/selectors/querySelector-multiple-selectors-expected.txt: Added.
        * fast/selectors/querySelector-multiple-selectors.html: Added.

2014-09-12  Jer Noble  <jer.noble@apple.com>

        Unreviewed gardening.

        - Unskip some passing tests.
        - Move flakey tests into flakey test section.
        - Move non-media tests out of the media section.
        - Mark WontFix tests as such.

        * platform/mac/TestExpectations:
        * platform/mac/media/W3C/audio/canPlayType/canPlayType_supported_but_no_codecs_parameter_2-expected.txt: Removed.
        * platform/mac/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_3-expected.txt: Removed.

2014-09-12  Dean Jackson  <dino@apple.com>

        Import (some of) the W3C CSSWG flexbox tests
        https://bugs.webkit.org/show_bug.cgi?id=136787
        <rdar://problem/18325725>

        Reviewed by Benjamin Poulain.

        Take most of the tests from http://test.csswg.org/suites/css3-flexbox/nightly-unstable/html/toc.htm
        and import them into LayoutTests.

        I had to rearrange some things to follow our testing approach,
        and I only included the ref tests. There are a handful of failures,
        marked in TestExpectations, and tracked by:
        https://bugs.webkit.org/show_bug.cgi?id=136754

        * TestExpectations:
        * css3/flexbox/csswg/Flexible-order-expected.html: Added.
        * css3/flexbox/csswg/Flexible-order.html: Added.
        * css3/flexbox/csswg/align-content-001-expected.html: Added.
        * css3/flexbox/csswg/align-content-001.html: Added.
        * css3/flexbox/csswg/css-box-justify-content-expected.html: Added.
        * css3/flexbox/csswg/css-box-justify-content.html: Added.
        * css3/flexbox/csswg/css-flexbox-column-expected.html: Added.
        * css3/flexbox/csswg/css-flexbox-column.html: Added.
        * css3/flexbox/csswg/css-flexbox-height-animation-stretch-expected.html: Added.
        * css3/flexbox/csswg/css-flexbox-height-animation-stretch.html: Added.
        * css3/flexbox/csswg/css-flexbox-img-expand-evenly-expected.html: Added.
        * css3/flexbox/csswg/css-flexbox-img-expand-evenly.html: Added.
        * css3/flexbox/csswg/css-flexbox-row-expected.html: Added.
        * css3/flexbox/csswg/css-flexbox-row.html: Added.
        * css3/flexbox/csswg/css-flexbox-test1-expected.html: Added.
        * css3/flexbox/csswg/css-flexbox-test1.html: Added.
        * css3/flexbox/csswg/flex-align-items-center-expected.html: Added.
        * css3/flexbox/csswg/flex-align-items-center.html: Added.
        * css3/flexbox/csswg/flex-box-wrap-expected.html: Added.
        * css3/flexbox/csswg/flex-box-wrap.html: Added.
        * css3/flexbox/csswg/flex-container-margin-expected.html: Added.
        * css3/flexbox/csswg/flex-container-margin.html: Added.
        * css3/flexbox/csswg/flex-direction-expected.html: Added.
        * css3/flexbox/csswg/flex-direction-modify-expected.html: Added.
        * css3/flexbox/csswg/flex-direction-modify.html: Added.
        * css3/flexbox/csswg/flex-direction-with-element-insert-expected.html: Added.
        * css3/flexbox/csswg/flex-direction-with-element-insert.html: Added.
        * css3/flexbox/csswg/flex-direction-with-element-insert.html-expected.html: Added.
        * css3/flexbox/csswg/flex-direction.html: Added.
        * css3/flexbox/csswg/flex-direction.html-expected.html: Added.
        * css3/flexbox/csswg/flex-flexitem-childmargin-expected.html: Added.
        * css3/flexbox/csswg/flex-flexitem-childmargin.html: Added.
        * css3/flexbox/csswg/flex-flexitem-percentage-prescation-expected.html: Added.
        * css3/flexbox/csswg/flex-flexitem-percentage-prescation.html: Added.
        * css3/flexbox/csswg/flex-flow-001-expected.html: Added.
        * css3/flexbox/csswg/flex-flow-001.html: Added.
        * css3/flexbox/csswg/flex-flow-002-expected.html: Added.
        * css3/flexbox/csswg/flex-flow-002.html: Added.
        * css3/flexbox/csswg/flex-flow-007-expected.html: Added.
        * css3/flexbox/csswg/flex-flow-007.html: Added.
        * css3/flexbox/csswg/flex-items-flexibility-expected.html: Added.
        * css3/flexbox/csswg/flex-items-flexibility.html: Added.
        * css3/flexbox/csswg/flex-items-flexibility.html-expected.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-column-reverse-expected.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-column-reverse.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-row-reverse-expected.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-row-reverse.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-with-column-reverse-expected.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-with-column-reverse.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-with-row-reverse-expected.html: Added.
        * css3/flexbox/csswg/flex-lines/multi-line-wrap-with-row-reverse.html: Added.
        * css3/flexbox/csswg/flex-margin-no-collapse-expected.html: Added.
        * css3/flexbox/csswg/flex-margin-no-collapse.html: Added.
        * css3/flexbox/csswg/flex-order-expected.html: Added.
        * css3/flexbox/csswg/flex-order.html: Added.
        * css3/flexbox/csswg/flex-vertical-align-effect-expected.html: Added.
        * css3/flexbox/csswg/flex-vertical-align-effect.html: Added.
        * css3/flexbox/csswg/flex-vertical-align-effect.html-expected.html: Added.
        * css3/flexbox/csswg/flexbox-flex-wrap-flexing-expected.html: Added.
        * css3/flexbox/csswg/flexbox-flex-wrap-flexing.html: Added.
        * css3/flexbox/csswg/flexbox-flex-wrap-nowrap-expected.html: Added.
        * css3/flexbox/csswg/flexbox-flex-wrap-nowrap.html: Added.
        * css3/flexbox/csswg/flexbox_absolute-atomic-expected.html: Added.
        * css3/flexbox/csswg/flexbox_absolute-atomic.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-center-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-center.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-flexend-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-flexend.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-flexstart-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-flexstart.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-spacearound-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-spacearound.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-spacebetween-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-spacebetween.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-stretch-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-stretch-2.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-stretch-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-content-stretch.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-baseline-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-baseline.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-center-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-center-2.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-center-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-center.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexend-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexend-2.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexend-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexend.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexstart-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexstart-2.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexstart-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-flexstart.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-stretch-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-stretch-2.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-stretch-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-items-stretch.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-auto.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-baseline-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-baseline.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-center-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-center.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-flexend-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-flexend.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-flexstart-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-flexstart.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-stretch-expected.html: Added.
        * css3/flexbox/csswg/flexbox_align-self-stretch.html: Added.
        * css3/flexbox/csswg/flexbox_box-clear-expected.html: Added.
        * css3/flexbox/csswg/flexbox_box-clear.html: Added.
        * css3/flexbox/csswg/flexbox_columns-expected.html: Added.
        * css3/flexbox/csswg/flexbox_columns-flexitems-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_columns-flexitems-2.html: Added.
        * css3/flexbox/csswg/flexbox_columns-flexitems-expected.html: Added.
        * css3/flexbox/csswg/flexbox_columns-flexitems.html: Added.
        * css3/flexbox/csswg/flexbox_columns.html: Added.
        * css3/flexbox/csswg/flexbox_direction-column-expected.html: Added.
        * css3/flexbox/csswg/flexbox_direction-column-reverse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_direction-column-reverse.html: Added.
        * css3/flexbox/csswg/flexbox_direction-column.html: Added.
        * css3/flexbox/csswg/flexbox_direction-row-reverse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_direction-row-reverse.html: Added.
        * css3/flexbox/csswg/flexbox_display-expected.html: Added.
        * css3/flexbox/csswg/flexbox_display.html: Added.
        * css3/flexbox/csswg/flexbox_empty-expected.html: Added.
        * css3/flexbox/csswg/flexbox_fbfc-expected.html: Added.
        * css3/flexbox/csswg/flexbox_fbfc.html: Added.
        * css3/flexbox/csswg/flexbox_fbfc2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_fbfc2.html: Added.
        * css3/flexbox/csswg/flexbox_first-line-expected.html: Added.
        * css3/flexbox/csswg/flexbox_first-line.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-0-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-1-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-0-N-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-0-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-1-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-1-N-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-0-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-1-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-0-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-0.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-N-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-N-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-N-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-N.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-Npercent-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-Npercent-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-Npercent-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-Npercent.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-auto-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-auto-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-N-N-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-basis-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-basis-shrink-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-basis-shrink.html: Added.
        * css3/flexbox/csswg/flexbox_flex-basis.html: Added.
        * css3/flexbox/csswg/flexbox_flex-formatting-interop-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-formatting-interop.html: Added.
        * css3/flexbox/csswg/flexbox_flex-initial-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-initial-2.html: Added.
        * css3/flexbox/csswg/flexbox_flex-initial-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-initial.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-mixed-basis.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-variable-auto-basis-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-variable-auto-basis.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-variable-zero-basis-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural-variable-zero-basis.html: Added.
        * css3/flexbox/csswg/flexbox_flex-natural.html: Added.
        * css3/flexbox/csswg/flexbox_flex-none-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flex-none.html: Added.
        * css3/flexbox/csswg/flexbox_flex-unitless-basis-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-reverse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-reverse.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-reverse-wrap.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-wrap-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-wrap-reverse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-wrap-reverse.html: Added.
        * css3/flexbox/csswg/flexbox_flow-column-wrap.html: Added.
        * css3/flexbox/csswg/flexbox_flow-row-wrap-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flow-row-wrap-reverse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_flow-row-wrap-reverse.html: Added.
        * css3/flexbox/csswg/flexbox_flow-row-wrap.html: Added.
        * css3/flexbox/csswg/flexbox_generated-container-expected.html: Added.
        * css3/flexbox/csswg/flexbox_generated-container.html: Added.
        * css3/flexbox/csswg/flexbox_generated-expected.html: Added.
        * css3/flexbox/csswg/flexbox_generated-flex-expected.html: Added.
        * css3/flexbox/csswg/flexbox_generated-flex.html: Added.
        * css3/flexbox/csswg/flexbox_generated.html: Added.
        * css3/flexbox/csswg/flexbox_inline-expected.html: Added.
        * css3/flexbox/csswg/flexbox_inline.html: Added.
        * css3/flexbox/csswg/flexbox_item-bottom-float-expected.html: Added.
        * css3/flexbox/csswg/flexbox_item-bottom-float.html: Added.
        * css3/flexbox/csswg/flexbox_item-clear-expected.html: Added.
        * css3/flexbox/csswg/flexbox_item-clear.html: Added.
        * css3/flexbox/csswg/flexbox_item-float-expected.html: Added.
        * css3/flexbox/csswg/flexbox_item-float.html: Added.
        * css3/flexbox/csswg/flexbox_item-top-float-expected.html: Added.
        * css3/flexbox/csswg/flexbox_item-top-float.html: Added.
        * css3/flexbox/csswg/flexbox_item-vertical-align-expected.html: Added.
        * css3/flexbox/csswg/flexbox_item-vertical-align.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-center-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-center-overflow-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-center-overflow.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-center.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-flex-end-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-flex-end.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-flex-start-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-flex-start.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacearound-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacearound-negative-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacearound-negative.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacearound-only-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacearound-only.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacearound.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacebetween-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacebetween-negative-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacebetween-negative.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacebetween-only-expected.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacebetween-only.html: Added.
        * css3/flexbox/csswg/flexbox_justifycontent-spacebetween.html: Added.
        * css3/flexbox/csswg/flexbox_margin-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_margin-auto-overflow-2-expected.html: Added.
        * css3/flexbox/csswg/flexbox_margin-auto-overflow-2.html: Added.
        * css3/flexbox/csswg/flexbox_margin-auto-overflow-expected.html: Added.
        * css3/flexbox/csswg/flexbox_margin-auto-overflow.html: Added.
        * css3/flexbox/csswg/flexbox_margin-auto.html: Added.
        * css3/flexbox/csswg/flexbox_margin-collapse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_margin-collapse.html: Added.
        * css3/flexbox/csswg/flexbox_margin-expected.html: Added.
        * css3/flexbox/csswg/flexbox_margin-left-ex-expected.html: Added.
        * css3/flexbox/csswg/flexbox_margin-left-ex.html: Added.
        * css3/flexbox/csswg/flexbox_margin.html: Added.
        * css3/flexbox/csswg/flexbox_min-height-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_min-height-auto.html: Added.
        * css3/flexbox/csswg/flexbox_min-width-auto-expected.html: Added.
        * css3/flexbox/csswg/flexbox_min-width-auto.html: Added.
        * css3/flexbox/csswg/flexbox_object-expected.html: Added.
        * css3/flexbox/csswg/flexbox_object.html: Added.
        * css3/flexbox/csswg/flexbox_order-abspos-space-around-expected.html: Added.
        * css3/flexbox/csswg/flexbox_order-abspos-space-around.html: Added.
        * css3/flexbox/csswg/flexbox_order-box-expected.html: Added.
        * css3/flexbox/csswg/flexbox_order-box.html: Added.
        * css3/flexbox/csswg/flexbox_order-expected.html: Added.
        * css3/flexbox/csswg/flexbox_order.html: Added.
        * css3/flexbox/csswg/flexbox_rowspan-expected.html: Added.
        * css3/flexbox/csswg/flexbox_rowspan.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-direction-expected.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-direction.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-flow-expected.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-flow-reverse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-flow-reverse.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-flow.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-order-expected.html: Added.
        * css3/flexbox/csswg/flexbox_rtl-order.html: Added.
        * css3/flexbox/csswg/flexbox_stf-table-singleline-expected.html: Added.
        * css3/flexbox/csswg/flexbox_stf-table-singleline.html: Added.
        * css3/flexbox/csswg/flexbox_visibility-collapse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_visibility-collapse-line-wrapping-expected.html: Added.
        * css3/flexbox/csswg/flexbox_visibility-collapse-line-wrapping.html: Added.
        * css3/flexbox/csswg/flexbox_visibility-collapse.html: Added.
        * css3/flexbox/csswg/flexbox_wrap-expected.html: Added.
        * css3/flexbox/csswg/flexbox_wrap-long-expected.html: Added.
        * css3/flexbox/csswg/flexbox_wrap-long.html: Added.
        * css3/flexbox/csswg/flexbox_wrap-reverse-expected.html: Added.
        * css3/flexbox/csswg/flexbox_wrap-reverse.html: Added.
        * css3/flexbox/csswg/flexbox_wrap.html: Added.
        * css3/flexbox/csswg/flexbox_writing_mode_vertical_lays_out_contents_from_top_to_bottom-expected.html: Added.
        * css3/flexbox/csswg/flexbox_writing_mode_vertical_lays_out_contents_from_top_to_bottom.html: Added.
        * css3/flexbox/csswg/justify-content-001-expected.html: Added.
        * css3/flexbox/csswg/justify-content-001.html: Added.
        * css3/flexbox/csswg/order/order-with-column-reverse-expected.html: Added.
        * css3/flexbox/csswg/order/order-with-column-reverse.html: Added.
        * css3/flexbox/csswg/order/order-with-row-reverse-expected.html: Added.
        * css3/flexbox/csswg/order/order-with-row-reverse.html: Added.
        * css3/flexbox/csswg/ref-filled-green-100px-square-expected.html: Added.
        * css3/flexbox/csswg/ref-filled-green-100px-square.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-center-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-center.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-end-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-end.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-space-between-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-space-between.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-start-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-align-content-start.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-base-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-base.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-direction-column-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-direction-column-reverse-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-direction-column-reverse.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-direction-column.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-direction-row-reverse-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-direction-row-reverse.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-inline-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-inline.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-order-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-order.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-wrap-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse-expected.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse.html: Added.
        * css3/flexbox/csswg/ttwf-reftest-flex-wrap.html: Added.

2014-09-12  Roger Fong  <roger_fong@apple.com>

        Switch all snapshotting tests to use quicktime instead of flash.

        * platform/mac-wk2/TestExpectations:
        * plugins/snapshotting/autoplay-dominant-blank-plugin-moved-into-view.html:
        * plugins/snapshotting/autoplay-dominant.html:
        * plugins/snapshotting/autoplay-plugin-blocked-by-image.html:
        * plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html:
        * plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html:
        * plugins/snapshotting/autoplay-similar-to-dominant.html:
        * plugins/snapshotting/plugin-receives-click-event.html:
        * plugins/snapshotting/restart.html:
        * plugins/snapshotting/set-plugin-size-to-tiny.html:
        * plugins/snapshotting/simple.html:
        * plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:

2014-09-12  Roger Fong  <roger_fong@apple.com>

        Unreviewed. WebGL conformance test gardening.

        * platform/mac/TestExpectations:

2014-09-12  Dean Jackson  <dino@apple.com>

        Unprefix the flexbox CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=98420

        Reviewed by Benjamin Poulain.

        Now that we return "flex" instead of "-webkit-flex" (and similar
        changes) update the tests that rely on this. Other than that,
        we're still testing the prefixed content. A followup patch
        will add tests for non-prefixed content.

        * css3/flexbox/display-flexbox-set-get-expected.txt:
        * css3/flexbox/display-flexbox-set-get.html:
        * css3/flexbox/flexitem.html:
        * fast/css-grid-layout/grid-item-display.html:
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * fast/css/getComputedStyle/resources/property-names.js:
        * fast/css/inherit-initial-shorthand-values-expected.txt:
        * fast/css/inherit-initial-shorthand-values.html:
        * svg/css/getComputedStyle-basic-expected.txt:
        * transitions/flex-transitions-expected.txt:
        * transitions/flex-transitions.html:

2014-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>

        ASSERTION FAILED: e in WebCore::StyleResolver::adjustRenderStyle
        https://bugs.webkit.org/show_bug.cgi?id=136366

        Reviewed by Benjamin Poulain.

        * fast/css/appearance-with-pseudo-elements-expected.html: Added.
        * fast/css/appearance-with-pseudo-elements.html: Added.

2014-09-11  Alexey Proskuryakov  <ap@apple.com>

        fast/forms/submit-to-blank-multiple-times.html crashes with JSC_slowPathAllocsBetweenGCs
        https://bugs.webkit.org/show_bug.cgi?id=136716

        Reviewed by Darin Adler.

        This test used a fake timeout handler, which is not needed, because WRT/WKTR do it for you.
        Any time the test took over 2 seconds, we would dump and disable waiting for notifyDone,
        but the test would still try to open windows after that.

        * fast/forms/submit-to-blank-multiple-times.html:
        * platform/mac/TestExpectations:

2014-09-11  Shivakumar JM  <shiva.jm@samsung.com>

        The overrideMimeType in XMLHttpRequest should throw the exception.
        https://bugs.webkit.org/show_bug.cgi?id=136699

        Reviewed by Darin Adler.

        Added test to check for "InvalidStateError" exception for overrideMimeType.

        * http/tests/xmlhttprequest/exceptions-expected.txt:
        * http/tests/xmlhttprequest/exceptions.html:

2014-09-11  Chris Fleizach  <cfleizach@apple.com>

        AX: Size of web view in Safari as reported by AX changes when adding/removing bars is wrong
        https://bugs.webkit.org/show_bug.cgi?id=136756

        Reviewed by Beth Dakin.

        * platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt:
        * platform/mac-wk2/accessibility/content-inset-scrollview-frame.html:

2014-09-11  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r173530.
        https://bugs.webkit.org/show_bug.cgi?id=136757

        Unskipped still fail on bots. (Requested by rfong on #webkit).

        Reverted changeset:

        "Temporary change to determine why some snapshotting tests are
        failing only on bots."
        http://trac.webkit.org/changeset/173530

2014-09-11  Jer Noble  <jer.noble@apple.com>

        More unreviewed gardening. Rebaseline some ML expected results.

        * platform/mac-mountainlion/media/video-controls-captions-trackmenu-sorted-expected.txt: Added.

2014-09-11  Bear Travis  <betravis@adobe.com>

        [CSS Font Loading] Enable CSS Font Loading on Mac
        https://bugs.webkit.org/show_bug.cgi?id=135473

        Reviewed by Antti Koivisto.

        Enable tests on the Mac platform. As more platforms
        are added, this should move from the tests defaulting
        to disabled to the tests defaulting to enabled.

        * platform/mac/TestExpectations: Mark the Font Loading
        tests as enabled.

2014-09-11  Roger Fong  <roger_fong@apple.com>

        Temporary change to determine why some snapshotting tests are failing only on bots.

        Unskip skipped snapshotting tests and increase the time before we check the plugin state to 10s.
        * platform/mac-wk2/TestExpectations:
        * plugins/snapshotting/set-plugin-size-to-tiny.html:
        * plugins/snapshotting/simple.html:
        * plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:

2014-09-10  Roger Fong  <roger_fong@apple.com>

        Check for varying packing restrictions per program instead of per shader.
        https://bugs.webkit.org/show_bug.cgi?id=136585.
        <rdar://problem/16308409>.

        Reviewed by Dean Jackson.

        * platform/mac/TestExpectations:

2014-09-11  Beth Dakin  <bdakin@apple.com>

        Support rubber-banding in sub-frames
        https://bugs.webkit.org/show_bug.cgi?id=136726
        -and corresponding-
        rdar://problem/10011924

        Reviewed by Tim Horton.

        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:

2014-09-11  Jer Noble  <jer.noble@apple.com>

        [EME] REGRESSION(??): test media/encrypted-media/encrypted-media-v2-syntax.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=136723

        Update the test to match the implemented Working Draft 18 Feburary 2014 version of the spec.

        Reviewed by Eric Carlson.

        * media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
        * media/encrypted-media/encrypted-media-v2-syntax.html:

2014-09-11  Jer Noble  <jer.noble@apple.com>

        Unreviewed gardening. Rebaseline tests and remove duplicate entry from TestExpectations.

        * platform/mac/TestExpectations:
        * platform/mac/media/video-controls-rendering-expected.txt:
        * platform/mac/media/video-display-toggle-expected.txt:
        * platform/mac/media/video-volume-slider-expected.txt:

2014-09-10  Jer Noble  <jer.noble@apple.com>

        More unreviewed gardening. Rebaseline media/encrypted-media/encrypted-media-can-play-type.html

        * platform/mac/media/encrypted-media/encrypted-media-can-play-type-expected.txt:

2014-09-11  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [WK2] Authentication dialog is displayed for cross-origin XHR
        https://bugs.webkit.org/show_bug.cgi?id=131349

        Reviewed by Alexey Proskuryakov.

        * platform/mac-wk2/TestExpectations: Unskipped tests.

2014-09-11  Chris Fleizach  <cfleizach@apple.com>

        AX: Children inside a <legend> are not accessible
        https://bugs.webkit.org/show_bug.cgi?id=136735

        Reviewed by Mario Sanchez Prada.

        * accessibility/legend-children-are-visible-expected.txt: Added.
        * accessibility/legend-children-are-visible.html: Added.

2014-09-11  Philippe Normand  <pnormand@igalia.com>

        [GTK] Layout Test http/tests/media/hls/video-controls-live-stream.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=134575

        Unreviewed, marked the test as slow.

        * platform/gtk/TestExpectations:

2014-09-10  Jer Noble  <jer.noble@apple.com>

        Unreviewed gardening. Rebaseline failing media/video- tests broken by r156546.

        * platform/mac/TestExpectations:
        * platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt:
        * platform/mac/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
        * platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt:
        * platform/mac/media/video-controls-no-scripting-expected.txt: Added.
        * platform/mac/media/video-controls-rendering-expected.png:
        * platform/mac/media/video-controls-rendering-expected.txt:
        * platform/mac/media/video-display-toggle-expected.png:
        * platform/mac/media/video-display-toggle-expected.txt:
        * platform/mac/media/video-empty-source-expected.png:
        * platform/mac/media/video-empty-source-expected.txt:
        * platform/mac/media/video-volume-slider-expected.png:
        * platform/mac/media/video-volume-slider-expected.txt:
        * platform/mac/media/volume-bar-empty-when-muted-expected.txt: Added.

2014-09-10  Jer Noble  <jer.noble@apple.com>

        More unreviewed gardening.

        - Mark tests as WontFix which depend on platform support which will never be added.
        - Fix http/tests/media/video-auth.html by marking it as failing on MountainLion.

        * platform/mac/TestExpectations:

2014-09-10  Jer Noble  <jer.noble@apple.com>

        Unreviewed gardening. Re-skip some obsolete EME tests.

        * platform/mac/TestExpectations:

2014-09-10  Alexey Proskuryakov  <ap@apple.com>

        Skip some flaky tests that may be affecting subsequent tests.

        * platform/mac/TestExpectations:

2014-09-10  Jer Noble  <jer.noble@apple.com>

        "AVF info: hasOfflineRenderer, board-id check : true" in media/track/track-forced-subtitles-in-band.html
        https://bugs.webkit.org/show_bug.cgi?id=124219

        Unreviewed gardening. This skip was made unnecessary after selective filtering was added in r160247.

        * platform/mac/TestExpectations:

2014-09-10  Jer Noble  <jer.noble@apple.com>

        More unreviewed gardening of media/ tests; Move tests into the correct sub-groups and add comments
        to test expectations without attached bugzilla bugs (due to WontFix, etc.).

        * platform/mac/TestExpectations:

2014-09-10  Jer Noble  <jer.noble@apple.com>

        More unreviewed gardening; despite the comment, media/audio-repaint.html is failing on all mac ports, not just on Lion.

        * platform/mac/TestExpectations:

2014-09-10  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Fix a snapshotting test. Test was incorrect as it assumed the wrong window size.

        * platform/mac-wk2/TestExpectations: Remove some duplicate test expectations.
        * platform/mac-wk2/plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image-expected.txt:
        * plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:

2014-09-10  Roger Fong  <roger_fong@apple.com>

        Rollout r173446, the skipped tests still fail only on the bots.

        * platform/mac-wk2/TestExpectations:

2014-09-10  Jer Noble  <jer.noble@apple.com>

        Unreviewed gardening. Group all the media expectations together logically.

        * platform/mac/TestExpectations:

2014-09-10  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r173446.
        https://bugs.webkit.org/show_bug.cgi?id=136707

        These two tests fail consistently on Mavericks and ML WK2
        bots. (Requested by jernoble|laptop on #webkit).

        Reverted changeset:

        "Unskip two snapshotting tests that work for me consistently
        locally."
        http://trac.webkit.org/changeset/173446

2014-09-10  Chris Fleizach  <cfleizach@apple.com>

        AX: aria-labelledby is not honoring sub-node text
        https://bugs.webkit.org/show_bug.cgi?id=136689

        Reviewed by Mario Sanchez Prada.

        * accessibility/aria-labelledby-with-descendants-expected.txt: Added.
        * accessibility/aria-labelledby-with-descendants.html: Added.

2014-09-09  Jer Noble  <jer.noble@apple.com>

        [MSE] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html failing after r173318
        https://bugs.webkit.org/show_bug.cgi?id=136676

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

2014-09-09  Roger Fong  <roger_fong@apple.com>

        Unskip two snapshotting tests that work for me consistently locally.

        * platform/mac-wk2/TestExpectations:

2014-09-09  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Ignore ::first-letter pseudo-element
        https://bugs.webkit.org/show_bug.cgi?id=136625

        Reviewed by Darin Adler.

        * css3/flexbox/flexbox-ignore-container-firstLetter.html: Modify test,
        in order to actually check that the ::first-letter in a regular
        container is ignored in the flexbox.
        * fast/css-grid-layout/grid-container-ignore-first-letter-expected.txt: Added.
        * fast/css-grid-layout/grid-container-ignore-first-letter.html: Added.
        * fast/css-grid-layout/grid-item-first-letter-valid-expected.txt: Added.
        * fast/css-grid-layout/grid-item-first-letter-valid.html: Added.

2014-09-09  Benjamin Poulain  <benjamin@webkit.org>

        Add support for :read-write/:read-only matching editable content
        https://bugs.webkit.org/show_bug.cgi?id=136668

        Reviewed by Antti Koivisto.

        * fast/css/read-only-read-write-contenteditable-basics-expected.html: Added.
        * fast/css/read-only-read-write-contenteditable-basics.html: Added.
        * fast/css/read-only-read-write-designmode-basics-expected.html: Added.
        * fast/css/read-only-read-write-designmode-basics.html: Added.
        * fast/css/read-only-read-write-webkit-user-modify-expected.txt: Added.
        * fast/css/read-only-read-write-webkit-user-modify.html: Added.
        * fast/selectors/read-only-read-write-contenteditable-basics-expected.txt: Added.
        * fast/selectors/read-only-read-write-contenteditable-basics.html: Added.
        * fast/selectors/read-only-read-write-contenteditable-svg-foreignObject-expected.txt: Added.
        * fast/selectors/read-only-read-write-contenteditable-svg-foreignObject.html: Added.
        * fast/selectors/read-only-read-write-designmode-basics-expected.txt: Added.
        * fast/selectors/read-only-read-write-designmode-basics.html: Added.
        * fast/selectors/read-only-read-write-style-update-expected.txt: Added.
        * fast/selectors/read-only-read-write-style-update.html: Added.

2014-09-09  Jer Noble  <jer.noble@apple.com>

        [Mac] Unreviewed gardening. Mark two media-source tests as failing.

        * platform/mac/TestExpectations:

2014-09-09  Roger Fong  <roger_fong@apple.com>

        Fix syntax on some expected failures.

        * platform/mac/TestExpectations:

2014-09-09  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures after r173328 and r173418.
        Update some expectations for new cases.

2014-09-09  Roger Fong  <roger_fong@apple.com>

        Skip some WebGL tests failing on Mavericks and MountainLion bots.

        * platform/mac/TestExpectations:

2014-09-09  Takeshi Kurosawa  <taken.spc@gmail.com>

        AX: HTML5 landmark (and related) elements should not be ignored.
        https://bugs.webkit.org/show_bug.cgi?id=135116

        Reviewed by Chris Fleizach.

        Make sure following element should not be ignored in computeAccessibilityIsIgnored
        - header, aside, address, main, nav, article, section
        - dt, dd

        * platform/mac/accessibility/descriptionlist-not-ignored-expected.txt: Added.
        * platform/mac/accessibility/descriptionlist-not-ignored.html: Added.
        * platform/mac/accessibility/landmark-not-ignored-expected.txt: Added.
        * platform/mac/accessibility/landmark-not-ignored.html: Added.

2014-09-08  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Incorrect layout for multicol element transformed into region
        https://bugs.webkit.org/show_bug.cgi?id=136459

        Reviewed by David Hyatt.

        * fast/regions/multicol/nested-multicol-into-region-dynamic-expected.txt: Added.
        * fast/regions/multicol/nested-multicol-into-region-dynamic.html: Added.

2014-09-08  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION (r172153): Text drawn with wrong color when second text shadow has zero offset and blur (breaks buttons at aws.amazon.com)
        https://bugs.webkit.org/show_bug.cgi?id=136612

        Reviewed by Darin Adler.

        Make sure that text is drawn with correct color when second text shadow has zero offset and blur

        * fast/text/empty-shadow-with-color-expected.html: Added.
        * fast/text/empty-shadow-with-color.html: Added.

2014-09-08  Roger Fong  <roger_fong@apple.com>

        Unreviewed. More webgl conformance test gardening.

        * platform/mac/TestExpectations:

2014-09-08  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Skip some WebGL conformance tests that may be passing on the bots now.

        * platform/mac/TestExpectations:

2014-09-08  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add layout test for lowercase CSSProperty names
        https://bugs.webkit.org/show_bug.cgi?id=135961

        Reviewed by Joseph Pecoraro.

        Added test to check that property names in matched CSS rules are returned in lowercase
        when specified with upper or mixed case in the original CSS source.

        * inspector/css/matched-style-properties-expected.txt: Added.
        * inspector/css/matched-style-properties.html: Added.

2014-09-08  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Fixes to layout test infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=136360

        Reviewed by Joseph Pecoraro.

        Updated expected results to reflect breakpoint resolution changes in r171784.

        * inspector/debugger/probe-manager-add-remove-actions-expected.txt:

2014-09-08  Alexey Proskuryakov  <ap@apple.com>

        Investigate test failures on ML caused by MediaTime refactoring
        https://bugs.webkit.org/show_bug.cgi?id=136532

        Added another test that appears to have been affected by this refactoring.

        * platform/mac/TestExpectations:

2014-09-06  Antti Koivisto  <antti@apple.com>

        Serialize ResourceResponses using WebKit types
        https://bugs.webkit.org/show_bug.cgi?id=136545

        Reviewed by Alexey Proskuryakov.

        Remove failure expectations for tests fixed by this patch.

        http/tests/xmlhttprequest/web-apps/012.html
        http/tests/xmlhttprequest/web-apps/013.html

        * platform/mac-wk2/TestExpectations:

2014-09-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r173335.
        https://bugs.webkit.org/show_bug.cgi?id=136597

        Broke webgl/1.0.2/conformance/glsl/misc/shader-varying-
        packing-restrictions.html (Requested by ap on #webkit).

        Reverted changeset:

        "Remove statically used varyings from packing restrictions
        check."
        https://bugs.webkit.org/show_bug.cgi?id=136585
        http://trac.webkit.org/changeset/173335

2014-09-05  Simon Fraser  <simon.fraser@apple.com>

        Change this test not to use a percentage width, and to use a non-blurred
        shadow to avoid different results on Retina display systems.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame.html:

2014-09-05  Jeffrey Pfau  <jpfau@apple.com>

        Unreviewed, skip tests for a feature that isn't supported

        * platform/mac/TestExpectations:

2014-09-05  Jeffrey Pfau  <jpfau@apple.com>

        Add test after r173324

        Rubber-stamped by Simon Fraser.

        * storage/indexeddb/version-change-event-expected.txt: Added.
        * storage/indexeddb/version-change-event.html: Added.

2014-09-05  Brady Eidson  <beidson@apple.com>

        Allow pages with unload handlers in the page cache
        <rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535

        Reviewed by Oliver Hunt.

        * fast/frames/frame-crash-with-page-cache-expected.txt:
        * fast/frames/resources/cached-page-1.html:

2014-09-05  Roger Fong  <roger_fong@apple.com>

        Remove statically used varyings from packing restrictions check.
        https://bugs.webkit.org/show_bug.cgi?id=136585.
        <rdar://problem/16308409>

        Reviewed by Dean Jackson.

        * platform/mac/TestExpectations: Unskip build_009_to_016.html conformance test.

2014-09-05  Matt Baker  <mattbaker@apple.com>

        Web Inspector: breakpoint actions should work regardless of Content Security Policy
        https://bugs.webkit.org/show_bug.cgi?id=136542

        Reviewed by Mark Lam.

        Added test for "Evaluate JavaScript" breakpoint actions for breakpoints set on
        pages with a CSP that does not allow 'unsafe-eval'.

        * inspector/debugger/breakpoint-action-eval-expected.txt: Added.
        * inspector/debugger/breakpoint-action-eval.html: Added.

2014-09-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=136562

        Reviewed by Martin Robinson.

        * platform/gtk/TestExpectations: Remove failure expectations for tests that now pass.

2014-09-04  Michael Saboff  <msaboff@apple.com>

        ARM32 iOS: JSC Test math.js fails
        https://bugs.webkit.org/show_bug.cgi?id=136261

        Reviewed by Geoffrey Garen.

        Split out the failing tests to a new test script math-denorm.js.  Added check
        at the top of the new file to skip the tests when running on ARM for iOS.

        * js/math-denorm-expected.txt: Added.
        * js/math-expected.txt:
        * js/script-tests/math-denorm.js: Added.
        * js/script-tests/math.js:

2014-09-05  Benjamin Poulain  <benjamin@webkit.org>

        Update the current matching of :read-only and :read-write to the latest spec
        https://bugs.webkit.org/show_bug.cgi?id=136566

        Reviewed by Antti Koivisto.

        * fast/css/readonly-pseudoclass-opera-005.html:
        This was one of the original test.
        With the new definition, input[type=radio] is always :read-only.

        * fast/forms/input-live-pseudo-selectors-expected.txt:
        * fast/forms/resources/input-live-pseudo-selectors.js:
        * fast/forms/resources/live-pseudo-selectors.css:
        (:read-only): Deleted.
        * fast/forms/resources/select-live-pseudo-selectors.js:
        * fast/forms/resources/textarea-live-pseudo-selectors.js:
        * fast/forms/textarea-live-pseudo-selectors-expected.txt:
        Those various tests were mostly testing form validation. The selectors
        for :read-only and :read-write were in the way of testing.

        They were only 3 cases tested and they are covered by the new tests.

        * fast/css/read-only-read-write-input-basics-expected.html: Added.
        * fast/css/read-only-read-write-input-basics.html: Added.
        * fast/css/read-only-read-write-textarea-basics-expected.html: Added.
        * fast/css/read-only-read-write-textarea-basics.html: Added.
        * fast/selectors/read-only-read-write-input-basics-expected.txt: Added.
        * fast/selectors/read-only-read-write-input-basics.html: Added.
        * fast/selectors/read-only-read-write-input-in-fieldset-expected.txt: Added.
        * fast/selectors/read-only-read-write-input-in-fieldset.html: Added.
        * fast/selectors/read-only-read-write-textarea-basics-expected.txt: Added.
        * fast/selectors/read-only-read-write-textarea-basics.html: Added.
        * fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt: Added.
        * fast/selectors/read-only-read-write-textarea-in-fieldset.html: Added.
        New tests covering basic features for <input> and <textarea>. The definition for
        other editable content is ignored for now.

2014-09-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures after r173049 and r173272.
        Update some expectations for new cases.
        * platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Rebaseline after r173049.

2014-06-10  Jer Noble  <jer.noble@apple.com>

        Refactoring: make MediaTime the primary time type for audiovisual times.
        https://bugs.webkit.org/show_bug.cgi?id=133579

        Reviewed by Eric Carlson.

        Update the http/media tests to use byte-ranges, and update our byte-range CGI script
        to return correct headers. Remove the platform expected results for media/video-seek-past-end-paused.html
        now that we pass.

        * http/tests/media/reload-after-dialog.html:
        * http/tests/media/video-error-abort.html:
        * http/tests/media/video-throttled-load.cgi:
        * platform/mac/media/video-seek-past-end-paused-expected.txt: Removed.
        * platform/mac/TestExpectations:

2014-09-04  Alexey Proskuryakov  <ap@apple.com>

        platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html is flakey
        https://bugs.webkit.org/show_bug.cgi?id=136554

        * platform/mac-wk2/TestExpectations: Marking it as such.

2014-09-04  Simon Fraser  <simon.fraser@apple.com>

        Rebaseline three blending tests which no longer need backing store.

        * css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
        * css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
        * css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:

2014-09-04  Simon Fraser  <simon.fraser@apple.com>

        border-radius should not force layer backing store
        https://bugs.webkit.org/show_bug.cgi?id=136555

        Reviewed by Dean Jackson.
        
        Test that dumps layers on some composited elements with border-radius

        * compositing/backing/border-radius-no-backing-expected.txt: Added.
        * compositing/backing/border-radius-no-backing.html: Added.

2014-09-04  Simon Fraser  <simon.fraser@apple.com>

        CSS filter on a compositing layer should not cause unncessary backing store allocation
        https://bugs.webkit.org/show_bug.cgi?id=136557

        Reviewed by Dean Jackson.
        
        Dump the layer tree on some layer configs with filters.
        
        * compositing/backing/filter-no-backing-expected.txt: Added.
        * compositing/backing/filter-no-backing.html: Added.

2014-09-04  Simon Fraser  <simon.fraser@apple.com>

        Improve the logic for compositing backing store avoidance
        https://bugs.webkit.org/show_bug.cgi?id=136556

        Reviewed by Dean Jackson.
        
        Tests that dump the layer tree (showing backing store) for various combinations
        of child renderers and whitespace.

        * compositing/backing/inline-block-no-backing-expected.txt: Added.
        * compositing/backing/inline-block-no-backing.html: Added.
        * compositing/backing/whitespace-nodes-no-backing-expected.txt: Added.
        * compositing/backing/whitespace-nodes-no-backing.html: Added.

2014-09-04  Beth Dakin  <bdakin@apple.com>

        Another speculative fix for the bots.

        * platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:

2014-09-04  Beth Dakin  <bdakin@apple.com>

        Speculative fix for a test failing on the bot.

        * platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:

2014-09-03  David Hyatt  <hyatt@apple.com>

        Initial letters should clear one another.
        https://bugs.webkit.org/show_bug.cgi?id=136514

        Reviewed by Simon Fraser.

        * fast/css-generated-content/initial-letter-clearance.html: Added.
        * platform/mac/fast/css-generated-content/initial-letter-clearance-expected.png: Added.
        * platform/mac/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.

2014-09-04  Beth Dakin  <bdakin@apple.com>

        REGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles 
        (all tiles repaint)
        https://bugs.webkit.org/show_bug.cgi?id=136433
        -and corresponding-
        rdar://problem/18193942

        Reviewed by Tim Horton.

        * platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html: Added.

2014-09-04  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>

        Remove CSS_FILTERS flag
        https://bugs.webkit.org/show_bug.cgi?id=136529

        Reviewed by Dirk Schulze.

        * platform/efl/TestExpectations:

2014-09-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        XMLHttpRequest always defaults Content-Type to application/xml, while it should depend on data type
        https://bugs.webkit.org/show_bug.cgi?id=11049

        Reviewed by Darin Adler.

        * http/tests/xmlhttprequest/methods-lower-case-expected.txt: Rebaseline (application/xml -> text/plain;charset=UTF-8).
        * http/tests/xmlhttprequest/post-content-type-document.html: New test to cover default mime type for XML and HTML document data types.
        * http/tests/xmlhttprequest/post-content-type-document-expected.txt: Ditto.
        * http/tests/xmlhttprequest/post-content-type-expected.txt: Rebaseline (application/xml -> text/plain;charset=UTF-8).
        * http/tests/xmlhttprequest/post-content-type.html: Ditto.
        * http/tests/xmlhttprequest/request-encoding2.html: Ditto.
        * platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt: Ditto.
        * platform/gtk/http/tests/xmlhttprequest/methods-expected.txt: Ditto.
        * platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Ditto.
        * platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt: Ditto.
        * platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Ditto.
        * platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Ditto.

2014-09-03  Shivakumar JM  <shiva.jm@samsung.com>

        [EFL] Websocket Layout Tests passed in latest build.
        https://bugs.webkit.org/show_bug.cgi?id=136278

        Unreviewed gardening.
 
        Websocket Layout Tests passed in latest build, possibly because r172438.

        * platform/efl/TestExpectations:

2014-09-03  Jeffrey Pfau  <jpfau@apple.com>

        Unreviewed, mark test as crashing

        * platform/wk2/TestExpectations:

2014-09-03  Myles C. Maxfield  <mmaxfield@apple.com>

        Text caret changes to color of text in Mail and Notes
        https://bugs.webkit.org/show_bug.cgi?id=135904

        Reviewed by Simon Fraser.

        Make sure the caret is the correct color.

        * editing/caret/color-span-inside-editable-expected.html: Added.
        * editing/caret/color-span-inside-editable.html: Added.

2014-09-03  Brent Fulgham  <bfulgham@apple.com>

        [Win] Mark a number of passing tests.

        * platform/win/TestExpectations: Update expectations based on passes
        on multiple test bots.

2014-09-03  Benjamin Poulain  <benjamin@webkit.org>

        Fix style invalidation of elements with multiple siblings dependencies
        https://bugs.webkit.org/show_bug.cgi?id=136472

        Reviewed by Andreas Kling.

        The test coverage was pretty bad. :(
        I tried to cover the most obvious problems.

        * fast/css/direct-adjacent-style-update-optimization-expected.txt: Added.
        * fast/css/direct-adjacent-style-update-optimization.html: Added.
        * fast/css/indirect-adjacent-style-update-optimization-expected.txt: Added.
        * fast/css/indirect-adjacent-style-update-optimization.html: Added.
        * fast/css/non-matching-adjacent-style-update-expected.txt: Added.
        * fast/css/non-matching-adjacent-style-update.html: Added.
        * fast/selectors/attribute-direct-adjacent-style-update-expected.txt:
        * fast/selectors/class-direct-adjacent-style-update-expected.txt:
        * fast/selectors/first-child-direct-adjacent-style-update-expected.txt:
        * fast/selectors/first-of-type-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
        * fast/selectors/first-of-type-direct-adjacent-style-update.html: Added.
        * fast/selectors/first-of-type-sibling-style-update-expected.txt: Added.
        * fast/selectors/first-of-type-sibling-style-update.html: Added.
        * fast/selectors/id-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
        * fast/selectors/id-direct-adjacent-style-update.html: Added.
        * fast/selectors/id-sibling-style-update-expected.txt: Added.
        * fast/selectors/id-sibling-style-update.html: Added.
        * fast/selectors/nth-child-as-first-simple-selector-style-update-expected.txt: Added.
        * fast/selectors/nth-child-as-first-simple-selector-style-update.html: Added.
        * fast/selectors/nth-child-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
        * fast/selectors/nth-child-direct-adjacent-style-update.html: Added.
        * fast/selectors/nth-child-style-update-expected.txt: Added.
        * fast/selectors/nth-child-style-update.html: Added.

2014-09-03  Benjamin Poulain  <benjamin@webkit.org>

        Add a test case for Element.matches() with :scope
        https://bugs.webkit.org/show_bug.cgi?id=136475

        Reviewed by Andreas Kling.

        There was not test for this use case. Looks like everything works fine.

        * fast/selectors/matches-scope-expected.txt: Added.
        * fast/selectors/matches-scope.html: Added.

2014-09-03  David Hyatt  <hyatt@apple.com>

        Add support for the initial-letter CSS property to first-letter
        https://bugs.webkit.org/show_bug.cgi?id=136484

        Reviewed by Dean Jackson.

        * fast/css-generated-content/initial-letter-basic.html: Added.
        * fast/css-generated-content/initial-letter-border-padding.html: Added.
        * fast/css-generated-content/initial-letter-descender.html: Added.
        * fast/css-generated-content/initial-letter-raised.html: Added.
        * fast/css-generated-content/initial-letter-sunken.html: Added.
        * platform/mac/fast/css-generated-content/initial-letter-basic-expected.png: Added.
        * platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
        * platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
        * platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
        * platform/mac/fast/css-generated-content/initial-letter-descender-expected.png: Added.
        * platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
        * platform/mac/fast/css-generated-content/initial-letter-raised-expected.png: Added.
        * platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
        * platform/mac/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
        * platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.

2014-09-03  Brent Fulgham  <bfulgham@apple.com>

        [Win] Unreviewed test gardening.

        Remove abandoned results for tests that had been converted to reftest.
        Also resolve warnings in TestExpectation file.

        * platform/win/TestExpectations: 
        * platform/win/ietestcenter/css3/flexbox: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-ordinal-group-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid: Removed.
        * platform/win/ietestcenter/css3/grid/display-grid-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/display-grid-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/display-grid-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/display-grid-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-column-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-column-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-column-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-column-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-column-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-column-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-columns-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-columns-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-004-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-004-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-005-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/grid/grid-items-005-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/declaring-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/declaring-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/prefix-008-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/prefix-008-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/prefix-009-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/prefix-009-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/scope-003-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/scope-003-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-016-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-016-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-017-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-017-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-018-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-018-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-019-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-019-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-020-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-020-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-021-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-021-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-022-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-022-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-023-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/syntax-023-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/terminology-001-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/namespaces/terminology-001-expected.txt: Removed.
        * platform/win/ietestcenter/css3/valuesandunits: Removed.
        * platform/win/ietestcenter/css3/valuesandunits/units-000-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/valuesandunits/units-010-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/valuesandunits/units-010-expected.txt: Removed.
        * platform/win/ietestcenter/css3/valuesandunits/units-020-expected-expected.txt: Removed.
        * platform/win/ietestcenter/css3/valuesandunits/units-020-expected.txt: Removed.

2014-09-03  Bear Travis  <betravis@adobe.com>

        [CSS Font Loading] Enable Page Caching
        https://bugs.webkit.org/show_bug.cgi?id=136044

        Reviewed by Andreas Kling.

        Adding test that loads a font then navigates away and back.
        Test must also be disabled while feature is turned off.

        * TestExpectations: Skip test.
        * fast/css/fontloader-page-cache-expected.txt: Added.
        * fast/css/fontloader-page-cache.html: Added.

2014-09-02  Brian J. Burg  <burg@cs.washington.edu>

        LegacyProfiler: remove redundant ProfileNode members and other cleanup
        https://bugs.webkit.org/show_bug.cgi?id=136380

        Reviewed by Timothy Hatcher.

        Renamed Profile.head to Profile.rootNode.

        * fast/profiler/resources/profiler-test-JS-resources.js:
        (printHeavyProfilesDataWithoutTime):
        (printProfilesDataWithoutTime):

2014-09-02  Simon Fraser  <simon.fraser@apple.com>

        Avoid backing store allocation with some combinations of replaced elements, masking and visibility:hidden
        https://bugs.webkit.org/show_bug.cgi?id=136400

        Reviewed by Tim Horton.

        * compositing/backing/masked-child-no-backing-expected.txt: Added.
        * compositing/backing/masked-child-no-backing.html: Added.
        * compositing/backing/replaced-child-no-backing-expected.txt: Added.
        * compositing/backing/replaced-child-no-backing.html: Added.

2014-09-02  Simon Fraser  <simon.fraser@apple.com>

        Non-composited child RenderLayers cause allocation of unncessary backing store
        https://bugs.webkit.org/show_bug.cgi?id=136375

        Reviewed by David Hyatt.
        
        Test with a composited div with various configurations of non-composited child layers.

        * compositing/backing/child-layer-no-backing-expected.txt: Added.
        * compositing/backing/child-layer-no-backing.html: Added.

2014-09-02  Michael Saboff  <msaboff@apple.com>

        Out of bounds write in vmEntryToJavaScript / JSC::JITCode::execute
        https://bugs.webkit.org/show_bug.cgi?id=136305

        Reviewed by Filip Pizlo.

        * js/arity-mismatch-at-vmentry-expected.txt: Added.
        * js/arity-mismatch-at-vmentry.html: Added.

2014-09-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        CachedResourceLoader should check redirections to reuse or not cached resources
        https://bugs.webkit.org/show_bug.cgi?id=131757

        Reviewed by Antti Koivisto.

        Added test checks that fresh redirections allow reuse of cached resoure and expired or not cacheable redirections trigger reloading of resources.

        * http/tests/cache/cache-redirections-expected.txt: Added.
        * http/tests/cache/cache-redirections.html: Added.
        * http/tests/cache/resources/cache-control-redirect.php: Added.
        * http/tests/cache/resources/cacheable-random-text.php: Added.

2014-09-02  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Test coverage for first-line pseudo-element
        https://bugs.webkit.org/show_bug.cgi?id=135770

        Reviewed by Zoltan Horvath.

        According to the spec the ::first-line pseudo-element do not apply to
        grid containers.

        This was already working as expected but we were missing some tests
        checking it, so we are adding new tests to have coverage.

        * fast/css-grid-layout/grid-container-ignore-first-line-expected.txt: Added.
        * fast/css-grid-layout/grid-container-ignore-first-line.html: Added.
        * fast/css-grid-layout/grid-item-first-line-valid-expected.txt: Added.
        * fast/css-grid-layout/grid-item-first-line-valid.html: Added.

2014-08-29  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Resolved value of grid-template-* must include every track listed
        https://bugs.webkit.org/show_bug.cgi?id=136362

        Reviewed by Darin Adler.

        Added new test cases to verify that both explicit and implicit
        tracks are listed in grid-template-* resolved values. Also
        refactored a testing function to improve the readability of the test.

        * fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
        * fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
        (testGridAutoDefinitionsValues):

2014-08-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed EFL gardening. Mark some compositing tests as "failure" since r172999

        * platform/efl/TestExpectations:

2014-08-30  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS: Refactor :visited handling in SelectorChecker
        https://bugs.webkit.org/show_bug.cgi?id=135639

        Reviewed by Benjamin Poulain.

        * fast/history/link-inside-any-expected.txt: Added.
        * fast/history/link-inside-any.html: Added.
        * fast/history/link-inside-not-expected.txt: Added.
        * fast/history/link-inside-not.html: Added.
        * fast/history/nested-visited-test-override-expected.txt: Added.
        * fast/history/nested-visited-test-override.html: Added.
        * fast/history/visited-inside-any-expected.txt: Added.
        * fast/history/visited-inside-any.html: Added.
        * fast/history/visited-inside-not-expected.txt: Added.
        * fast/history/visited-inside-not.html: Added.

2014-08-28  Saam Barati  <sbarati@apple.com>

        Web Inspector: Write tests for ScriptSyntaxTree and fix bugs in the data structure
        https://bugs.webkit.org/show_bug.cgi?id=136272

        Reviewed by Joseph Pecoraro.

        This patch tests all nodes in the WebInspecor's Abstract Syntax Tree.
        These tests don't test every aspect of the data structure, but focus
        on having it parse all JavaScript expressions successfully and to also
        make sure nodes in the tree are of the correct type.

        * inspector/model: Added.
        * inspector/model/parse-script-syntax-tree-expected.txt: Added.
        * inspector/model/parse-script-syntax-tree.html: Added.

2014-08-28  Enrica Casucci  <enrica@apple.com>

        Can't hit tab key more than 3 times continuously.
        https://bugs.webkit.org/show_bug.cgi?id=136357
        rdar://problem/17927266

        Reviewed by Dean Jackson.

        * fast/css/multiple-tabs-expected.html: Added.
        * fast/css/multiple-tabs.html: Added.

2014-08-28  Benjamin Poulain  <bpoulain@apple.com>

        Scrolling with spacebar on a page with fixed header breaks reading flow
        https://bugs.webkit.org/show_bug.cgi?id=135506

        Reviewed by Simon Fraser.

        There was pretty much no test coverage for scrolling by page, add some tests.

        * fast/events/scrollbar-double-click-expected.txt:
        * platform/mac-wk1/TestExpectations:
        * scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html: Added.
        * scrollbars/scrolling-backward-by-page-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html: Added.
        * scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html: Added.
        * scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html: Added.
        * scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html: Added.
        * scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html: Added.
        * scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html: Added.
        * scrollbars/scrolling-by-page-on-keyboard-spacebar-expected.txt: Added.
        * scrollbars/scrolling-by-page-on-keyboard-spacebar.html: Added.

2014-08-27  Filip Pizlo  <fpizlo@apple.com>

        FTL should be able to do polymorphic call inlining
        https://bugs.webkit.org/show_bug.cgi?id=135145

        Reviewed by Geoffrey Garen.

        * js/regress/script-tests/simple-poly-call-nested.js: Added.
        * js/regress/script-tests/simple-poly-call.js: Added.
        * js/regress/simple-poly-call-expected.txt: Added.
        * js/regress/simple-poly-call-nested-expected.txt: Added.
        * js/regress/simple-poly-call-nested.html: Added.
        * js/regress/simple-poly-call.html: Added.

2014-08-28  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Incorrect selection clearing on a document without regions
        https://bugs.webkit.org/show_bug.cgi?id=134901

        Reviewed by David Hyatt.

        * fast/regions/selection/select-all-without-regions-expected.txt: Added.
        * fast/regions/selection/select-all-without-regions.html: Added.

2014-08-28  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Move positioning tests into fast/regions/positioning
        https://bugs.webkit.org/show_bug.cgi?id=136302

        Reviewed by Andrei Bucur.

        Moved tests, clean up tests, adjust TestExpectations files where needed.

        * fast/regions/positioned-objects-block-static-in-regions-expected.html: Removed.
        * fast/regions/positioned-objects-block-static-in-regions.html: Removed.
        * fast/regions/positioned-objects-block-static-in-rtl-regions-expected.html: Removed.
        * fast/regions/positioned-objects-block-static-in-rtl-regions.html: Removed.
        * fast/regions/positioned-objects-clipped-spanning-regions-expected.html: Removed.
        * fast/regions/positioned-objects-in-regions.html: Removed.
        * fast/regions/positioned-objects-inline-static-spanning-regions-expected.html: Removed.
        * fast/regions/positioning/fixed-element-transformed-parent-expected.txt: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent-expected.txt.
        * fast/regions/positioning/fixed-element-transformed-parent.html: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent.html.
        * fast/regions/positioning/fixed-in-named-flow-position-changed-expected.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed-expected.html.
        * fast/regions/positioning/fixed-in-named-flow-position-changed.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed.html.
        * fast/regions/positioning/fixed-inside-fixed-in-named-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow-expected.html.
        * fast/regions/positioning/fixed-inside-fixed-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow.html.
        * fast/regions/positioning/fixed-inside-named-flow-zIndex-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex-expected.html.
        * fast/regions/positioning/fixed-inside-named-flow-zIndex.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex.html.
        * fast/regions/positioning/fixed-pos-content-fragmented-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented-expected.html.
        * fast/regions/positioning/fixed-pos-content-fragmented.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented.html.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow-expected.txt.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow.html.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow2-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2-expected.txt.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow2.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2.html.
        * fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions-expected.html.
        * fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions.html.
        * fast/regions/positioning/fixed-pos-elem-in-region-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region-expected.html.
        * fast/regions/positioning/fixed-pos-elem-in-region.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region.html.
        * fast/regions/positioning/fixed-pos-region-in-nested-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow-expected.html.
        * fast/regions/positioning/fixed-pos-region-in-nested-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow.html.
        * fast/regions/positioning/fixed-pos-region-overflow-content-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content-expected.html.
        * fast/regions/positioning/fixed-pos-region-overflow-content.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content.html.
        * fast/regions/positioning/positioned-fragmented-content-expected.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content-expected.html.
        * fast/regions/positioning/positioned-fragmented-content.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content.html.
        * fast/regions/positioning/positioned-object-inline-cb-crash-expected.txt: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash-expected.txt.
        * fast/regions/positioning/positioned-object-inline-cb-crash.html: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash.html.
        * fast/regions/positioning/positioned-objects-block-static-in-regions-expected.html: Added.
        * fast/regions/positioning/positioned-objects-block-static-in-regions.html: Added.
        * fast/regions/positioning/positioned-objects-block-static-in-rtl-regions-expected.html: Added.
        * fast/regions/positioning/positioned-objects-block-static-in-rtl-regions.html: Added.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-expected.html.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.html.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl.html.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions.html.
        * fast/regions/positioning/positioned-objects-clipped-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-regions-expected.html.
        * fast/regions/positioning/positioned-objects-clipped-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-clipped-spanning-regions.html.
        * fast/regions/positioning/positioned-objects-in-regions-expected.html: Added.
        * fast/regions/positioning/positioned-objects-in-regions.html: Added.
        * fast/regions/positioning/positioned-objects-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions-expected.html.
        * fast/regions/positioning/positioned-objects-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html.
        * fast/regions/positioning/positioned-objects-inline-static-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions-expected.html.
        * fast/regions/positioning/positioned-objects-inline-static-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html.
        * fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.html.
        * fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions-expected.html: Added.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl-expected.html.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl.html.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions.html.
        * fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.html.
        * fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html.
        * fast/regions/positioning/positioned-objects-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions-expected.html.
        * fast/regions/positioning/positioned-objects-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions.html.
        * fast/regions/positioning/positioned-slider-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions-expected.html.
        * fast/regions/positioning/positioned-slider-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions.html.
        * fast/regions/positioning/positioned-vrl-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow-expected.txt.
        * fast/regions/positioning/positioned-vrl-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow.html.
        * fast/regions/positioning/positioned-vrl-in-parent-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow-expected.txt.
        * fast/regions/positioning/positioned-vrl-in-parent-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow.html.
        * fast/regions/positioning/positioned-with-vrl-parent-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow-expected.txt.
        * fast/regions/positioning/positioned-with-vrl-parent-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow.html.
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:

2014-08-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Move writing mode tests into fast/regions/writing-mode
        https://bugs.webkit.org/show_bug.cgi?id=136298

        Reviewed by Andrei Bucur.

        * fast/regions/writing-mode/changing-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2-expected.html.
        * fast/regions/writing-mode/changing-writing-mode-2.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2.html.
        * fast/regions/writing-mode/changing-writing-mode-3-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3-expected.html.
        * fast/regions/writing-mode/changing-writing-mode-3.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3.html.
        * fast/regions/writing-mode/changing-writing-mode-4-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4-expected.html.
        * fast/regions/writing-mode/changing-writing-mode-4.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4.html.
        * fast/regions/writing-mode/changing-writing-mode-5-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5-expected.html.
        * fast/regions/writing-mode/changing-writing-mode-5.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5.html.
        * fast/regions/writing-mode/changing-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-expected.html.
        * fast/regions/writing-mode/changing-writing-mode.html: Renamed from LayoutTests/fast/regions/changing-writing-mode.html.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2-expected.html.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode-2.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2.html.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-expected.html.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode.html.

2014-08-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Move more multicol tests in fast/regions/multicol
        https://bugs.webkit.org/show_bug.cgi?id=136295

        Reviewed by Andrei Bucur.

        * fast/regions/multicol/regions-in-multicol-bt-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt-expected.html.
        * fast/regions/multicol/regions-in-multicol-bt.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt.html.
        * fast/regions/multicol/regions-in-multicol-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-expected.html.
        * fast/regions/multicol/regions-in-multicol-hover-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-expected.html.
        * fast/regions/multicol/regions-in-multicol-hover-overflow-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow-expected.html.
        * fast/regions/multicol/regions-in-multicol-hover-overflow.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow.html.
        * fast/regions/multicol/regions-in-multicol-hover.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover.html.
        * fast/regions/multicol/regions-in-multicol-lr-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr-expected.html.
        * fast/regions/multicol/regions-in-multicol-lr.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr.html.
        * fast/regions/multicol/regions-in-multicol-rl-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl-expected.html.
        * fast/regions/multicol/regions-in-multicol-rl.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl.html.
        * fast/regions/multicol/regions-in-multicol.html: Renamed from LayoutTests/fast/regions/regions-in-multicol.html.

2014-08-27  Zalan Bujtas  <zalan@apple.com>

        Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
        https://bugs.webkit.org/show_bug.cgi?id=136264

        Reviewed by Simon Fraser.
        
        1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping
        functions. ->snappedIntSize()/snapSizeToDevicePixel().
        2. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.

        Covered by existing tests.

        * cssom/subpixel-offsetleft-top-width-height-values-expected.txt:
        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:

2014-08-27  Daniel Bates  <dabates@apple.com>

        Scrollbar corner can be drawn outside containing frame
        https://bugs.webkit.org/show_bug.cgi?id=133131
        <rdar://problem/16382769>

        Reviewed by Simon Fraser.

        Add DRT test that was derived from the test included in
        <https://src.chromium.org/viewvc/blink?revision=170625&view=revision>.

        * scrollbars/custom-scrollbars-paint-outside-iframe-expected.html: Added.
        * scrollbars/custom-scrollbars-paint-outside-iframe.html: Added.

2014-08-27  Benjamin Poulain  <bpoulain@apple.com>

        Update placeholder-shown-basics.html for GTK

        GTK does not support the color input type. This was causing placeholder-shown-basics.html
        to fail when testing the non-support of placeholder by input[type=color].

        Since this is a minor part of the test, it is more valuable getting the test running everywhere
        than skipping it. I removed the subtest causing troubles.

        * fast/css/placeholder-shown-basics-expected.html:
        * fast/css/placeholder-shown-basics.html:
        * platform/gtk/TestExpectations:

2014-08-27  Andreas Kling  <akling@apple.com>

        Drawing text in an SVG font causes load events to be fired.
        <https://webkit.org/b/136269>
        <rdar://problem/15724915>

        Reviewed by Simon Fraser.

        * fast/text/svg-font-trigger-load-event-expected.txt: Added.
        * fast/text/svg-font-trigger-load-event.html: Added.

2014-08-27  Benjamin Poulain  <bpoulain@apple.com>

        Updating attributes on HTML elements do not invalidate the style correctly unless the attribute name is lowercase in the stylesheet
        https://bugs.webkit.org/show_bug.cgi?id=136270
        rdar://problem/16190617

        Reviewed by Andreas Kling.

        The test coverage for attribute update was abysmal. This adds the basic cases for HTML and XML.

        * fast/css/attribute-for-content-property-style-update-html-expected.html: Added.
        * fast/css/attribute-for-content-property-style-update-html.html: Added.
        * fast/css/attribute-for-content-property-style-update-xhtml-expected.html: Added.
        * fast/css/attribute-for-content-property-style-update-xhtml.xhtml: Added.
        * fast/css/attribute-style-invalidation-optimization-html-expected.txt: Added.
        * fast/css/attribute-style-invalidation-optimization-html.html: Added.
        * fast/css/attribute-style-invalidation-optimization-xhtml-expected.txt: Added.
        * fast/css/attribute-style-invalidation-optimization-xhtml.xhtml: Added.
        * fast/css/attribute-style-update-html-expected.html: Added.
        * fast/css/attribute-style-update-html.html: Added.
        * fast/selectors/attribute-style-update-html-expected.txt: Added.
        * fast/selectors/attribute-style-update-html.html: Added.
        * fast/selectors/attribute-style-update-svg-in-html-expected.txt: Added.
        * fast/selectors/attribute-style-update-svg-in-html.html: Added.
        * fast/selectors/attribute-style-update-xhtml-expected.txt: Added.
        * fast/selectors/attribute-style-update-xhtml.xhtml: Added.

2014-08-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Move generated content tests into fast/regions/generated-content
        https://bugs.webkit.org/show_bug.cgi?id=136288

        Reviewed by Andrei Bucur.

        Move related tests into generated-content folder and adjust paths.

        * fast/regions/generated-content/firstletter-inside-flowthread-expected.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread-expected.html.
        * fast/regions/generated-content/firstletter-inside-flowthread.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread.html.
        * fast/regions/generated-content/pseudo-after-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-after-content-node-expected.txt.
        * fast/regions/generated-content/pseudo-after-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-after-content-node.html.
        * fast/regions/generated-content/pseudo-before-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-before-content-node-expected.txt.
        * fast/regions/generated-content/pseudo-before-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-before-content-node.html.
        * fast/regions/generated-content/pseudo-first-letter-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node-expected.txt.
        * fast/regions/generated-content/pseudo-first-letter-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node.html.
        * fast/regions/generated-content/pseudo-first-line-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node-expected.txt.
        * fast/regions/generated-content/pseudo-first-line-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node.html.

2014-08-27  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        * platform/efl/TestExpectations: Add test expectations for failing and crashin tests.
        * platform/efl/fast/css/viewport-units-dynamic-expected.txt: Added after r171567.
        * platform/efl/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Added after r171609.
        * platform/efl/fast/ruby/bopomofo-expected.txt: Added after r172874.
        * platform/efl/fast/ruby/bopomofo-letter-spacing-expected.txt: Ditto.
        * platform/efl/fast/ruby/bopomofo-rl-expected.txt: Added after r172861.

2014-08-27  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Add expectations for flaky svg layout test.
        https://bugs.webkit.org/show_bug.cgi?id=130592

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations:

2014-08-27  Krzysztof Czech  <k.czech@samsung.com>

        [EFL] Share fast/speechsynthesis/ with other ports
        https://bugs.webkit.org/show_bug.cgi?id=136224

        Reviewed by Chris Fleizach.

        Share fast/speechsynthesis tests with EFL after r172956.
        Skipped them for GTK and Win.

        * fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt.
        * fast/speechsynthesis/speech-synthesis-boundary-events.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html.
        * fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt.
        * fast/speechsynthesis/speech-synthesis-cancel-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html.
        * fast/speechsynthesis/speech-synthesis-cancel-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt.
        * fast/speechsynthesis/speech-synthesis-cancel.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html.
        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt.
        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html.
        * fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt.
        * fast/speechsynthesis/speech-synthesis-elapsed-time.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html.
        * fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt.
        * fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html.
        * fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt.
        * fast/speechsynthesis/speech-synthesis-pause-resume.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html.
        * fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt.
        * fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html.
        * fast/speechsynthesis/speech-synthesis-speak-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt.
        * fast/speechsynthesis/speech-synthesis-speak.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak.html.
        * fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt.
        * fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html.
        * fast/speechsynthesis/speech-synthesis-voices-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices-expected.txt.
        * fast/speechsynthesis/speech-synthesis-voices.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices.html.
        * platform/gtk/TestExpectations: Skipped for GTK
        * platform/win/TestExpectations: Skipped for Win

2014-08-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Unskip compositing test
        https://bugs.webkit.org/show_bug.cgi?id=136151

        Reviewed by Csaba Osztrogonác.

        * platform/efl/TestExpectations: Unskip compositing tests.

2014-08-26  Vivek Galatage  <vivek.vg@samsung.com>

        Canvas direction should reflect change in dir attribute and also across save/restore operations
        https://bugs.webkit.org/show_bug.cgi?id=136098

        Reviewed by Darin Adler.

        * fast/canvas/canvas-direction-expected.txt:
        * fast/canvas/canvas-direction.html:

2014-08-26  Shivakumar JM  <shiva.jm@samsung.com>

        [EFL] FileApi Layout Tests passed in latest build.
        https://bugs.webkit.org/show_bug.cgi?id=136250

        Unreviewed gardening.

        FileApi Layout Tests passed in latest build 172953.

        * platform/efl/TestExpectations:

2014-08-26  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures after r136159, r172826 and r172835.
        * platform/gtk/fast/ruby/bopomofo-expected.txt: Added. Add baseline after r172861 and r172874.
        * platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.txt: Added. Add baseline after r172861 and r172874.
        * platform/gtk/fast/ruby/bopomofo-rl-expected.txt: Added. Add baseline after r172861 and r172874.
        * platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.png: Removed. Rebaseline (use default baseline) after r172835 and r172847.
        * platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed. Rebaseline (use default baseline) after r172835 and r172847.

2014-08-26  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Positioned polygon reftests failing
        https://bugs.webkit.org/show_bug.cgi?id=135925

        Reviewed by David Hyatt.

        * TestExpectations: Remove passing tests.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Fix test behavior.

2014-08-26  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r172940.
        https://bugs.webkit.org/show_bug.cgi?id=136256

        Caused assertions on fast/storage/serialized-script-
        value.html, and possibly flakiness on more tests (Requested by
        ap on #webkit).

        Reverted changeset:

        "FTL should be able to do polymorphic call inlining"
        https://bugs.webkit.org/show_bug.cgi?id=135145
        http://trac.webkit.org/changeset/172940

2014-08-23  Filip Pizlo  <fpizlo@apple.com>

        FTL should be able to do polymorphic call inlining
        https://bugs.webkit.org/show_bug.cgi?id=135145

        Reviewed by Geoffrey Garen.

        * js/regress/script-tests/simple-poly-call-nested.js: Added.
        * js/regress/script-tests/simple-poly-call.js: Added.
        * js/regress/simple-poly-call-expected.txt: Added.
        * js/regress/simple-poly-call-nested-expected.txt: Added.
        * js/regress/simple-poly-call-nested.html: Added.
        * js/regress/simple-poly-call.html: Added.

2014-08-25  Alexey Proskuryakov  <ap@apple.com>

        ASSERT(extractable()) when storing a non-extractable key in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=136202
        rdar://problem/17993967

        * platform/mac-wk1/TestExpectations: Skip the test, IndexedDB is not supported
        with WebKit1.

2014-08-25  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        * platform/efl/TestExpectations: Added test expecations for failing and crashing tests.
        * platform/efl/scrollbars/scrollbar-selectors-expected.txt: Rebaseline after r172220.

2014-08-22  Sergio Villar Senin  <svillar@igalia.com>

        ASSERTION FAILED: !trackSizes.isEmpty() in WebCore::createGridTrackList
        https://bugs.webkit.org/show_bug.cgi?id=136149

        Reviewed by Darin Adler.

        Added 3 new test cases to check invalid syntax in the repeat() function.

        Also fixed a bug in the testInvalidSyntax() function. We were
        using style.gridColumns instead of
        style.webkitGridTemplateColumns, so the tests were working fine
        because there were no such property.

        * fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:

2014-08-24  Alexey Proskuryakov  <ap@apple.com>

        ASSERT(extractable()) when storing a non-extractable key in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=136202
        rdar://problem/17993967

        Reviewed by Darin Adler.

        * crypto/subtle/rsa-indexeddb-non-exportable-expected.txt: Added.
        * crypto/subtle/rsa-indexeddb-non-exportable.html: Added.

2014-08-22  Zoltan Horvath  <zoltan@webkit.org>

        [EFL][WK2] Remove fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html from skipped list
        https://bugs.webkit.org/show_bug.cgi?id=128732

        Reviewed by Gyuyoung Kim.

        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
        * platform/efl/TestExpectations:

2014-08-22  Benjamin Poulain  <benjamin@webkit.org>

        Style invalidation does not work for adjacent node updates
        https://bugs.webkit.org/show_bug.cgi?id=136145

        Reviewed by Antti Koivisto.

        Add tests covering the basic cases: classes and attributes.

        First-child covers the basic positional updates.

        The tests have a version without any indirect adjacent ("~") because the marking
        used for those is much more generic and having them hide some bugs.

        Some tests are still failing. That is due to the style resolver not handling
        direct siblings ("+") correctly when there are multiple of them. I will address
        that separately.

        * fast/selectors/attribute-direct-adjacent-style-update-expected.txt: Added.
        * fast/selectors/attribute-direct-adjacent-style-update.html: Added.
        * fast/selectors/attribute-sibling-style-update-expected.txt: Added.
        * fast/selectors/attribute-sibling-style-update.html: Added.
        * fast/selectors/class-direct-adjacent-style-update-expected.txt: Added.
        * fast/selectors/class-direct-adjacent-style-update.html: Added.
        * fast/selectors/class-sibling-style-update-expected.txt: Added.
        * fast/selectors/class-sibling-style-update.html: Added.
        * fast/selectors/first-child-direct-adjacent-style-update.html: Added.
        * fast/selectors/first-child-sibling-style-update-expected.txt: Added.
        * fast/selectors/first-child-sibling-style-update.html: Added.
        * fast/selectors/placeholder-shown-sibling-style-update-expected.txt:

2014-08-22  David Hyatt  <hyatt@apple.com>

        Add proper support for letter-spacing to bopomofo Ruby
        https://bugs.webkit.org/show_bug.cgi?id=136171

        Reviewed by Sam Weinig.

        * fast/ruby/bopomofo-letter-spacing.html: Added.
        * platform/mac/fast/ruby/bopomofo-expected.png:
        * platform/mac/fast/ruby/bopomofo-expected.txt:
        * platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png: Added.
        * platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt: Added.

2014-08-21  David Hyatt  <hyatt@apple.com>

        Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
        https://bugs.webkit.org/show_bug.cgi?id=136137
        <rdar://problem/12567545>

        Reviewed by Sam Weinig.

        * fast/ruby/bopomofo-rl.html: Added.
        * fast/ruby/bopomofo.html: Added.
        * platform/mac/fast/ruby/bopomofo-expected.png: Added.
        * platform/mac/fast/ruby/bopomofo-expected.txt: Added.
        * platform/mac/fast/ruby/bopomofo-rl-expected.png: Added.
        * platform/mac/fast/ruby/bopomofo-rl-expected.txt: Added.

2014-08-21  Antti Koivisto  <antti@apple.com>

        Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
        https://bugs.webkit.org/show_bug.cgi?id=136139

        Reviewed by Simon Fraser.

        * fast/repaint/no-animation-outside-viewport-subframe-expected.txt: Added.
        * fast/repaint/no-animation-outside-viewport-subframe.html: Added.

2014-08-21  Zalan Bujtas  <zalan@apple.com>

        ruby-base-merge-block-children-crash-2.html should not use render tree dump.
        
        Unreviewed gardening.

        * fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added.
        * fast/ruby/ruby-base-merge-block-children-crash-2.html: restore previous version of the test.
        * platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed.

2014-08-21  Zalan Bujtas  <zalan@apple.com>

        Remove flaky saturated reftest. UnitTest takes care of saturated arithmetics.

        Unreviewed gardening.

        * fast/dynamic/saturated-layout-arithmetic-expected.html: Removed.
        * fast/dynamic/saturated-layout-arithmetic.html: Removed.

2014-08-21  Zalan Bujtas  <zalan@apple.com>

        Enable SATURATED_LAYOUT_ARITHMETIC.
        https://bugs.webkit.org/show_bug.cgi?id=136106

        Reviewed by Simon Fraser.

        SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
        (No measurable performance regression on Mac.)

        * fast/dynamic/saturated-layout-arithmetic-expected.html: Added.
        * fast/dynamic/saturated-layout-arithmetic.html: Added.
        * fast/ruby/ruby-base-merge-block-children-crash-2.html: saturated arithmetics changes behavior. fix test case.
        * scrollbars/scrollbar-large-overflow-rectangle.html: saturated arithmetics changes behavior. fix test case.

2014-08-21  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>

        New ruby parsing rule breaks some real web sites.
        https://bugs.webkit.org/show_bug.cgi?id=136062

        Reviewed by Ryosuke Niwa.

        html5lib-test was updated using my pull request:
        https://github.com/darobin/html5lib-tests/pull/2

        * fast/ruby/rp-inside-rtc-expected.html: Added.
        * fast/ruby/rp-inside-rtc.html: Added.
        * html5lib/resources/ruby.dat: The rp element should not auto close the rtc element.

2014-08-21  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>

        REGRESSION: CSS not() selector does not work when it appears after or within @supports
        https://bugs.webkit.org/show_bug.cgi?id=136063

        Reviewed by Darin Adler.

        Test that @supports doesn't break "not" pseudo class selector.

        * css3/supports-not-selector-cssom-expected.txt: Added.
        * css3/supports-not-selector-cssom.html: Added.
        * css3/supports-not-selector-expected.html: Added.
        * css3/supports-not-selector.html: Added.

2014-08-21  Beth Dakin  <bdakin@apple.com>

        overflow:scroll elements should support rubber-banding
        https://bugs.webkit.org/show_bug.cgi?id=91655

        Reviewed by Sam Weinig and Darin Adler.

        Re-baseline. Mostly these tests are different now that end end event is handled.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:

        This test requires a longer timeout to ensure that the rubber-band has ended.
        * platform/mac/fast/scrolling/scroll-latched-nested-div.html:

2014-08-21  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

        [GTK] WebkitWebProcess crashing navigating away from ogg video element
        https://bugs.webkit.org/show_bug.cgi?id=135348

        Reviewed by Philippe Normand.

        * platform/gtk/TestExpectations: Enable
        media/restore-from-page-cache.html,
        plugins/netscape-plugin-page-cache-works.html and
        animations/resume-after-page-cache.html. They should pass correctly.
        Skip compositing/iframes/page-cache-layer-tree.html since we disable
        that optimization.

2014-08-21  Shivakumar JM  <shiva.jm@samsung.com>

        [EFL][WK2] Websocket Layout Tests passed in latest build.
        https://bugs.webkit.org/show_bug.cgi?id=136100

        Unreviewed gardening.

        Websocket Layout Tests passed in latest build, possibly because r172438 (https://bugs.webkit.org/show_bug.cgi?id=135831) in version
        172796.

        * platform/efl/TestExpectations:

2014-08-20  Benjamin Poulain  <benjamin@webkit.org>

        CSS: Implement the :placeholder-shown pseudo-class from Selectors Level 4
        https://bugs.webkit.org/show_bug.cgi?id=118162

        Reviewed by Antti Koivisto.

        Add basic test coverage for common operations: styling, querySelector, CSSOM.

        The layout test failure of placeholder-shown-sibling-style-update.html seems unrelated
        to this patch, it fails in many more cases. This will be investigated separately, the failure
        are used as expected values for now.

        * fast/css/css-selector-text-expected.txt:
        * fast/css/css-selector-text.html:
        * fast/css/css-set-selector-text-expected.txt:
        * fast/css/css-set-selector-text.html:
        * fast/css/placeholder-shown-basics-expected.html: Added.
        * fast/css/placeholder-shown-basics.html: Added.
        * fast/selectors/placeholder-shown-long-adjacent-backtracking-expected.txt: Added.
        * fast/selectors/placeholder-shown-long-adjacent-backtracking.html: Added.
        * fast/selectors/placeholder-shown-sibling-style-update-expected.txt: Added.
        * fast/selectors/placeholder-shown-sibling-style-update.html: Added.
        * fast/selectors/placeholder-shown-style-update-expected.txt: Added.
        * fast/selectors/placeholder-shown-style-update.html: Added.
        * fast/selectors/placeholder-shown-with-input-basics-expected.txt: Added.
        * fast/selectors/placeholder-shown-with-input-basics.html: Added.
        * fast/selectors/placeholder-shown-with-textarea-basics-expected.txt: Added.
        * fast/selectors/placeholder-shown-with-textarea-basics.html: Added.

2014-08-20  Benjamin Poulain  <bpoulain@apple.com>

        Remove HTMLInputElement's suggestedValue
        https://bugs.webkit.org/show_bug.cgi?id=136094

        Reviewed by Darin Adler.

        * fast/forms/suggested-value-after-setvalue-expected.txt: Removed.
        * fast/forms/suggested-value-after-setvalue.html: Removed.
        * fast/forms/suggested-value-expected.txt: Removed.
        * fast/forms/suggested-value.html: Removed.

2014-08-20  Dean Jackson  <dino@apple.com>

        WebAudio FFT analysis uses incorrect scaling
        https://bugs.webkit.org/show_bug.cgi?id=136120

        Reviewed by Tim Horton.

        Test from Blink r166687.

        * webaudio/realtimeanalyser-fft-scaling.html: Added.
        * webaudio/realtimeanalyser-fft-scaling-expected.txt: Added.

2014-08-20  Alexey Proskuryakov  <ap@apple.com>

        fast/multicol/mixed-opacity-fixed-test.html fails in compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=136109

        * platform/mac-wk2/TestExpectations: Updated test expectations to a non-flaky failure,
        and to point to the new bug.

2014-08-20  Zalan Bujtas  <zalan@apple.com>

        Dashed/dotted borders do not paint.
        https://bugs.webkit.org/show_bug.cgi?id=135898

        Reviewed by Simon Fraser.

        *-at-all files test that we always paint borders.
        The other set of files test that borders are painted properly. They take
        advantage of the fact that borders with radius use a different painting code path.

        * TestExpectations:
        * fast/borders/border-painting-dashed-at-all-expected.html: Added.
        * fast/borders/border-painting-dashed-at-all.html: Added.
        * fast/borders/border-painting-dashed-expected.html: Added.
        * fast/borders/border-painting-dashed.html: Added.
        * fast/borders/border-painting-dotted-at-all-expected.html: Added.
        * fast/borders/border-painting-dotted-at-all.html: Added.
        * fast/borders/border-painting-dotted-expected.html: Added.
        * fast/borders/border-painting-dotted.html: Added.
        * fast/borders/border-painting-double-at-all-expected.html: Added.
        * fast/borders/border-painting-double-at-all.html: Added.
        * fast/borders/border-painting-double-expected.html: Added.
        * fast/borders/border-painting-double.html: Added.
        * fast/borders/border-painting-groove-at-all-expected.html: Added.
        * fast/borders/border-painting-groove-at-all.html: Added.
        * fast/borders/border-painting-inset-at-all-expected.html: Added.
        * fast/borders/border-painting-inset-at-all.html: Added.
        * fast/borders/border-painting-inset-expected.html: Added.
        * fast/borders/border-painting-inset.html: Added.
        * fast/borders/border-painting-outset-at-all-expected.html: Added.
        * fast/borders/border-painting-outset-at-all.html: Added.
        * fast/borders/border-painting-outset-expected.html: Added.
        * fast/borders/border-painting-outset.html: Added.
        * fast/borders/border-painting-ridge-at-all-expected.html: Added.
        * fast/borders/border-painting-ridge-at-all.html: Added.
        * fast/borders/border-painting-solid-at-all-expected.html: Added.
        * fast/borders/border-painting-solid-at-all.html: Added.
        * fast/borders/border-painting-solid-expected.html: Added.
        * fast/borders/border-painting-solid.html: Added.
        * fast/borders/hidpi-border-painting-groove-expected.html: Added.
        * fast/borders/hidpi-border-painting-groove.html: Added.
        * fast/borders/hidpi-border-painting-ridge-expected.html: Added.
        * fast/borders/hidpi-border-painting-ridge.html: Added.

2014-08-19  Jinwoo Song  <jinwoo7.song@samsung.com>

        Ignore usemap attributes without '#' in img element
        https://bugs.webkit.org/show_bug.cgi?id=133336

        Reviewed by Ryosuke Niwa.

        HTML5 specification says we should ignore usemap attributes without #.
        http://www.w3.org/TR/html5/infrastructure.html#valid-hash-name-reference

        * fast/dom/replaced-image-map-valid-hash-name-expected.txt: Added.
        * fast/dom/replaced-image-map-valid-hash-name.html: Added.
        * fast/images/image-map-multiple-xhtml.xhtml: Modified usemap attribute value to use '#'.

2014-08-19  Filip Pizlo  <fpizlo@apple.com>

        REGRESSION(r172401): for-in optimization no longer works at all
        https://bugs.webkit.org/show_bug.cgi?id=136056

        Reviewed by Geoffrey Garen.
        
        This just needs a rebase because the number of calls into the DOM has changed and so the
        number of console messages about security stuff has now changed.

        * http/tests/security/cross-frame-access-enumeration-expected.txt:

2014-08-19  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] A few calc() test failures in the shape-image-threshold parsing tests
        https://bugs.webkit.org/show_bug.cgi?id=135926

        Reviewed by Dirk Schulze.

        * TestExpectations: Remove Failure and Crash expectations.
        * css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt:
            Proper expected results now that the test passes.
        * css3/shapes/shape-outside/values/shape-image-threshold-001.html:
            Adding together calcs isn't valid, so move the addition inside of
            the calc expression. This will also be updated upstream.

2014-08-19  Alexey Proskuryakov  <ap@apple.com>

        ASSERT_NOT_REACHED on css3/shapes/shape-outside/values/shape-image-threshold-001.html
        https://bugs.webkit.org/show_bug.cgi?id=136075

        * TestExpectations: Skipped the test in debug mode.

2014-08-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Mark tests failing after r172733 (W3C CSS Shapes test suite import)
        Update list of flaky tests. Report and mark new failures. Remove expectations for new passing tests.

2014-08-18  Benjamin Poulain  <bpoulain@apple.com>

        Mark shape-image-threshold-001.html as crashing in debug

        * TestExpectations:
        The test css3/shapes/shape-outside/values/shape-image-threshold-001.html systematically assert
        in debug. Skip the results until the author investigate.

2014-08-18  Rebecca Hauck  <rhauck@adobe.com>

        [CSS Shapes] Import the CSS Shapes W3C test suite
        https://bugs.webkit.org/show_bug.cgi?id=135921

        Reviewed by Bem Jones-Bey.

        This patch contains the imported CSS Shapes W3C test suite
        brought in and converted to WebKit style using
        Tools/Scripts/impoart-w3c-tests.

        * TestExpectations:
        * css3/shapes/shape-outside-invalid-001-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-001.html: Added.
        * css3/shapes/shape-outside-invalid-circle-000-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-circle-000.html: Added.
        * css3/shapes/shape-outside-invalid-circle-001-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-circle-001.html: Added.
        * css3/shapes/shape-outside-invalid-circle-002-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-circle-002.html: Added.
        * css3/shapes/shape-outside-invalid-circle-003-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-circle-003.html: Added.
        * css3/shapes/shape-outside-invalid-ellipse-001-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-ellipse-001.html: Added.
        * css3/shapes/shape-outside-invalid-ellipse-002-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-ellipse-002.html: Added.
        * css3/shapes/shape-outside-invalid-ellipse-003-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-ellipse-003.html: Added.
        * css3/shapes/shape-outside-invalid-ellipse-004-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-ellipse-004.html: Added.
        * css3/shapes/shape-outside-invalid-ellipse-005-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-ellipse-005.html: Added.
        * css3/shapes/shape-outside-invalid-ellipse-006-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-ellipse-006.html: Added.
        * css3/shapes/shape-outside-invalid-inset-001-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-inset-001.html: Added.
        * css3/shapes/shape-outside-invalid-inset-002-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-inset-002.html: Added.
        * css3/shapes/shape-outside-invalid-inset-003-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-inset-003.html: Added.
        * css3/shapes/shape-outside-invalid-inset-004-expected.txt: Added.
        * css3/shapes/shape-outside-invalid-inset-004.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-002-expected.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-002.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-003-expected.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-003.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-004-expected.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-004.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-006-expected.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-006.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-007-expected.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-007.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-008-expected.html: Added.
        * css3/shapes/shape-outside/shape-box/shape-outside-box-008.html: Added.
        * css3/shapes/shape-outside/shape-box/w3c-import.log: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html: Added.
        * css3/shapes/shape-outside/shape-image/gradients/w3c-import.log: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-000-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-000.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-001-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-001.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-002-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-002.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-003-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-003.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-004-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-004.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-005-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-005.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-012-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-012.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-013-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-013.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-014-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-014.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-015-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-015.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-016-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-016.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-017-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-017.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-018-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-018.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-019-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-019.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-020-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-020.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-021-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-021.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-022-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-022.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-023-expected.html: Added.
        * css3/shapes/shape-outside/shape-image/shape-image-023.html: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.png: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.svg: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50.png: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50.svg: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70.png: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70.svg: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle.jpg: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle.png: Added.
        * css3/shapes/shape-outside/shape-image/support/left-half-rectangle.svg: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle-20.png: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle-50.png: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70.png: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70.svg: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle.gif: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle.jpg: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle.png: Added.
        * css3/shapes/shape-outside/shape-image/support/right-half-rectangle.svg: Added.
        * css3/shapes/shape-outside/shape-image/support/w3c-import.log: Added.
        * css3/shapes/shape-outside/shape-image/w3c-import.log: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031.html: Added.
        * css3/shapes/shape-outside/supported-shapes/circle/w3c-import.log: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html: Added.
        * css3/shapes/shape-outside/supported-shapes/ellipse/w3c-import.log: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015.html: Added.
        * css3/shapes/shape-outside/supported-shapes/inset/w3c-import.log: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017-expected.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html: Added.
        * css3/shapes/shape-outside/supported-shapes/polygon/w3c-import.log: Added.
        * css3/shapes/shape-outside/supported-shapes/support/rounded-rectangle.js: Added.
        (ellipseXIntercept):
        (scanConvertRoundedRectangleOutside):
        (genLeftRoundedRectFloatShapeOutsideRefTest):
        (getRoundedRectLeftEdge):
        (genRightRoundedRectFloatShapeOutsideRefTest):
        * css3/shapes/shape-outside/supported-shapes/support/subpixel-utils.js: Added.
        (SubPixelLayout):
        (SubPixelLayout.):
        * css3/shapes/shape-outside/supported-shapes/support/test-utils.js: Added.
        (verifyTextPoints):
        * css3/shapes/shape-outside/values/shape-image-threshold-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-image-threshold-000.html: Added.
        * css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-image-threshold-001.html: Added.
        * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-image-threshold-002.html: Added.
        * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-image-threshold-003.html: Added.
        * css3/shapes/shape-outside/values/shape-margin-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-margin-000.html: Added.
        * css3/shapes/shape-outside/values/shape-margin-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-margin-001.html: Added.
        * css3/shapes/shape-outside/values/shape-margin-002-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-margin-002.html: Added.
        * css3/shapes/shape-outside/values/shape-margin-003-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-margin-003.html: Added.
        * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-margin-004.html: Added.
        * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-margin-005.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-box-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-box-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-001.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-002-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-002.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-003.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-004-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-004.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-005-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-005.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-006.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-007.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-008.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-009-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-009.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-010-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-010.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-011-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-circle-011.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-computed-shape-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-computed-shape-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-computed-shape-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-computed-shape-001.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-001.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-002.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-003.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-004.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-005-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-005.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-006.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-007.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-008.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-009-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-009.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-010.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-ellipse-011.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-001.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-002-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-002.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-003-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-003.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-004-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-004.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-005.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-006.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-007.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-008-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-008.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-009-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-inset-009.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-001.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-002-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-002.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-003.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-004-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-004.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-005-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-005.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-006-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-polygon-006.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-arguments-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-arguments-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-arguments-001-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-arguments-001.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-box-pair-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-inherit-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-inherit-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-initial-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-initial-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-none-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-none-000.html: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-notation-000-expected.txt: Added.
        * css3/shapes/shape-outside/values/shape-outside-shape-notation-000.html: Added.
        * css3/shapes/shape-outside/values/support/parsing-utils.js: Added.
        (ParsingUtils):
        (ParsingUtils.):
        * css3/shapes/shape-outside/values/support/w3c-import.log: Added.
        * css3/shapes/shape-outside/values/w3c-import.log: Added.
        * css3/shapes/spec-examples/shape-outside-001-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-001.html: Added.
        * css3/shapes/spec-examples/shape-outside-002-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-002.html: Added.
        * css3/shapes/spec-examples/shape-outside-003-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-003.html: Added.
        * css3/shapes/spec-examples/shape-outside-004-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-004.html: Added.
        * css3/shapes/spec-examples/shape-outside-005-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-005.html: Added.
        * css3/shapes/spec-examples/shape-outside-006-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-006.html: Added.
        * css3/shapes/spec-examples/shape-outside-007-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-007.html: Added.
        * css3/shapes/spec-examples/shape-outside-008-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-008.html: Added.
        * css3/shapes/spec-examples/shape-outside-010-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-010.html: Added.
        * css3/shapes/spec-examples/shape-outside-011-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-011.html: Added.
        * css3/shapes/spec-examples/shape-outside-012-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-012.html: Added.
        * css3/shapes/spec-examples/shape-outside-013-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-013.html: Added.
        * css3/shapes/spec-examples/shape-outside-014-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-014.html: Added.
        * css3/shapes/spec-examples/shape-outside-015-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-015.html: Added.
        * css3/shapes/spec-examples/shape-outside-016-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-016.html: Added.
        * css3/shapes/spec-examples/shape-outside-017-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-017.html: Added.
        * css3/shapes/spec-examples/shape-outside-018-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-018.html: Added.
        * css3/shapes/spec-examples/shape-outside-019-expected.html: Added.
        * css3/shapes/spec-examples/shape-outside-019.html: Added.
        * css3/shapes/spec-examples/support/circle-no-shadow.png: Added.
        * css3/shapes/spec-examples/support/circle-shadow.png: Added.
        * css3/shapes/spec-examples/support/rounded-triangle.svg: Added.
        * css3/shapes/spec-examples/support/w3c-import.log: Added.
        * css3/shapes/spec-examples/w3c-import.log: Added.
        * css3/shapes/w3c-import.log: Added.

2014-08-18  Andreas Kling  <akling@apple.com>

        REGRESSION(r168256): JSString can get 8-bit flag wrong when re-using AtomicStrings.
        <https://webkit.org/b/133574>
        <rdar://problem/18051847>

        Add a tests that creates a 16-bit AtomicString with only 8-bit characters,
        then tiers up into baseline JIT and uses that string as part of a rope-within-a-rope
        and serializes that rope to get an incorrect concatenation.

        Reviewed by Darin Adler.

        * js/dopey-rope-with-16-bit-propertyname-expected.txt: Added.
        * js/dopey-rope-with-16-bit-propertyname.html: Added.

2014-08-18  Vivek Galatage  <vivek.vg@samsung.com>

        Implement CanvasRenderingContext2D direction attribute
        https://bugs.webkit.org/show_bug.cgi?id=135878

        Reviewed by Darin Adler.

        * fast/canvas/canvas-direction-expected.txt: Added.
        * fast/canvas/canvas-direction.html: Added.

2014-08-18  Benjamin Poulain  <benjamin@webkit.org>

        The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element
        https://bugs.webkit.org/show_bug.cgi?id=135999

        Reviewed by Antti Koivisto.

        * fast/css/pseudo-element-updates-on-empty-expected.html: Added.
        * fast/css/pseudo-element-updates-on-empty.html: Added.
        * fast/selectors/empty-adjacent-style-update-expected.txt:
        * fast/selectors/empty-adjacent-style-update.html:
        * fast/selectors/empty-style-update-expected.txt:
        * fast/selectors/empty-style-update.html:
        * fast/selectors/not-empty-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/empty-adjacent-style-update-expected.txt.
        * fast/selectors/not-empty-adjacent-style-update.html: Copied from LayoutTests/fast/selectors/empty-adjacent-style-update.html.
        * fast/selectors/not-empty-style-update-expected.txt: Copied from LayoutTests/fast/selectors/empty-style-update-expected.txt.
        * fast/selectors/not-empty-style-update.html: Copied from LayoutTests/fast/selectors/empty-style-update.html.

2014-08-18  Andy Estes  <aestes@apple.com>

        Remove a test inadvertently landed in r172709.

        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed-after-load.html: Removed.

2014-08-18  Dirk Schulze  <krit@webkit.org>

        calc() doesn't work for SVG CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=136026

        Reviewed by Andreas Kling.

        Test calc() on length properties for SVG.

        * svg/css/getComputedStyle-basic-expected.txt:
        * svg/css/parse-calc-length-expected.txt: Added.
        * svg/css/parse-calc-length.html: Added.

2014-08-18  Andy Estes  <aestes@apple.com>

        REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme
        https://bugs.webkit.org/show_bug.cgi?id=136010

        Reviewed by Darin Adler.

        Removed tests that verified the behavior of setAllowNavigationToInvalidURL(true), which no longer exists:
        * fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Removed.
        * fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Removed.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Removed.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Removed.

        Added tests that verify the policy delegate is executed on some navigations to invalid URLs:
        * fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Added.
        * fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Added.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Added.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Added.
        * fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Added.
        * fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Added.

        Renamed some existing tests added in r170120, modified them to log willPerformClientRedirectToURL and
        didCancelClientRedirectForFrame, and added a test to verify navigations in existing frames via window.open:
        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt.
        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript.html.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html.
        * fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Added.
        * fast/loader/window-open-to-invalid-url-disallowed.html: Added.

2014-08-18  Diego Pino Garcia  <dpino@igalia.com>

        Completed iterator can be revived by adding more than one new entry to the target object
        https://bugs.webkit.org/show_bug.cgi?id=129993

        Reviewed by Oliver Hunt.

        Test a Map or Set iterator should remain dead after using it.

        * js/basic-map-expected.txt:
        * js/basic-set-expected.txt: 
        * js/script-tests/basic-map.js: 
        (set var):
        (set map):
        * js/script-tests/basic-set.js:
        (keys.set keys):
        (set add.set add):

2014-08-18  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>

        Fix keyTimes list length of from/to/by animations.
        https://bugs.webkit.org/show_bug.cgi?id=136037

        Reviewed by Darin Adler.

        * svg/animations/invalid-keytime-number-crash-expected.txt: Added.
        * svg/animations/invalid-keytime-number-crash.html: Added.

2014-08-18  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK gardening. Adding a GTK-specific baseline
        that's required after changes in r172620.

        * platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt: Added.

2014-08-18  Andy Estes  <aestes@apple.com>

        Revert r172697.

        It made several webarchive layout tests flaky and didn't have the correct behavior for non-quick redirects.

        * fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
        * fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Added.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-javascript.html: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html: Added.
        * fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Removed.
        * fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Removed.
        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Removed.
        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Removed.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Removed.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Removed.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Removed.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Removed.
        * fast/loader/resources/redirect-to-invalid-url-using-javascript.html: Added.
        * fast/loader/resources/redirect-to-invalid-url-using-meta-refresh.html: Added.
        * fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Removed.
        * fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Removed.
        * fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Removed.
        * fast/loader/window-open-to-invalid-url-disallowed.html: Removed.

2014-08-15  Andy Estes  <aestes@apple.com>

        REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme
        https://bugs.webkit.org/show_bug.cgi?id=136010

        Reviewed by Darin Adler.

        Removed tests that verified the behavior of setAllowNavigationToInvalidURL(true), which no longer exists:
        * fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Removed.
        * fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Removed.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Removed.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Removed.

        Added tests that verify the policy delegate is executed on some navigations to invalid URLs:
        * fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Added.
        * fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Added.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Added.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Added.
        * fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Added.
        * fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Added.

        Renamed some existing tests added in r170120, modified them to log willPerformClientRedirectToURL and
        didCancelClientRedirectForFrame, and added a test to verify navigations in existing frames via window.open:
        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt.
        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript.html.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html.
        * fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Added.
        * fast/loader/window-open-to-invalid-url-disallowed.html: Added.

2014-08-15  Zalan Bujtas  <zalan@apple.com>

        REGRESSION: Parts of the route/route options windows are invisible at maps.google.com
        https://bugs.webkit.org/show_bug.cgi?id=135977
        <rdar://problem/17961698>

        Reviewed by Andreas Kling.

        When the style change requires both layout and repaint, the style diff is set to
        'layout is needed' (and masks the repaint change) as normally layout is followed by a repaint.
        However, in compositing context, layout may not be followed by repaint, so when the style diff
        indicates layout, we need to figure out whether it implies repaint too.
        This logic should eventually be moved from RenderElement to RenderLayerModelObject/RenderLayer.
        -tracked here: webkit.org/b/135990

        * compositing/cliprect-and-position-change-on-compositing-layer-expected.html: Added.
        * compositing/cliprect-and-position-change-on-compositing-layer.html: Added.

2014-08-15  Dirk Schulze  <krit@webkit.org>

        Turn r/rx/ry to presentation attributes
        https://bugs.webkit.org/show_bug.cgi?id=135978

        Reviewed by Dean Jackson.

        Rebaseline test.

        * svg/css/parse-length-expected.txt:

2014-08-15  Dirk Schulze  <krit@webkit.org>

        Turn r/rx/ry to presentation attributes
        https://bugs.webkit.org/show_bug.cgi?id=135978

        Reviewed by Dean Jackson.

        This follows the patch for width and height presentation attributes and
        turns r, rx and ry to presentation attributes as well:

        ​http://trac.webkit.org/changeset/171341

        * svg/css/parse-length.html:
        * transitions/svg-layout-transition-expected.txt:
        * transitions/svg-layout-transition.html:

2014-08-15  Dirk Schulze  <krit@webkit.org>

        Turn cx/cy to presentation attributes
        https://bugs.webkit.org/show_bug.cgi?id=135975

        Reviewed by Dean Jackson.

        This follows the patch for width and height presentation attributes and
        turns cx and cy to presentation attributes as well:

        ​http://trac.webkit.org/changeset/171341

        * svg/css/parse-length-expected.txt:
        * svg/css/parse-length.html:
        * transitions/svg-layout-transition-expected.txt:
        * transitions/svg-layout-transition.html:

2014-08-14  Benjamin Poulain  <benjamin@webkit.org>

        CSS JIT: compile the :empty pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=135958

        Reviewed by Andreas Kling.

        Add some test coverage, :empty had very little testing.

        The test empty-adjacent-style-update expose some problems with style update,
        I will look into them separately.

        * fast/selectors/empty-adjacent-style-update-expected.txt: Added.
        * fast/selectors/empty-adjacent-style-update.html: Added.
        * fast/selectors/empty-basics-expected.txt: Added.
        * fast/selectors/empty-basics.html: Added.
        * fast/selectors/empty-long-adjacent-backtracking-expected.txt: Added.
        * fast/selectors/empty-long-adjacent-backtracking.html: Added.
        * fast/selectors/empty-style-update-expected.txt: Added.
        * fast/selectors/empty-style-update.html: Added.

2014-08-14  Martin Hock  <mhock@apple.com>

        IndexedDB should respect SchemeRegistry's database access setting.
        https://bugs.webkit.org/show_bug.cgi?id=135890
        <rdar://problem/17989469>

        Reviewed by Alexey Proskuryakov.

        * storage/indexeddb/open-db-private-browsing-expected.txt: Added.
        * storage/indexeddb/open-db-private-browsing.html: Added. Simple test to open database in private browsing mode.
        * storage/indexeddb/resources/open-db-private-browsing.js: Added.

2014-08-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Update expectations with new identified failures and flakiness.
        * platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Rebaseline after r172517.
        * platform/gtk/fast/ruby/ruby/ruby-base-merge-block-children-crash-2-expected.png: Removed. File was in wrong path.
        * platform/gtk/fast/ruby/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed. File was in wrong path.
        * platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaseline after r172136.
        * platform/gtk/scrollbars/scrollbar-selectors-expected.txt: Added. Rebaseline after r172220.

2014-08-14  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Move svg tests into fast/regions/svg
        https://bugs.webkit.org/show_bug.cgi?id=135883

        Reviewed by Andrei Bucur.

        Move tests and adjust paths accordingly.

        * fast/regions/svg/svg-doc-fragment-not-collected-expected.html: Renamed from LayoutTests/fast/regions/svg-doc-fragment-not-collected-expected.html.
        * fast/regions/svg/svg-doc-fragment-not-collected.html: Renamed from LayoutTests/fast/regions/svg-doc-fragment-not-collected.html.
        * fast/regions/svg/svg-element-not-collected-expected.html: Renamed from LayoutTests/fast/regions/svg-element-not-collected-expected.html.
        * fast/regions/svg/svg-element-not-collected.html: Renamed from LayoutTests/fast/regions/svg-element-not-collected.html.
        * fast/regions/svg/svg-root-element-collected-expected.txt: Renamed from LayoutTests/fast/regions/svg-root-element-collected-expected.txt.
        * fast/regions/svg/svg-root-element-collected.html: Renamed from LayoutTests/fast/regions/svg-root-element-collected.html.
        * fast/regions/svg/symbol-in-named-flow-crash-expected.txt: Renamed from LayoutTests/fast/regions/symbol-in-named-flow-crash-expected.txt.
        * fast/regions/svg/symbol-in-named-flow-crash.svg: Renamed from LayoutTests/fast/regions/symbol-in-named-flow-crash.svg.

2014-08-13  Simon Fraser  <simon.fraser@apple.com>

        Land correct results for compositing/fixed-image-loading.html on WK1 and WK2.

        * compositing/fixed-image-loading-expected.txt:
        * platform/mac-wk2/compositing/fixed-image-loading-expected.txt: Added.

2014-08-13  Simon Fraser  <simon.fraser@apple.com>

        Fix the test result for MountainLion and Mavericks, which don't composite fixed position.
        
        * compositing/fixed-image-loading-expected.txt:

2014-08-13  Simon Fraser  <simon.fraser@apple.com>

        [WK1] A fixed-position <img> may not show on page load
        https://bugs.webkit.org/show_bug.cgi?id=135893

        Reviewed by Tim Horton.
        
        Test with a position:fixed image. Note that the test has to force layout
        early on to test the bug.

        * compositing/fixed-image-loading-expected.txt: Added.
        * compositing/fixed-image-loading.html: Added.

2014-08-13  Zoltan Horvath  <zoltan@webkit.org>

        [CSS3-Text] Add rendering support for the none value of text-justify property
        https://bugs.webkit.org/show_bug.cgi?id=135349

        Reviewed by David Hyatt.

        * fast/css3-text/css3-text-justify/text-justify-none-expected.html: Added.
        * fast/css3-text/css3-text-justify/text-justify-none.html: Added.
        * platform/mac/TestExpectations:

2014-08-13  Eric Carlson  <eric.carlson@apple.com>

        Media document sends incorrect referer header
        https://bugs.webkit.org/show_bug.cgi?id=135839

        Reviewed by Jer Noble.

        * http/tests/media/media-document-referer-expected.txt: Added.
        * http/tests/media/media-document-referer.html: Added.
        * http/tests/media/resources/video-referer-check-referer.php: Take expected referer as a
            parameter instead of hard coding it.
        * http/tests/media/video-referer.html: Pass referer to loader script.

2014-08-13  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Move scrolling tests under fast/regions/scrolling
        https://bugs.webkit.org/show_bug.cgi?id=135881

        Reviewed by Andrei Bucur.

        * fast/regions/scrolling/scroll-into-view-expected.html: Renamed from LayoutTests/fast/regions/scroll-into-view-expected.html.
        * fast/regions/scrolling/scroll-into-view-relative-expected.html: Renamed from LayoutTests/fast/regions/scroll-into-view-relative-expected.html.
        * fast/regions/scrolling/scroll-into-view-relative.html: Renamed from LayoutTests/fast/regions/scroll-into-view-relative.html.
        * fast/regions/scrolling/scroll-into-view.html: Renamed from LayoutTests/fast/regions/scroll-into-view.html.
        * fast/regions/scrolling/scrollable-first-region-expected.html: Renamed from LayoutTests/fast/regions/scrollable-first-region-expected.html.
        * fast/regions/scrolling/scrollable-first-region.html: Renamed from LayoutTests/fast/regions/scrollable-first-region.html.
        * fast/regions/scrolling/scrollable-last-region-expected.html: Renamed from LayoutTests/fast/regions/scrollable-last-region-expected.html.
        * fast/regions/scrolling/scrollable-last-region.html: Renamed from LayoutTests/fast/regions/scrollable-last-region.html.
        * fast/regions/scrolling/scrollable-paragraph-unsplittable-expected.html: Renamed from LayoutTests/fast/regions/scrollable-paragraph-unsplittable-expected.html.
        * fast/regions/scrolling/scrollable-paragraph-unsplittable.html: Renamed from LayoutTests/fast/regions/scrollable-paragraph-unsplittable.html.
        * fast/regions/scrolling/scrollable-region-content-size-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-horiz-bt-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-horiz-bt-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-horiz-bt.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-horiz-bt.html.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-horiz-bt-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-horiz-bt-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-horiz-bt.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-vert-rl-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-vert-rl-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-vert-rl.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow.html.
        * fast/regions/scrolling/scrollable-region-content-size-relative-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-relative-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-relative.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-relative.html.
        * fast/regions/scrolling/scrollable-region-content-size-vert-rl-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vert-rl-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-vert-rl.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vert-rl.html.
        * fast/regions/scrolling/scrollable-region-content-size-vertical-lr-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vertical-lr-expected.html.
        * fast/regions/scrolling/scrollable-region-content-size-vertical-lr.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vertical-lr.html.
        * fast/regions/scrolling/scrollable-region-content-size.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size.html.
        * fast/regions/scrolling/scrollable-region-scrollable-absolute-content-background-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-absolute-content-background-expected.html.
        * fast/regions/scrolling/scrollable-region-scrollable-absolute-content-background.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-absolute-content-background.html.
        * fast/regions/scrolling/scrollable-region-scrollable-content-background-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content-background-expected.html.
        * fast/regions/scrolling/scrollable-region-scrollable-content-background.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content-background.html.
        * fast/regions/scrolling/scrollable-region-scrollable-content-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content-expected.html.
        * fast/regions/scrolling/scrollable-region-scrollable-content.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content.html.
        * fast/regions/scrolling/scrollable-regions-hit-testing-inside-expected.html: Renamed from LayoutTests/fast/regions/scrollable-regions-hit-testing-inside-expected.html.
        * fast/regions/scrolling/scrollable-regions-hit-testing-inside.html: Renamed from LayoutTests/fast/regions/scrollable-regions-hit-testing-inside.html.
        * fast/regions/scrolling/scrollable-single-region-bt-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-bt-expected.html.
        * fast/regions/scrolling/scrollable-single-region-bt.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-bt.html.
        * fast/regions/scrolling/scrollable-single-region-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-expected.html.
        * fast/regions/scrolling/scrollable-single-region-lr-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-lr-expected.html.
        * fast/regions/scrolling/scrollable-single-region-lr.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-lr.html.
        * fast/regions/scrolling/scrollable-single-region-relative-element-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-relative-element-expected.html.
        * fast/regions/scrolling/scrollable-single-region-relative-element.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-relative-element.html.
        * fast/regions/scrolling/scrollable-single-region-rl-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-rl-expected.html.
        * fast/regions/scrolling/scrollable-single-region-rl.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-rl.html.
        * fast/regions/scrolling/scrollable-single-region.html: Renamed from LayoutTests/fast/regions/scrollable-single-region.html.
        * fast/regions/scrolling/wheel-scroll-abspos-expected.html: Renamed from LayoutTests/fast/regions/wheel-scroll-abspos-expected.html.
        * fast/regions/scrolling/wheel-scroll-abspos.html: Renamed from LayoutTests/fast/regions/wheel-scroll-abspos.html.
        * fast/regions/scrolling/wheel-scroll-expected.html: Renamed from LayoutTests/fast/regions/wheel-scroll-expected.html.
        * fast/regions/scrolling/wheel-scroll.html: Renamed from LayoutTests/fast/regions/wheel-scroll.html.
        * fast/regions/scrolling/wheel-scrollable-single-region-expected.html: Renamed from LayoutTests/fast/regions/wheel-scrollable-single-region-expected.html.
        * fast/regions/scrolling/wheel-scrollable-single-region.html: Renamed from LayoutTests/fast/regions/wheel-scrollable-single-region.html.
        * platform/gtk/TestExpectations: Fix path for previously moved tests.

2014-08-13  Antti Koivisto  <antti@apple.com>

        Don't recurse into non-rendered subtrees when computing style
        https://bugs.webkit.org/show_bug.cgi?id=135844

        Reviewed by Andreas Kling.
        
        Rebase.

        * http/tests/security/video-poster-cross-origin-crash-expected.txt:
        * platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt:

2014-08-11  Myles C. Maxfield  <mmaxfield@apple.com>

        Elements whose contents start with an astral Unicode symbol disappear when CSS `::first-letter` is applied to them
        https://bugs.webkit.org/show_bug.cgi?id=135756

        Reviewed by Darin Adler.

        Make sure the pseudoclass matches manually wrapping a <span> around the character.

        * css1/pseudo/firstletter-surrogate-expected.html: Added.
        * css1/pseudo/firstletter-surrogate.html: Added.

2014-08-12  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r172494.
        https://bugs.webkit.org/show_bug.cgi?id=135864

        asserting on bots (Requested by kling on #webkit).

        Reverted changeset:

        "Don't recurse into non-rendered subtrees when computing
        style"
        https://bugs.webkit.org/show_bug.cgi?id=135844
        http://trac.webkit.org/changeset/172494

2014-08-12  Myles C. Maxfield  <mmaxfield@apple.com>

        Fonts forced to use non synthetic italics might be laid out with the incorrect baseline
        https://bugs.webkit.org/show_bug.cgi?id=135403

        Reviewed by Darin Adler.

        Laying out the same string twice (where there is a cache collision) should be rendered
        the same as laying out similar strings (where there is no cache collision).

        * fast/text/international/synthesized-italic-vertical-latin-double-expected.html: Added.
        * fast/text/international/synthesized-italic-vertical-latin-double.html: Added.

2014-08-12  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>

        Make sure that begin time cannot be greater than SMILTime::indefiniteValue unintentionally.
        https://bugs.webkit.org/show_bug.cgi?id=135838

        Reviewed by Darin Adler.

        * svg/animations/animateMotion-crash-with-large-begin-time-expected.txt: Added.
        * svg/animations/animateMotion-crash-with-large-begin-time.html: Added.

2014-08-12  Antti Koivisto  <antti@apple.com>

        Don't recurse into non-rendered subtrees when computing style
        https://bugs.webkit.org/show_bug.cgi?id=135844

        Reviewed by Andreas Kling.
        
        Rebase.

        * http/tests/security/video-poster-cross-origin-crash-expected.txt:
        * platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt:

2014-08-12  Fabien Vallée  <fvallee@connected-labs.com>

        [GStreamer] playback rate is rounded to integer
        https://bugs.webkit.org/show_bug.cgi?id=135802

        Reviewed by Philippe Normand.

        add test to ensure playback is actually working
        in slow motion (playback rate = 0.5): Player
        should reach EOS and dispatch ended event.

        * media/video-ended-event-slow-motion-playback-expected.txt: Added.
        * media/video-ended-event-slow-motion-playback.html: Added.

2014-08-11  Brent Fulgham  <bfulgham@apple.com>

        [Mac, iOS] Some media content never reaches full 'loaded' state
        https://bugs.webkit.org/show_bug.cgi?id=135814
        <rdar://problem/17476923>

        Reviewed by Jer Noble.

        * platform/mac/media/video-seek-past-end-paused-expected.txt: Rebaseline
        result for new rounding behavior.

2014-08-11  Beth Dakin  <bdakin@apple.com>

        Fixed backgrounds don't paint in blurred inset areas
        https://bugs.webkit.org/show_bug.cgi?id=135712

        Reviewed by Simon Fraser.

        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/fast: Added.
        * platform/mac-wk1/fast/backgrounds: Added.
        * platform/mac-wk1/fast/backgrounds/resources: Added.
        * platform/mac-wk1/fast/backgrounds/resources/green.png: Added.
        * platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment-expected.html: Added.
        * platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment.html: Added.
        * platform/mac-wk2/tiled-drawing/resources/green-blue.png: Added.
        * platform/mac-wk2/tiled-drawing/resources/green.png: Added.
        * platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-body-expected.html: Added.
        * platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-body.html: Added.
        * platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-expected.html: Added.
        * platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment.html: Added.

2014-08-11  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: support :scope
        https://bugs.webkit.org/show_bug.cgi?id=135733

        Reviewed by Benjamin Poulain.

        Implement :scope for CSS JIT. It introduces scope field to CheckingContext
        and it makes CheckingContext more similar to SelectorChecker::SelectorCheckingContext.
        And since :scope requires CheckingContext, QueryingRules can accept SelectorCheckerWithCheckingContext.

        * fast/selectors/querySelector-scope-filtered-root-expected.txt: Added.
        * fast/selectors/querySelector-scope-filtered-root.html: Added.
        Searching root node of querySelectorAll is filtered to id node, but :scope root node should not be changed.
        * fast/selectors/scope-works-as-root-expected.html: Added.
        * fast/selectors/scope-works-as-root.html: Added.
        :scope in stylesheet works as :root.

2014-08-11  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: Add a helper to avoid leaking single-fire event listeners in Promise chains
        https://bugs.webkit.org/show_bug.cgi?id=135772

        Reviewed by Timothy Hatcher.

        * inspector/event-listener-expected.txt: Added.
        * inspector/event-listener-set-expected.txt: Added.
        * inspector/event-listener-set.html: Added.
        * inspector/event-listener.html: Added.

2014-08-10  Oliver Hunt  <oliver@apple.com>

        Destructuring assignment in a var declaration list incorrectly consumes subsequent variable initialisers
        https://bugs.webkit.org/show_bug.cgi?id=135773

        Reviewed by Michael Saboff.

        Add new tests.

        * js/destructuring-assignment-expected.txt:
        * js/script-tests/destructuring-assignment.js:

2014-08-09  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Transforms on non-compositing layers leave bits behind when the box boundaries changes.
        https://bugs.webkit.org/show_bug.cgi?id=135786

        Reviewed by Simon Fraser.

        Since we don't control the transformed context painting's snapping strategy, our best bet to fully
        include the transformed box when requesting for repaint is to use enclosing.
        Pixelsnapping doesn't work here for all cases. For example, a scaled box at 0.8px can be anti-aliased painted
        both at 0.5px and 1px, while with pixelsnapping we'd expect it to be painted starting from 1px;

        * fast/repaint/hidpi-transform-on-subpixel-repaintrect-expected.txt: Added.
        * fast/repaint/hidpi-transform-on-subpixel-repaintrect.html: Added.

2014-08-08  Simon Fraser  <simon.fraser@apple.com>

        Load the layout test result image diff HTML from a file, rather than having it inline in webkitpy
        https://bugs.webkit.org/show_bug.cgi?id=135780

        Reviewed by Dan Bates.
        
        Add image-diff-template.html and expected result (crazy, but this is what we do
        for results.html too).

        * fast/harness/image-diff-template-expected.txt: Added.
        * fast/harness/image-diff-template.html: Added.

2014-08-08  Simon Fraser  <simon.fraser@apple.com>

        [WK2] Scrolling does not work inside nested frames
        https://bugs.webkit.org/show_bug.cgi?id=135775
        <rdar://problem/17959896>

        Reviewed by Tim Horton.
        
        Nested frameset test that dumps the scrolling tree.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/frameset-frame.html: Added.

2014-08-07  Roger Fong  <roger_fong@apple.com>

        Adjustments to CueBox CSS Width calculations.
        https://bugs.webkit.org/show_bug.cgi?id=135759
        <rdar://problem/17954473>.

        Reviewed by Eric Carlson.

        * TestExpectations:
        Unskip tests media/track/track-cue-rendering-horizontal.html and media/track/track-cue-rendering-rtl.html.

2014-08-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r172291.
        https://bugs.webkit.org/show_bug.cgi?id=135748

        broke background-attachment-fixed with backround-size-contain
        (e.g. iCloud.com) (Requested by thorton on #webkit).

        Reverted changeset:

        "Fixed backgrounds don't paint in blurred inset areas"
        https://bugs.webkit.org/show_bug.cgi?id=135712
        http://trac.webkit.org/changeset/172291

2014-08-07  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Border thickness and length flooring can result empty borders
        due to losing precision during multiple float <-> LayoutUnit conversions.
        https://bugs.webkit.org/show_bug.cgi?id=135686

        Reviewed by Simon Fraser.

        The combination of losing precision and flooring the border thickness/length to avoid
        empty border rect drawing can lead to false positives of missing borders.
        This patch moves empty border checking right before painting where we can safely use round
        instead of floor.

        * fast/borders/hidpi-border-width-flooring-expected.html: Added.
        * fast/borders/hidpi-border-width-flooring.html: Added.

2014-08-07  Benjamin Poulain  <bpoulain@apple.com>

        Get rid of SCRIPTED_SPEECH
        https://bugs.webkit.org/show_bug.cgi?id=135729

        Reviewed by Brent Fulgham.

        * fast/events/constructors/speech-recognition-error-constructor-expected.txt: Removed.
        * fast/events/constructors/speech-recognition-error-constructor.html: Removed.
        * fast/events/constructors/speech-recognition-event-constructor-expected.txt: Removed.
        * fast/events/constructors/speech-recognition-event-constructor.html: Removed.
        * fast/speech/scripted/basics-expected.txt: Removed.
        * fast/speech/scripted/basics.html: Removed.
        * fast/speech/scripted/navigate-away-expected.txt: Removed.
        * fast/speech/scripted/navigate-away-iframe-expected.txt: Removed.
        * fast/speech/scripted/navigate-away-iframe.html: Removed.
        * fast/speech/scripted/navigate-away.html: Removed.
        * fast/speech/scripted/speechgrammar-basics-expected.txt: Removed.
        * fast/speech/scripted/speechgrammar-basics.html: Removed.
        * fast/speech/scripted/speechrecognition-basics-expected.txt: Removed.
        * fast/speech/scripted/speechrecognition-basics.html: Removed.
        * fast/speech/scripted/speechrecognition-errors-expected.txt: Removed.
        * fast/speech/scripted/speechrecognition-errors.html: Removed.
        * fast/speech/scripted/speechrecognitionerror-basics-expected.txt: Removed.
        * fast/speech/scripted/speechrecognitionerror-basics.html: Removed.
        * fast/speech/scripted/start-exception-expected.txt: Removed.
        * fast/speech/scripted/start-exception.html: Removed.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/gtk/fast/speech/speech-bidi-rendering-expected.txt: Removed.
        * platform/mac/TestExpectations:
        * platform/mac/fast/speech/speech-bidi-rendering-expected.png: Removed.
        * platform/mac/fast/speech/speech-bidi-rendering-expected.txt: Removed.
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:

2014-08-07  Beth Dakin  <bdakin@apple.com>

        Fixed backgrounds don't paint in blurred inset areas
        https://bugs.webkit.org/show_bug.cgi?id=135712

        Reviewed by Simon Fraser.

        Unfortunately for this test to be valid in WK2, it needs to be run from the 
        platform/mac-wk2/tiled-drawing directory so that tiled drawing is enabled. So 
        there are two copies of the test so that we can get coverage for WK1 and WK2.
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/fast: Added.
        * platform/mac-wk1/fast/backgrounds: Added.
        * platform/mac-wk1/fast/backgrounds/resources: Added.
        * platform/mac-wk1/fast/backgrounds/resources/green.png: Added.
        * platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment-expected.html: Added.
        * platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment.html: Added.
        * platform/mac-wk2/tiled-drawing/resources/green.png: Added.
        * platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-expected.html: Added.
        * platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment.html: Added.
        * platform/mac/fast/backgrounds/resources: Added.

2014-08-07  Mark Lam  <mark.lam@apple.com>

        http/tests/security/cross-frame-access-enumeration.html fails after FTLOPT merge.
        <https://webkit.org/b/135708>

        Reviewed by Mark Hahnenberg.

        * TestExpectations:
        * http/tests/security/cross-frame-access-enumeration-expected.txt:
        - re-baselined the test results.

2014-08-07  Benjamin Poulain  <bpoulain@apple.com>

        Get rid of INPUT_SPEECH
        https://bugs.webkit.org/show_bug.cgi?id=135672

        Reviewed by Andreas Kling.

        * fast/forms/input-user-modify.html:
        * fast/speech/bubble-position-expected.txt: Removed.
        * fast/speech/bubble-position-scrolled-expected.txt: Removed.
        * fast/speech/bubble-position-scrolled.html: Removed.
        * fast/speech/bubble-position.html: Removed.
        * fast/speech/change-focus-expected.txt: Removed.
        * fast/speech/change-focus.html: Removed.
        * fast/speech/input-appearance-numberandspeech.html: Removed.
        * fast/speech/input-appearance-searchandspeech.html: Removed.
        * fast/speech/input-appearance-speechbutton.html: Removed.
        * fast/speech/input-onspeechchange-event-expected.txt: Removed.
        * fast/speech/input-onspeechchange-event.html: Removed.
        * fast/speech/input-ontextinput-event-expected.txt: Removed.
        * fast/speech/input-ontextinput-event.html: Removed.
        * fast/speech/input-readonly-and-disabled-expected.txt: Removed.
        * fast/speech/input-readonly-and-disabled.html: Removed.
        * fast/speech/input-text-language-tag-expected.txt: Removed.
        * fast/speech/input-text-language-tag.html: Removed.
        * fast/speech/input-text-speechbutton-expected.txt: Removed.
        * fast/speech/input-text-speechbutton.html: Removed.
        * fast/speech/input-text-speechstart-expected.txt: Removed.
        * fast/speech/input-text-speechstart.html: Removed.
        * fast/speech/intrinsic-input-width-with-speech-border-padding-expected.txt: Removed.
        * fast/speech/intrinsic-input-width-with-speech-border-padding.html: Removed.
        * fast/speech/speech-bidi-rendering.html: Removed.
        * fast/speech/speech-button-ignore-generated-events-expected.txt: Removed.
        * fast/speech/speech-button-ignore-generated-events.html: Removed.
        * fast/speech/speech-input-result-list-not-enough-arguments-expected.txt: Removed.
        * fast/speech/speech-input-result-list-not-enough-arguments.html: Removed.
        * fast/speech/speech-input-scripting-expected.txt: Removed.
        * fast/speech/speech-input-scripting.html: Removed.
        * fast/speech/speech-style-on-non-speech-elements-expected.txt: Removed.
        * fast/speech/speech-style-on-non-speech-elements.html: Removed.
        * platform/gtk/fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
        * platform/gtk/fast/speech/input-appearance-speechbutton-expected.txt: Removed.
        * platform/ios-sim/fast/speech/input-appearance-numberandspeech-expected.txt: Removed.
        * platform/ios-sim/fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
        * platform/ios-sim/fast/speech/input-appearance-speechbutton-expected.txt: Removed.

2014-08-07  Mark Lam  <mark.lam@apple.com>

        Gardening: Mark some tests as failing to green the bots.
        <https://webkit.org/b/135720>

        Not reviewed.

        * TestExpectations:

2014-08-07  Mark Lam  <mark.lam@apple.com>

        Gardening: Mark test as failing in TestExpectations until the issue can be investigated.
        <https://webkit.org/b/135708>

        Not reviewed.

        * TestExpectations:

2014-08-07  Alex Christensen  <achristensen@webkit.org>

        Compile scrollbar pseudoclass css selectors.
        https://bugs.webkit.org/show_bug.cgi?id=135242

        Reviewed by Benjamin Poulain.

        * platform/wk2/TestExpectations:
        Don't run corner-resizer-window-inactive-expected in WK2 because testRunner.setWindowIsKey doesn't work with WK2.
        * scrollbars/corner-resizer-window-inactive-expected.html: Added.
        * scrollbars/corner-resizer-window-inactive.html: Added.
        * scrollbars/scrollbar-selectors-expected.txt: Added.
        * scrollbars/scrollbar-selectors.html: Added.

2014-08-07  Zalan Bujtas  <zalan@apple.com>

        border-radius on html does not render properly.
        https://bugs.webkit.org/show_bug.cgi?id=135706

        Reviewed by Simon Fraser.

        Ensure that background is initialized when border-radius is present.

        * fast/borders/border-radius-on-html-expected.html: Added.
        * fast/borders/border-radius-on-html.html: Added.

2014-08-07  Mark Hahnenberg  <mhahnenberg@apple.com>

        for-in is failing fast/dom/dataset-xhtml.xhtml and dataset.html tests
        https://bugs.webkit.org/show_bug.cgi?id=135681

        Reviewed by Filip Pizlo.

        Removed the two failing tests from the TestExpectations list since they pass now!

        * TestExpectations:

2014-08-06  Brent Fulgham  <bfulgham@apple.com>

        [Mac, iOS] Captions are appearing multiple times during repeated video play through
        https://bugs.webkit.org/show_bug.cgi?id=135680
        <rdar://problem/17926802> 

        Reviewed by Eric Carlson.

        Reactivate the 'track-in-band-cues-added-once.html' test. We would have caught
        this bug immediately if the test had been enabled.

        * platform/mac/TestExpectations: Turn 'track-in-band-cues-added-once.html' back
        on.

2014-08-07  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Add test expectations for failing tests.

        * platform/efl/TestExpectations:
        * platform/efl/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaseline after r172136.

2014-08-07  Iulia Tamas  <tamas@adobe.com>

        Move multicol tests into fast/regions/multicol.
        https://bugs.webkit.org/show_bug.cgi?id=135693

        Reviewed by Andrei Bucur.

        File Move Patch. Created the fast/regions/multicol folder. Moved the region tests testing multicol 
        in the fast/regions/multicol folder.

        * fast/regions/multicol/multicol-as-region-prevented-expected.html: Renamed from LayoutTests/fast/regions/multicol-as-region-prevented-expected.html.
        * fast/regions/multicol/multicol-as-region-prevented.html: Renamed from LayoutTests/fast/regions/multicol-as-region-prevented.html.

2014-08-06  Mark Lam  <mark.lam@apple.com>

        Gardening: adding failed tests to TestExpectations.
        <https://webkit.org/b/135681>

        Not reviewed.

        * TestExpectations:

2014-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>

        Implement parsing for CSS scroll snap points
        https://bugs.webkit.org/show_bug.cgi?id=134301

        Reviewed by Dean Jackson.

        Tests that parsing -webkit-scroll-snap-* properties behaves as expected.

        * css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Expected text output of below test.
        * css3/scroll-snap/scroll-snap-property-computed-style.html: Tests that scroll snap properties are correctly displayed via getComputedStyle.
        * css3/scroll-snap/scroll-snap-property-computed-style.js: Script for above test.
        (testComputedScrollSnapRule):
        * css3/scroll-snap/scroll-snap-property-parsing-expected.txt: Expected text output of below test.
        * css3/scroll-snap/scroll-snap-property-parsing.html: Tests that scroll snap properties are correctly parsed.
        * css3/scroll-snap/scroll-snap-property-parsing.js: Script for above test.
        (testScrollSnapRule):

2014-08-06  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r168119): Album flipping animation doesn’t work
        https://bugs.webkit.org/show_bug.cgi?id=132801

        Reviewed by Dean Jackson.
        
        Test that starts a transform animation and dumps layers.

        * compositing/backing/backface-visibility-flip-expected.txt: Added.
        * compositing/backing/backface-visibility-flip.html: Added.

2014-08-06  Brent Fulgham  <bfulgham@apple.com>

        [Mac] Unable to scroll to bottom of nested scrollable areas
        https://bugs.webkit.org/show_bug.cgi?id=135637
        <rdar://problem/17910241>

        Reviewed by Zalan Bujtas.

        * platform/mac/fast/scrolling/scroll-latched-nested-div-expected.txt: Added.
        * platform/mac/fast/scrolling/scroll-latched-nested-div.html: Added.

2014-08-06  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: protocol command invocations should return a promise if no callback is supplied
        https://bugs.webkit.org/show_bug.cgi?id=130702

        Reviewed by Timothy Hatcher.

        Addd a test for recieving protocol command results through an explicit callback,
        via the .promise() entry point, and via an implicitly created promise.

        * inspector/protocol-promise-result-expected.txt: Added.
        * inspector/protocol-promise-result.html: Added.

2014-07-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Text-shadow with (0, 0) offset and radius = 0 is ugly
        https://bugs.webkit.org/show_bug.cgi?id=135357

        Reviewed by Darin Adler.

        Check that this kind of shadow ends up invisible.

        * fast/text/empty-shadow-expected.html: Added
        * fast/text/empty-shadow.html: Added

2014-08-06  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Move full screen tests into fast/regions/fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=135650

        Reviewed by Andrei Bucur.

        Move files and adjust paths accordingly.

        * fast/regions/fullscreen/full-screen-video-from-region-expected.txt: Renamed from LayoutTests/fast/regions/full-screen-video-from-region-expected.txt.
        * fast/regions/fullscreen/full-screen-video-from-region.html: Renamed from LayoutTests/fast/regions/full-screen-video-from-region.html.
        * fast/regions/fullscreen/full-screen-video-in-region-crash-expected.txt: Renamed from LayoutTests/fast/regions/full-screen-video-in-region-crash-expected.txt.
        * fast/regions/fullscreen/full-screen-video-in-region-crash.html: Renamed from LayoutTests/fast/regions/full-screen-video-in-region-crash.html.

2014-08-06  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Move parsing tests into fast/regions/parsing
        https://bugs.webkit.org/show_bug.cgi?id=135649

        Reviewed by Andrei Bucur.

        Move files and adjust file paths.

        * fast/regions/parsing/webkit-flow-from-parsing-expected.txt: Renamed from LayoutTests/fast/regions/webkit-flow-from-parsing-expected.txt.
        * fast/regions/parsing/webkit-flow-from-parsing.html: Added.
        * fast/regions/parsing/webkit-flow-into-parsing-expected.txt: Renamed from LayoutTests/fast/regions/webkit-flow-into-parsing-expected.txt.
        * fast/regions/parsing/webkit-flow-into-parsing.html: Renamed from LayoutTests/fast/regions/webkit-flow-into-parsing.html.
        * fast/regions/parsing/webkit-region-fragment-parsing-expected.txt: Renamed from LayoutTests/fast/regions/webkit-region-fragment-parsing-expected.txt.
        * fast/regions/parsing/webkit-region-fragment-parsing.html: Added.
        * fast/regions/webkit-flow-from-parsing.html: Removed.
        * fast/regions/webkit-region-fragment-parsing.html: Removed.

2014-08-06  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r163382): Overflow hidden for inner elements breaks blurring
        https://bugs.webkit.org/show_bug.cgi?id=135318

        Reviewed by Zalan Bujtas.

        Added test for filter applied on an element overflowing its parent, which has overflow:hidden.

        * fast/filter-image/clipped-filter-expected.html: Added.
        * fast/filter-image/clipped-filter.html: Added.

2014-08-06  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Move selection tests under fast/regions/selection
        https://bugs.webkit.org/show_bug.cgi?id=135641

        Reviewed by Andrei Bucur.

        Move selection related tests under fast/regions/selection.

        * fast/regions/selection/selection-gaps-paint-crash-expected.txt: Renamed from LayoutTests/fast/regions/selection-gaps-paint-crash-expected.txt.
        * fast/regions/selection/selection-gaps-paint-crash.html: Renamed from LayoutTests/fast/regions/selection-gaps-paint-crash.html.
        * fast/regions/selection/selection-in-overflow-expected.html: Renamed from LayoutTests/fast/regions/selection-in-overflow-expected.html.
        * fast/regions/selection/selection-in-overflow-hit-testing-expected.html: Renamed from LayoutTests/fast/regions/selection-in-overflow-hit-testing-expected.html.
        * fast/regions/selection/selection-in-overflow-hit-testing.html: Renamed from LayoutTests/fast/regions/selection-in-overflow-hit-testing.html.
        * fast/regions/selection/selection-in-overflow.html: Renamed from LayoutTests/fast/regions/selection-in-overflow.html.
        * fast/regions/selection/selection-in-text-after-overflow-hit-testing-expected.html: Renamed from LayoutTests/fast/regions/selection-in-text-after-overflow-hit-testing-expected.html.
        * fast/regions/selection/selection-in-text-after-overflow-hit-testing.html: Renamed from LayoutTests/fast/regions/selection-in-text-after-overflow-hit-testing.html.

2014-08-06  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Move auto-height tests into fast/regions/auto-size
        https://bugs.webkit.org/show_bug.cgi?id=135645

        Reviewed by Andrei Bucur.

        * fast/regions/auto-size/region-height-auto-to-defined-expected.txt: Renamed from LayoutTests/fast/regions/region-height-auto-to-defined-expected.txt.
        * fast/regions/auto-size/region-height-auto-to-defined.html: Renamed from LayoutTests/fast/regions/region-height-auto-to-defined.html.
        * fast/regions/auto-size/region-height-defined-to-auto-expected.txt: Renamed from LayoutTests/fast/regions/region-height-defined-to-auto-expected.txt.
        * fast/regions/auto-size/region-height-defined-to-auto.html: Renamed from LayoutTests/fast/regions/region-height-defined-to-auto.html.

2014-08-05  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Add label string once AccessibilityObject::computedLabel() is available
        https://bugs.webkit.org/show_bug.cgi?id=129940

        Reviewed by Chris Fleizach.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: LayoutTest expectation update.

2014-07-29  Filip Pizlo  <fpizlo@apple.com>

        Merge r170564, r170571, r170604, r170628, r170672, r170680, r170724, r170728, r170729, r170819, r170821, r170836, r170855, r170860, r170890, r170907, r170929, r171052, r171106, r171152, r171153, r171214 from ftlopt.

    2014-07-16  Mark Hahnenberg  <mhahnenberg@apple.com>
    
            sputnik/Implementation_Diagnostics/S12.6.4_D1.html depends on undefined behavior
            https://bugs.webkit.org/show_bug.cgi?id=135007
    
            Reviewed by Filip Pizlo.
    
            EcmaScript 5.1 specifies that during for-in enumeration newly added properties may or may not be 
            visited during the current enumeration. Specifically, in section 12.6.4 the spec states:
    
            "If new properties are added to the object being enumerated during enumeration, the newly added properties 
            are not guaranteed to be visited in the active enumeration."
    
            The sputnik/Implementation_Diagnostics/S12.6.4_D1.html layout test is from before sputnik was added 
            to the test262 suite. I believe it has since been removed, so it would probably be okay to remove it 
            from our layout test suite.
    
            * sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt: Removed.
            * sputnik/Implementation_Diagnostics/S12.6.4_D1.html: Removed.
    
    2014-07-13  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] DFG should be able to do GCSE in SSA and this should be unified with the CSE in CPS, and both of these things should use abstract heaps for reasoning about effects
            https://bugs.webkit.org/show_bug.cgi?id=134677
    
            Reviewed by Sam Weinig.
    
            * js/regress/gcse-expected.txt: Added.
            * js/regress/gcse-poly-get-expected.txt: Added.
            * js/regress/gcse-poly-get-less-obvious-expected.txt: Added.
            * js/regress/gcse-poly-get-less-obvious.html: Added.
            * js/regress/gcse-poly-get.html: Added.
            * js/regress/gcse.html: Added.
            * js/regress/script-tests/gcse-poly-get-less-obvious.js: Added.
            * js/regress/script-tests/gcse-poly-get.js: Added.
            * js/regress/script-tests/gcse.js: Added.
    
    2014-07-04  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] Infer immutable object properties
            https://bugs.webkit.org/show_bug.cgi?id=134567
    
            Reviewed by Mark Hahnenberg.
    
            * js/regress/infer-constant-global-property-expected.txt: Added.
            * js/regress/infer-constant-global-property.html: Added.
            * js/regress/infer-constant-property-expected.txt: Added.
            * js/regress/infer-constant-property.html: Added.
            * js/regress/script-tests/infer-constant-global-property.js: Added.
            * js/regress/script-tests/infer-constant-property.js: Added.
    
2014-08-05  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r172099.
        https://bugs.webkit.org/show_bug.cgi?id=135635

        Needs a do-over. (Requested by kling on #webkit).

        Reverted changeset:

        "The JIT should cache property lookup misses."
        https://bugs.webkit.org/show_bug.cgi?id=135578
        http://trac.webkit.org/changeset/172099

2014-08-05  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>

        [CG] strokeRect does not honor lineJoin
        https://bugs.webkit.org/show_bug.cgi?id=132948

        Reviewed by Darin Adler.

        Test behavior of canvas with stroke rect with line join

        * fast/canvas/canvas-strokeRect-lineJoin-expected.txt: Added.
        * fast/canvas/canvas-strokeRect-lineJoin.html: Added.
        * fast/canvas/script-tests/canvas-strokeRect-lineJoin.js: Added.
        * platform/mac-mountainlion/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
        * platform/mac/fast/canvas/canvas-strokeRect-alpha-shadow-expected.txt: Removed.

2014-08-05  Bem Jones-Bey  <bjonesbe@adobe.com>

        [GTK] [CSS Shapes] Layout test fast/shapes/shape-outside-floats/shape-outside-image-shape-margin.html fails
        https://bugs.webkit.org/show_bug.cgi?id=135585

        Reviewed by Zoltan Horvath.

        The positioning was dependent on the font metrics of the <p> tag,
        which differs between platforms. This fixes that, which should make
        the test pass on all platforms.

        * fast/shapes/shape-outside-floats/shape-outside-image-shape-margin-expected.html:
        * fast/shapes/shape-outside-floats/shape-outside-image-shape-margin.html:
        * platform/gtk/TestExpectations: 

2014-08-05  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Crash going back on a specific tumblr blog (under ScrollingStateTree::removeNodeAndAllDescendants)
        https://bugs.webkit.org/show_bug.cgi?id=135629
        <rdar://problem/17802174>

        Reviewed by Tim Horton.
        
        Testcase with nesting of frames inside fixed inside frames, where a subframe disconnects
        part of the scrolling tree.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/orphaned-subtree-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/orphaned-subtree.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/leaf-frame.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/subframe-inside-fixed.html: Added.

2014-08-05  Andreas Kling  <akling@apple.com>

        The JIT should cache property lookup misses.
        <https://webkit.org/b/135578>

        Add a JS microbenchmark that accesses an undefined property in a hot loop.

        Reviewed by Geoffrey Garen.

        * js/regress/script-tests/undefined-property-access.js: Added.
        (foo):
        * js/regress/undefined-property-access-expected.txt: Added.
        * js/regress/undefined-property-access.html: Added.

2014-08-05  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>

        ASSERTION FAILED: name[0] == '@' && length >= 2 in WebCore::CSSParser::detectAtToken
        https://bugs.webkit.org/show_bug.cgi?id=134632

        Added test demonstrates that at-rules containing 16-bit Unicode characters
        can be handled properly.

        Reviewed by Darin Adler.

        * fast/css/atrule-with-escape-character-crash-expected.txt: Added.
        * fast/css/atrule-with-escape-character-crash.html: Added.

2014-08-05  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>

        Fixing calc() parameter parsing in cubic-bezier functions
        https://bugs.webkit.org/show_bug.cgi?id=135605

        Reviewed by Andreas Kling.

        * css3/calc/cubic-bezier-with-multiple-calcs-crash.html-expected.txt: Added.
        * css3/calc/cubic-bezier-with-multiple-calcs-crash.html.html: Added.

2014-08-05  Chris Fleizach  <cfleizach@apple.com>

        AX: Select text activity should return replaced text instead of previously selected text
        https://bugs.webkit.org/show_bug.cgi?id=135595

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/select-text-expected.txt:
        * platform/mac/accessibility/select-text.html:

2014-08-04  Chris Fleizach  <cfleizach@apple.com>

        AX: Select activity behavior does not work when an existing range is already selected
        https://bugs.webkit.org/show_bug.cgi?id=135579

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/select-text-expected.txt:
        * platform/mac/accessibility/select-text.html:

2014-08-04  Benjamin Poulain  <benjamin@webkit.org>

        Simplify the StyleInvalidation mode of rule collection
        https://bugs.webkit.org/show_bug.cgi?id=135521

        Reviewed by Antti Koivisto.

        This test by:
        1) Forcing the recalc of the user-agent stylesheet.
        2) Wait for the page to finish loading.
        3) Add a style changing only pseudo elements without corresponding shadow element.

        * fast/css/stylesheet-change-updates-pseudo-elements-expected.html: Added.
        * fast/css/stylesheet-change-updates-pseudo-elements.html: Added.

2014-08-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures after 172008 and r172010.
        Remove expectations for test that now pass after r171964 (revert of r171957).
        Update expectations for new flaky tests.

2014-08-04  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] shape-margin not respected when it extends beyond an explicitly set margin
        https://bugs.webkit.org/show_bug.cgi?id=135308

        Reviewed by Dean Jackson.

        Test case based on the one supplied by Rebecca Hauck in the bug
        report.

        * fast/shapes/resources/square.png: Added.
        * fast/shapes/shape-outside-floats/shape-outside-image-shape-margin-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-image-shape-margin.html: Added.

2014-08-04  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: InlineTextBox mistakenly rounds offset value before painting.
        https://bugs.webkit.org/show_bug.cgi?id=135470

        Reviewed by Simon Fraser.

        This patch removes the premature paint offset adjustment for inlines. Premature snapping
        could alter the final painting coordinates and push content to wrong positions.

        This patch also enforces WebCore's pixel snapping strategy (round) on text painting.
        It ensures that text positioning is in sync with other painting related operations including
        clipping, box decorations etc. Underlying graphics libraries can take different directions on
        text snapping, for example CG ceils text coordinates vertically (in horizontal context,
        with the current settings). It can lead to undesired side effects.

        * fast/inline/hidpi-inline-selection-leaves-gap-expected.html: Added.
        * fast/inline/hidpi-inline-selection-leaves-gap.html: Added.
        * fast/multicol/newmulticol/multicol-clip-rounded-corners-expected.html:
        * fast/multicol/newmulticol/multicol-clip-rounded-corners.html: pixels are distributed properly.
        No need to have the special 122px shortened width for col2.

2014-08-04  Chris Fleizach  <cfleizach@apple.com>

        AX: isWordEndMatch should allow for multiple word selections
        https://bugs.webkit.org/show_bug.cgi?id=135573

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/select-text-should-match-whole-words-expected.txt:
        * platform/mac/accessibility/select-text-should-match-whole-words.html:

2014-08-04  Chris Fleizach  <cfleizach@apple.com>

        AX: Secure text fields need to support Search parameterized attributes
        https://bugs.webkit.org/show_bug.cgi?id=135568

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/secure-text-field-supports-fast-search-expected.txt: Added.
        * platform/mac/accessibility/secure-text-field-supports-fast-search.html: Added.

2014-08-04  Chris Fleizach  <cfleizach@apple.com>

        AX: SelectText functionality always selects text after current selection even if closer selection is behind it
        https://bugs.webkit.org/show_bug.cgi?id=135546

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/select-text-expected.txt:
        * platform/mac/accessibility/select-text.html:

2014-08-04  Chris Fleizach  <cfleizach@apple.com>

        AX: AXSelectTextWithCriteriaParameterizedAttribute incorrectly selects the beginning letters of a word
        https://bugs.webkit.org/show_bug.cgi?id=135547

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/select-text-should-match-whole-words-expected.txt: Added.
        * platform/mac/accessibility/select-text-should-match-whole-words.html: Added.

2014-08-04  Chris Fleizach  <cfleizach@apple.com>

        AX: The Dictation command "Replace <phrase> with <phrase>" always capitalizes the replacement string
        https://bugs.webkit.org/show_bug.cgi?id=135557

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/find-and-replace-match-capitalization-expected.txt: Added.
        * platform/mac/accessibility/find-and-replace-match-capitalization.html: Added.

2014-08-04  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        * platform/efl/TestExpectations: Add or update test expectations for failing tests.
        * platform/efl/fast/text/international/cjk-segmentation-expected.txt: Added.
        * platform/efl/js/dom/global-constructors-attributes-expected.txt: Rebaseline after r167632.
        * platform/efl/sputnik/Unicode/Unicode_320/S7.6_A2.2_T2-expected.txt: Added.
        * platform/efl/sputnik/Unicode/Unicode_320/S7.6_A5.2_T8-expected.txt: Added.
        * platform/efl/svg/text/non-bmp-positioning-lists-expected.png: Rebaseline after r168350 and r168543.
        * platform/efl/svg/text/non-bmp-positioning-lists-expected.txt: Ditto.
        * platform/efl/transforms/2d/hindi-rotated-expected.txt: Fix baseline.

2014-08-01  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures and flaky tests after 171341, r171591, r171567 and others.
        * platform/gtk/fast/css/viewport-units-dynamic-expected.txt: Added. Rebaseline after r171567.
        * platform/gtk/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Added. Rebaseline after r171609.
        * platform/gtk/svg/zoom/page/zoom-foreignObject-expected.txt: Rebaseline after 171341.

2014-08-01  Myles C. Maxfield  <mmaxfield@apple.com>

        Unreviewed post-review test fixup

        * editing/pasteboard/img-srcset-copy-paste-canonicalization.html:

2014-08-01  Beth Dakin  <bdakin@apple.com>

        REGRESSION (r171891): platform/mac/fast/scrolling/scroll-select-bottom-test.html        
        failing
        https://bugs.webkit.org/show_bug.cgi?id=135485

        Now that WK1 really tests contentInset, this test no longer works on platforms 
        that do not support the real contentInset
        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2014-08-01  Bear Travis  <betravis@adobe.com>

        [Feature Queries] Enable Feature Queries on EFL/GTK
        https://bugs.webkit.org/show_bug.cgi?id=134902

        Reviewed by Benjamin Poulain.

        Resume running the CSS Feature Query tests on the EFL and GTK platforms.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2014-07-30  Myles C. Maxfield  <mmaxfield@apple.com>

        URLs in srcset attributes are not made absolute upon copy and paste
        https://bugs.webkit.org/show_bug.cgi?id=135448

        Reviewed by Ryosuke Niwa.

        Copy and paste a srcset image with relative URLs, and make sure that the
        pasted srcset attribute doesn't match what it was before. I can't actually
        dump the new srcset because it will include a full path of the file on the
        user's system, and would therefore be machine-specific.

        * editing/pasteboard/img-srcset-copy-paste-canonicalization-expected.txt:
        * editing/pasteboard/img-srcset-copy-paste-canonicalization.html: Paste and check.
        * editing/pasteboard/resources/img-srcset-copy-paste-canonicalization-iframe.html:
        This has to be an iframe because we don't perform any url canonicalization if we
        are copying and pasting from a document into itself.

2014-08-01  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Add test expectations for failing tests. Remove flaky test expectations that are
        no longer correct.

        * platform/efl/TestExpectations:
        * platform/efl/fast/text/khmer-lao-font-expected.txt: Update expected result.
        * svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: Update after r171046.

2014-08-01  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Update test expectations for crashing webgl tests.

        * platform/efl/TestExpectations:

2014-07-31  Beth Dakin  <bdakin@apple.com>

        platform/mac/fast/scrolling/scroll-select-bottom-test.html failing on Mavericks 
        (after 171891?)
        https://bugs.webkit.org/show_bug.cgi?id=135485

        Skipping this test for now to allow some time to investigate the failure.

        * platform/mac/TestExpectations:

2014-07-31  Beth Dakin  <bdakin@apple.com>

        Test failure fix. I accidentally removed this file that is still used by another 
        test in the directory.

        * platform/mac-wk2/tiled-drawing/resources/iframe-to-hit-test.html: Added.

2014-07-31  Beth Dakin  <bdakin@apple.com>

        Hit-testing broken in WebKit 1 views with AppKit's contentInsets
        https://bugs.webkit.org/show_bug.cgi?id=135434
        -and corresponding-
        <rdar://problem/17850323>

        Reviewed by Benjamin Poulain.

        These hit-testing related contentInset tests will now work for mac on wk1 on 
        Yosemite and wk2.

        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt: Removed.
        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt: Removed.
        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html: Removed.
        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html: Removed.
        * platform/mac-wk2/tiled-drawing/resources/iframe-to-hit-test.html: Removed.
        * platform/mac/fast/events/content-inset-hit-testing-expected.txt: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt.
        * platform/mac/fast/events/content-inset-hit-testing-in-frame-expected.txt: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt.
        * platform/mac/fast/events/content-inset-hit-testing-in-frame.html: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html.
        * platform/mac/fast/events/content-inset-hit-testing.html: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html.
        * platform/mac/fast/events/resources: Added.
        * platform/mac/fast/events/resources/iframe-to-hit-test.html: Copied from platform/mac-wk2/tiled-drawing/resources/iframe-to-hit-test.html.

2014-07-31  Bear Travis  <betravis@adobe.com>

        [CSS Font Loading] Rename document.fontloader to document.fonts
        https://bugs.webkit.org/show_bug.cgi?id=135393

        Reviewed by Bem Jones-Bey.

        Update tests to use the new document.fonts name.

        * fast/css/fontloader-download-error.html:
        * fast/css/fontloader-events.html:
        * fast/css/fontloader-loadingdone.html:
        * fast/css/fontloader-multiple-faces-download-error-expected.txt:
        * fast/css/fontloader-multiple-faces-download-error.html:
        * fast/css/fontloader-multiple-faces-expected.txt:
        * fast/css/fontloader-multiple-faces.html:
        * fast/css/fontloader-multiple-families-expected.txt:
        * fast/css/fontloader-multiple-families.html:
        * http/tests/webfont/fontloader-loading-attribute-expected.txt:
        * http/tests/webfont/fontloader-loading-attribute.html:

2014-07-31  Andrei Bucur  <abucur@adobe.com>

        REGRESSION: Search highlight is broken in RTL multicolumn content
        https://bugs.webkit.org/show_bug.cgi?id=135452

        Reviewed by Simon Fraser.

        A test that verifies the bounding boxes for content inside a RTL multi-column element are correctly computed:
        - for static elements
        - for relative positioned elements
        - for absolutely positioned elements

        * fast/multicol/content-bounding-box-rtl-expected.txt: Added.
        * fast/multicol/content-bounding-box-rtl.html: Added.

2014-07-31  Bear Travis  <betravis@adobe.com>

        [CSS Font Loading] Test expectations should show success
        https://bugs.webkit.org/show_bug.cgi?id=135420

        Reviewed by Bem Jones-Bey.

        Modify the expected files to represent success, and skip
        the tests until the feature is enabled.

        * TestExpectations: Skip the tests.
        * fast/css/fontloader-download-error-expected.txt:
        * fast/css/fontloader-events-expected.txt:
        * fast/css/fontloader-loadingdone-expected.txt:
        * fast/css/fontloader-multiple-faces-download-error-expected.txt:
        * fast/css/fontloader-multiple-faces-expected.txt:
        * fast/css/fontloader-multiple-families-expected.txt:
        * http/tests/webfont/fontloader-loading-attribute-expected.txt:

2014-07-31  Dan Bernstein  <mitz@apple.com>

        [WK2] Regression tests can't load HTTPS pages with NetworkProcess due to self-signed certificate
        https://bugs.webkit.org/show_bug.cgi?id=115282

        Reviewed by Sam Weinig.

        * platform/mac-wk2/TestExpectations: Removed the exceptions listed under this bug.

2014-07-31  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Update test expectations for crashing tests.

        * platform/efl/TestExpectations:

2014-07-31  Andrei Bucur  <abucur@adobe.com>

        [CSS Multicolumn] Clear the lines when switching to multi-column layout
        https://bugs.webkit.org/show_bug.cgi?id=135127

        Reviewed by Alexandru Chiculita.

        Tests that verifies lines are correctly cleared when an element is switched to
        multi-column layout.

        * fast/multicol/inline-container-to-multicol-expected.txt: Added.
        * fast/multicol/inline-container-to-multicol.html: Added.
        * fast/multicol/inline-container-to-multicol-float-expected.txt: Added.
        * fast/multicol/inline-container-to-multicol-float.html: Added.
        * fast/multicol/inline-container-to-multicol-positioned-expected.txt: Added.
        * fast/multicol/inline-container-to-multicol-positioned.html: Added.

2014-07-30  Benjamin Poulain  <bpoulain@apple.com>

        Add a layout test for Geolocation's request queueing for hidden pages
        https://bugs.webkit.org/show_bug.cgi?id=135402

        Reviewed by Zalan Bujtas.

        Sam added the queueing feature in r171188. This patch adds a layout test
        for the simplest case.

        * fast/dom/Geolocation/requestQueuingForHiddenPage-expected.txt: Added.
        * fast/dom/Geolocation/requestQueuingForHiddenPage.html: Added.

2014-07-30  Pratik Solanki  <psolanki@apple.com>

        Move iphone-simulator test results landed in r171094 to the correct directory.

        * platform/ios-sim/fast/events/ontouchstart-active-selector-expected.txt: Renamed from LayoutTests/platform/iphone-simulator/fast/events/ontouchstart-active-selector-expected.txt.
        * platform/ios-sim/fast/events/ontouchstart-active-selector.html: Renamed from LayoutTests/platform/iphone-simulator/fast/events/ontouchstart-active-selector.html.

2014-07-29  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening. Rebaseline tests after r170418.

        * platform/efl/mathml/opentype/horizontal-expected.txt:
        * platform/efl/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/efl/mathml/opentype/large-operators-expected.txt:
        * platform/efl/mathml/opentype/vertical-expected.txt:
        * platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.png:
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:
        * platform/efl/mathml/presentation/roots-expected.png:
        * platform/efl/mathml/presentation/roots-expected.txt:

2014-07-29  Andreas Kling  <akling@apple.com>

        Crash when using 'em' units to specify font-size inside animation keyframe.
        <https://webkit.org/b/135395>
        <rdar://problem/17851910>

        Add a reduced test case to cover this bug.

        Reviewed by Simon Fraser.

        * fast/animation/keyframe-with-font-size-in-em-units-expected.txt: Added.
        * fast/animation/keyframe-with-font-size-in-em-units.html: Added.

2014-07-29  Alexey Proskuryakov  <ap@apple.com>

        fast/borders/border-radius-on-subpixel-position-non-hidpi.html fails on Retina machines
        https://bugs.webkit.org/show_bug.cgi?id=135398

        Reviewed by Zalan Bujtas.

        * platform/mac-wk2/TestExpectations: Let's try to unskip the test, maybe this was
        the actual reason for it to appear failing?

2014-07-29  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Assertion failure hit testing a region-based multicolumn in a region
        https://bugs.webkit.org/show_bug.cgi?id=135385

        Reviewed by Andrei Bucur.

        * fast/regions/assert-hit-test-multicol-in-region-expected.txt: Added.
        * fast/regions/assert-hit-test-multicol-in-region.html: Added.

2014-07-28  Zalan Bujtas  <zalan@apple.com>

        REGRESSION(r164133): Selection disappears after scrolling on nytimes.com
        https://bugs.webkit.org/show_bug.cgi?id=135361

        Reviewed by Ryosuke Niwa.

        Ensure that when a RenderElement, part of the current selection is removed,
        we recalculate and update the selection soon after layout.

        * fast/dynamic/selection-gets-cleared-when-part-of-it-gets-removed-expected.html: Added.
        * fast/dynamic/selection-gets-cleared-when-part-of-it-gets-removed.html: Added.

2014-07-28  Andreas Kling  <akling@apple.com>

        REGRESSION (r160806): CSS zoom property doesn't work on anything inside anchors.
        <https://webkit.org/b/135344>
        <rdar://problem/17759577>

        Reviewed by Simon Fraser.

        * fast/css/zoom-inside-link-expected.html: Added.
        * fast/css/zoom-inside-link.html: Added.

2014-07-28  Zoltan Horvath  <zoltan@webkit.org>

        [CSS3-Text] Update text-expectations after r171677

        Unreviewed.

        * fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-expected.txt:
        * fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited-expected.txt:

2014-07-28  Zoltan Horvath  <zoltan@webkit.org>

        [CSS3-Text] Adjust text-justify implementation to the latest spec
        https://bugs.webkit.org/show_bug.cgi?id=135317

        Reviewed by Darin Adler.

        * fast/css3-text/css3-text-justify/getComputedStyle/script-tests/getComputedStyle-text-justify-inherited.js:
        * fast/css3-text/css3-text-justify/getComputedStyle/script-tests/getComputedStyle-text-justify.js:

2014-07-28  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r169105): Crash in selection
        https://bugs.webkit.org/show_bug.cgi?id=134303

        Added test for the crash that occurred in some cases when selecting.

        Reviewed by Mihnea Ovidenie.

        * fast/regions/selection/crash-deselect-expected.txt: Added.
        * fast/regions/selection/crash-deselect.html: Added.

2014-07-28  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS: Fix :visited behavior for SubSelectors
        https://bugs.webkit.org/show_bug.cgi?id=135324

        Reviewed by Benjamin Poulain.

        Disable :visited match for the selectors that has SubSelectors.
        This `isSubSelector` (`context.firstSelectorOfTheFragment == context.selector`) is intended to
        check `relation != CSSSelector::SubSelector`.
        But since this value belongs to the previous selector and it is tested inside the branch that checks
        the next selector isn't SubSelector `relation != CSSSelector::SubSelector`,
        this only matches when the previous selector doesn't has SubSelectors.

        * fast/history/nested-visited-test-complex-expected.txt: Added.
        * fast/history/nested-visited-test-complex.html: Added.
        * fast/history/sibling-visited-test-complex-expected.txt: Added.
        * fast/history/sibling-visited-test-complex.html: Added.

2014-07-27  Bruno de Oliveira Abinader  <bruno.d@partner.samsung.com>

        Support for :enabled selector on Anchor & Area elements
        https://bugs.webkit.org/show_bug.cgi?id=134826

        Reviewed by Darin Adler.

        Added tests for :enabled CSS selector on Anchor & Area elements.

        * fast/css/css-selector-enabled-links-expected.txt: Added.
        * fast/css/css-selector-enabled-links.html: Added.

2014-07-27  Daniel Bates  <dabates@apple.com>

        [WK2] Crash when accessing window.localStorage after calling window.close()
        https://bugs.webkit.org/show_bug.cgi?id=135328
        <rdar://problem/17315237>

        Reviewed by Sam Weinig.

        Added test by Andy Estes, LayoutTests/storage/domstorage/localstorage/access-storage-after-window-close.html,
        to ensure that we don't crash when accessing local storage for the first time after calling window.close().

        Additionally added tests that ensure that updates to local storage are ignored after calling
        window.close() regardless of whether local storage was accessed before the call to window.close().

        * storage/domstorage/localstorage/access-storage-after-window-close-expected.txt: Added.
        * storage/domstorage/localstorage/access-storage-after-window-close.html: Added.
        * storage/domstorage/localstorage/access-storage-then-set-value-in-storage-after-window-close-expected.txt: Added.
        * storage/domstorage/localstorage/access-storage-then-set-value-in-storage-after-window-close.html: Added.
        * storage/domstorage/localstorage/resources/access-storage-close-window-and-set-value-in-storage.html: Added.
        * storage/domstorage/localstorage/resources/close-window-and-access-storage.html: Added.
        * storage/domstorage/localstorage/resources/close-window-and-set-value-in-storage.html: Added.
        * storage/domstorage/localstorage/set-value-in-storage-after-window-close-expected.txt: Added.
        * storage/domstorage/localstorage/set-value-in-storage-after-window-close.html: Added.

2014-07-27  Filip Pizlo  <fpizlo@apple.com>

        Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.

        * js/regress/fold-get-by-id-to-multi-get-by-offset-expected.txt: Added.
        * js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int-expected.txt: Added.
        * js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int.html: Added.
        * js/regress/fold-get-by-id-to-multi-get-by-offset.html: Added.
        * js/regress/fold-multi-get-by-offset-to-get-by-offset-expected.txt: Added.
        * js/regress/fold-multi-get-by-offset-to-get-by-offset.html: Added.
        * js/regress/fold-multi-get-by-offset-to-poly-get-by-offset-expected.txt: Added.
        * js/regress/fold-multi-get-by-offset-to-poly-get-by-offset.html: Added.
        * js/regress/fold-multi-put-by-offset-to-poly-put-by-offset-expected.txt: Added.
        * js/regress/fold-multi-put-by-offset-to-poly-put-by-offset.html: Added.
        * js/regress/fold-multi-put-by-offset-to-put-by-offset-expected.txt: Added.
        * js/regress/fold-multi-put-by-offset-to-put-by-offset.html: Added.
        * js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset-expected.txt: Added.
        * js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.html: Added.
        * js/regress/fold-put-by-id-to-multi-put-by-offset-expected.txt: Added.
        * js/regress/fold-put-by-id-to-multi-put-by-offset.html: Added.
        * js/regress/fold-put-structure-expected.txt: Added.
        * js/regress/fold-put-structure.html: Added.
        * js/regress/hoist-poly-check-structure-effectful-loop-expected.txt: Added.
        * js/regress/hoist-poly-check-structure-effectful-loop.html: Added.
        * js/regress/hoist-poly-check-structure-expected.txt: Added.
        * js/regress/hoist-poly-check-structure.html: Added.
        * js/regress/put-by-id-replace-and-transition-expected.txt: Added.
        * js/regress/put-by-id-replace-and-transition.html: Added.
        * js/regress/put-by-id-slightly-polymorphic-expected.txt: Added.
        * js/regress/put-by-id-slightly-polymorphic.html: Added.
        * js/regress/script-tests/fold-get-by-id-to-multi-get-by-offset-rare-int.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        (Number):
        * js/regress/script-tests/fold-get-by-id-to-multi-get-by-offset.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        (Number):
        * js/regress/script-tests/fold-multi-get-by-offset-to-get-by-offset.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        * js/regress/script-tests/fold-multi-get-by-offset-to-poly-get-by-offset.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        * js/regress/script-tests/fold-multi-put-by-offset-to-poly-put-by-offset.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        * js/regress/script-tests/fold-multi-put-by-offset-to-put-by-offset.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        * js/regress/script-tests/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        * js/regress/script-tests/fold-put-by-id-to-multi-put-by-offset.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        * js/regress/script-tests/fold-put-structure.js: Added.
        (foo):
        (fu):
        (bar):
        (.bar):
        * js/regress/script-tests/hoist-poly-check-structure-effectful-loop.js: Added.
        (foo):
        (test):
        * js/regress/script-tests/hoist-poly-check-structure.js: Added.
        (foo):
        (test):
        * js/regress/script-tests/put-by-id-replace-and-transition.js: Added.
        * js/regress/script-tests/put-by-id-slightly-polymorphic.js: Added.

2014-07-26  Filip Pizlo  <fpizlo@apple.com>

        Unreviewed, roll out r171641-r171644. It broke some tests; will investigate and
        reland later.

        * js/regress/fold-get-by-id-to-multi-get-by-offset-expected.txt: Removed.
        * js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int-expected.txt: Removed.
        * js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int.html: Removed.
        * js/regress/fold-get-by-id-to-multi-get-by-offset.html: Removed.
        * js/regress/fold-multi-get-by-offset-to-get-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-get-by-offset-to-get-by-offset.html: Removed.
        * js/regress/fold-multi-get-by-offset-to-poly-get-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-get-by-offset-to-poly-get-by-offset.html: Removed.
        * js/regress/fold-multi-put-by-offset-to-poly-put-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-put-by-offset-to-poly-put-by-offset.html: Removed.
        * js/regress/fold-multi-put-by-offset-to-put-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-put-by-offset-to-put-by-offset.html: Removed.
        * js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset-expected.txt: Removed.
        * js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.html: Removed.
        * js/regress/fold-put-by-id-to-multi-put-by-offset-expected.txt: Removed.
        * js/regress/fold-put-by-id-to-multi-put-by-offset.html: Removed.
        * js/regress/fold-put-structure-expected.txt: Removed.
        * js/regress/fold-put-structure.html: Removed.
        * js/regress/hoist-poly-check-structure-effectful-loop-expected.txt: Removed.
        * js/regress/hoist-poly-check-structure-effectful-loop.html: Removed.
        * js/regress/hoist-poly-check-structure-expected.txt: Removed.
        * js/regress/hoist-poly-check-structure.html: Removed.
        * js/regress/put-by-id-replace-and-transition-expected.txt: Removed.
        * js/regress/put-by-id-replace-and-transition.html: Removed.
        * js/regress/put-by-id-slightly-polymorphic-expected.txt: Removed.
        * js/regress/put-by-id-slightly-polymorphic.html: Removed.
        * js/regress/script-tests/fold-get-by-id-to-multi-get-by-offset-rare-int.js: Removed.
        * js/regress/script-tests/fold-get-by-id-to-multi-get-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-get-by-offset-to-get-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-get-by-offset-to-poly-get-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-put-by-offset-to-poly-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-put-by-offset-to-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-put-by-id-to-multi-put-by-offset.js: Removed.
        * js/regress/script-tests/fold-put-structure.js: Removed.
        * js/regress/script-tests/hoist-poly-check-structure-effectful-loop.js: Removed.
        * js/regress/script-tests/hoist-poly-check-structure.js: Removed.
        * js/regress/script-tests/put-by-id-replace-and-transition.js: Removed.
        * js/regress/script-tests/put-by-id-slightly-polymorphic.js: Removed.

2014-07-25  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Rounded rect gets non-renderable at certain subpixel size.
        https://bugs.webkit.org/show_bug.cgi?id=135314
        <rdar://problem/17812921>

        Reviewed by Tim Horton.

        While calculating the rounded rect for painting, the radius is adjusted to compensate
        for the pixel snapped size. However while scaling the radius, certain values overflow
        (float) mantissa and it produces a non-renderable rounded rect where the radius becomes bigger
        than the rectangle dimensions. In such cases, we need to shrink the radius to make it
        renderable again.

        * transitions/rounded-rect-becomes-non-renderable-while-transitioning-expected.txt: Added.
        * transitions/rounded-rect-becomes-non-renderable-while-transitioning.html: Added.

2014-07-25  Jer Noble  <jer.noble@apple.com>

        [MSE] Playback stalls & readyState drops to HAVE_CURRENT_DATA at end of stream with unbalanced buffered SourceBuffers
        https://bugs.webkit.org/show_bug.cgi?id=135291
        <rdar://problem/17715503>

        Reviewed by Sam Weinig.

        * media/media-source/media-source-end-of-stream-buffered-expected.txt: Added.
        * media/media-source/media-source-end-of-stream-buffered.html: Added.

2014-07-25  Filip Pizlo  <fpizlo@apple.com>

        Merge r169795, r169819, r169864, r169902, r169949, r169950, r170016, r170017, r170060, r170064 from ftlopt.

    2014-06-17  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] A DFG inlined ById access variant should not speak of a chain, but only of what structures to test the base for, whether to use a constant as an alternate base for the actual access, and what structures to check on what additional cell constants
            https://bugs.webkit.org/show_bug.cgi?id=133821
    
            Reviewed by Mark Hahnenberg.
    
            * js/regress/poly-chain-access-different-prototypes-expected.txt: Added.
            * js/regress/poly-chain-access-different-prototypes-simple-expected.txt: Added.
            * js/regress/poly-chain-access-different-prototypes-simple.html: Added.
            * js/regress/poly-chain-access-different-prototypes.html: Added.
            * js/regress/script-tests/poly-chain-access-different-prototypes-simple.js: Added.
            * js/regress/script-tests/poly-chain-access-different-prototypes.js: Added.
    
    2014-06-11  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] DFG get_by_id should inline chain accesses with a slightly polymorphic base
            https://bugs.webkit.org/show_bug.cgi?id=133751
    
            Reviewed by Mark Hahnenberg.
    
            * js/regress/poly-chain-access-expected.txt: Added.
            * js/regress/poly-chain-access-simpler-expected.txt: Added.
            * js/regress/poly-chain-access-simpler.html: Added.
            * js/regress/poly-chain-access.html: Added.
            * js/regress/script-tests/poly-chain-access-simpler.js: Added.
            * js/regress/script-tests/poly-chain-access.js: Added.
    
2014-07-25  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] RenderViews paginated as RL or LR don't handle percentage widths correctly.
        REGRESSION: Images don’t scale to fit in page in vertical text books

        https://bugs.webkit.org/show_bug.cgi?id=135204
        <rdar://problem/17043792> 
        
        Reviewed by Simon Fraser.

        * fast/multicol/newmulticol/compare-with-old-impl/overflow-content-expected.html: Removed.
        * fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html: Removed.
        * fast/multicol/pagination/RightToLeft-max-width.html: Added.
        * platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png: Added.
        * platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Added.

2014-07-25  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r171480.
        https://bugs.webkit.org/show_bug.cgi?id=135300

        it broke replaced elements in pagination (Requested by dhyatt_
        on #webkit).

        Reverted changeset:

        "Ensure we compute the min and max height of replaced elements
        to 'none' or 0 when appropriate."
        https://bugs.webkit.org/show_bug.cgi?id=135181
        http://trac.webkit.org/changeset/171480

2014-07-25  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r171587.
        https://bugs.webkit.org/show_bug.cgi?id=135294

        Made fast/dom/HTMLObjectElement/beforeload-set-text-
        crash.xhtml crash again (Requested by ap on #webkit).

        Reverted changeset:

        "REGRESSION (r169105): Crash in selection"
        https://bugs.webkit.org/show_bug.cgi?id=134303
        http://trac.webkit.org/changeset/171587

2014-07-25  Zalan Bujtas  <zalan@apple.com>

        Unreviewed media test gardening after r171593.

        * platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:

2014-07-25  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: iOS video playback controls look blurry.
        https://bugs.webkit.org/show_bug.cgi?id=135245
        <rdar://problem/16878037>

        Reviewed by Simon Fraser.

        This patch introduces a compositing parent of the overlay control panel so that
        the transformed overlay panel becomes sharp. This is a workaround for webkit.org/b/135246.

        Can't find a way to test it yet.

        * platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
        * platform/mac/fast/layers/video-layer-expected.txt:
        * platform/mac/media/audio-controls-rendering-expected.txt:
        * platform/mac/media/controls-after-reload-expected.txt:
        * platform/mac/media/controls-strict-expected.txt:
        * platform/mac/media/controls-without-preload-expected.txt:
        * platform/mac/media/media-controls-clone-expected.txt:
        * platform/mac/media/video-no-audio-expected.txt:

2014-07-25  Dirk Schulze  <krit@webkit.org>

        Unreviewed rebaseline of test. Uploaded wrong result.

        * svg/css/parse-length-expected.txt:

2014-07-24  Dirk Schulze  <krit@webkit.org>

        Turn x/y to presentation attributes
        https://bugs.webkit.org/show_bug.cgi?id=135215

        Test parsing of x and y attributes. Rendering and SVG animation
        covered by existing tests.
        CSS Transition test, test transition from specified attribute value
        to new property value.

        Reviewed by Dean Jackson.

        * svg/css/parse-length-expected.txt: Added.
        * svg/css/parse-length.html: Renamed from LayoutTests/svg/css/parse-width.html.
        * svg/css/parse-width-expected.txt: Removed.
        * transitions/svg-layout-transition-expected.txt: Added.
        * transitions/svg-layout-transition.html: Added.

2014-07-24  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: Implement Pseudo Element
        https://bugs.webkit.org/show_bug.cgi?id=134835

        Reviewed by Benjamin Poulain.

        Implement Pseudo Element handling for CSS JIT SelectorCompiler.
        At first, we start with the simple implementation. We handle limited number of pseudo element,
        before, after, first-line, first-letter.

        * fast/selectors/pseudo-element-inside-any-expected.html: Added.
        * fast/selectors/pseudo-element-inside-any.html: Added.
        Inside functional pseudo classes such as ":-webkit-any", when pseudo element comes (e.g. ":-webkit-any(::first-letter)"),
        it produces a local failure. So if the other selectors are matched against the element, whole ":-webkit-any" succeeds.
        For example, a selector ":-webkit-any(::first-letter, p)" matches against `p` elements.
        * fast/selectors/querySelector-pseudo-element-expected.txt: Added.
        * fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-any-expected.txt: Added.
        * fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-any.html: Added.
        * fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-not-expected.txt: Added.
        * fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-not.html: Added.
        * fast/selectors/querySelector-pseudo-element.html: Added.

2014-07-24  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r169105): Crash in selection
        https://bugs.webkit.org/show_bug.cgi?id=134303

        Reviewed by David Hyatt.

        Added test for the crash that occurred in some cases when selecting.

        * fast/regions/selection/crash-deselect-expected.txt: Added.
        * fast/regions/selection/crash-deselect.html: Added.

2014-07-24  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK1] CSS viewport units use the wrong viewport size in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=135254
        <rdar://problem/17781423>

        Reviewed by Tim Horton.
        
        New test that ensures that viewport units are resolved against the correct
        viewport size after the first style recalc.

        * fast/css/viewport-units-dynamic.html: Added.
        * platform/mac/fast/css/viewport-units-dynamic-expected.txt: Added.

2014-07-24  Myles C. Maxfield  <mmaxfield@apple.com>

        Crash when measuring a glyphs from a fallback SVG font
        https://bugs.webkit.org/show_bug.cgi?id=135264

        Reviewed by Simon Fraser.

        Render some text with a fallback SVG Font including a glyph which
        only exists in that fallback font. Make sure there is no crash.

        * svg/text/resources/Litherum.svg:
        * svg/text/svg-fallback-font-crash-expected.txt: Added.
        * svg/text/svg-fallback-font-crash.html: Added.

2014-07-24  Mihnea Ovidenie  <mihnea@adobe.com>

        [New Multicolumn] Assertion failure when an input element has multicolumn style
        https://bugs.webkit.org/show_bug.cgi?id=135234

        Reviewed by Andrei Bucur.

        * fast/multicol/newmulticol/input-as-multicol-expected.txt: Added.
        * fast/multicol/newmulticol/input-as-multicol.html: Added.

2014-07-23  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: InspectorBackend's promise-based agent API does not support multiple return values
        https://bugs.webkit.org/show_bug.cgi?id=135207

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector/replay/replay-test.js: fix uses of promise API return values.

2014-07-23  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r171455.
        https://bugs.webkit.org/show_bug.cgi?id=135209

        completely broke selection highlight invalidation (Requested
        by thorton on #webkit).

        Reverted changeset:

        "REGRESSION (r169105): Crash in selection"
        https://bugs.webkit.org/show_bug.cgi?id=134303
        http://trac.webkit.org/changeset/171455

2014-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>

        Ensure we compute the min and max height of replaced elements to 'none' or 0 when appropriate.
        https://bugs.webkit.org/show_bug.cgi?id=135181

        Reviewed by David Hyatt.

        * css2.1/20110323/max-height-percentage-003-expected.html: Added.
        * css2.1/20110323/max-height-percentage-003.html: Added.
        * fast/replaced/max-height-percentage-quirks-expected.html: Added.
        * fast/replaced/max-height-percentage-quirks.html: Added.
        * fast/replaced/min-height-percentage-expected.html: Added.
        * fast/replaced/min-height-percentage-quirks-expected.html: Added.
        * fast/replaced/min-height-percentage-quirks.html: Added.
        * fast/replaced/min-height-percentage.html: Added.

2014-07-23  Mihnea Ovidenie  <mihnea@adobe.com>

        ASSERTION FAILED: generatingElement() in WebCore::RenderNamedFlowFragment::regionOversetState
        https://bugs.webkit.org/show_bug.cgi?id=135153

        Reviewed by David Hyatt.

        * fast/regions/multicol-as-region-prevented-expected.html: Added.
        * fast/regions/multicol-as-region-prevented.html: Added.

2014-07-10  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r169105): Crash in selection
        https://bugs.webkit.org/show_bug.cgi?id=134303

        Reviewed by David Hyatt.

        Added test for the crash that occurred in some cases when selecting.

        * fast/regions/selection/crash-deselect-expected.txt: Added.
        * fast/regions/selection/crash-deselect.html: Added.

2014-07-22  Filip Pizlo  <fpizlo@apple.com>

        This test is slow so we shouldn't run it in the slower variants (like ftl-eager/dfg-eager).

        * js/regress/script-tests/getter-richards.js:

2014-07-16  Myles C. Maxfield  <mmaxfield@apple.com>

        Copying and pasting trivial H2 content causes a crash in firstPositionInNode
        https://bugs.webkit.org/show_bug.cgi?id=134897

        Reviewed by Ryosuke Niwa.

        Copy and paste text from one heading to another. Make sure there is no crash.

        * editing/pasteboard/heading-crash-expected.txt: Added.
        * editing/pasteboard/heading-crash.html: Added.

2014-07-22  Filip Pizlo  <fpizlo@apple.com>

        Merge r169148, r169185, r169188, r169578, r169582, r169584, r169588, r169753 from ftlopt.

    2014-06-04  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] AI should be able track structure sets larger than 1
            https://bugs.webkit.org/show_bug.cgi?id=128073
    
            Reviewed by Oliver Hunt.
    
            * js/regress/get-by-id-bimorphic-check-structure-elimination-expected.txt: Added.
            * js/regress/get-by-id-bimorphic-check-structure-elimination-simple-expected.txt: Added.
            * js/regress/get-by-id-bimorphic-check-structure-elimination-simple.html: Added.
            * js/regress/get-by-id-bimorphic-check-structure-elimination.html: Added.
            * js/regress/get-by-id-check-structure-elimination-expected.txt: Added.
            * js/regress/get-by-id-check-structure-elimination.html: Added.
            * js/regress/get-by-id-quadmorphic-check-structure-elimination-simple-expected.txt: Added.
            * js/regress/get-by-id-quadmorphic-check-structure-elimination-simple.html: Added.
            * js/regress/script-tests/get-by-id-bimorphic-check-structure-elimination-simple.js: Added.
            * js/regress/script-tests/get-by-id-bimorphic-check-structure-elimination.js: Added.
            * js/regress/script-tests/get-by-id-check-structure-elimination.js: Added.
            * js/regress/script-tests/get-by-id-quadmorphic-check-structure-elimination-simple.js: Added.
    
    2014-06-03  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] FTL native inlining tests take far too long
            https://bugs.webkit.org/show_bug.cgi?id=133498
    
            Unreviewed test gardening.
            
            Move long-running tests that focus on correctness into JSC/tests/stress.
            Speed up the performance tests by reducing allocation and call overhead.
    
            * js/regress/ftl-library-inlining-exceptions-expected.txt: Removed.
            * js/regress/ftl-library-inlining-exceptions.html: Removed.
            * js/regress/ftl-library-inlining-folding-expected.txt: Removed.
            * js/regress/ftl-library-inlining-folding.html: Removed.
            * js/regress/ftl-library-inlining-loops-expected.txt: Removed.
            * js/regress/ftl-library-inlining-loops.html: Removed.
            * js/regress/script-tests/ftl-library-inlining-dataview.js:
            (foo): Deleted.
            * js/regress/script-tests/ftl-library-inlining-exceptions.js: Removed.
            * js/regress/script-tests/ftl-library-inlining-folding.js: Removed.
            * js/regress/script-tests/ftl-library-inlining-loops.js: Removed.
            * js/regress/script-tests/ftl-library-inlining.js:
            (foo): Deleted.
    
    2014-06-03  Matthew Mirman  <mmirman@apple.com>
    
            [ftlopt] Added system for inlining native functions via the FTL.
            https://bugs.webkit.org/show_bug.cgi?id=131515
    
            Reviewed by Filip Pizlo.
    
            Adds microbenchmarks. 
    
            * js/regress/script-tests/ftl-library-inlining.js: Added.
            * js/regress/ftl-library-inlining-expected.txt: Added.
            * js/regress/ftl-library-inlining.html: Added.
            * js/regress/script-tests/ftl-library-inlining-dataview.js: Added.
            * js/regress/ftl-library-inlining-dataview-expected.txt: Added.
            * js/regress/ftl-library-inlining-dataview.html: Added.
            * js/regress/script-tests/ftl-library-inlining-exceptions.js: Added.
            * js/regress/ftl-library-inlining-exceptions-expected.txt: Added.        
            * js/regress/ftl-library-inlining-exceptions.html: Added.                
            * js/regress/script-tests/ftl-library-inlining-folding.js: Added.
            * js/regress/ftl-library-inlining-folding-expected.txt: Added.        
            * js/regress/ftl-library-inlining-folding-expected.html: Added.                
            * js/regress/script-tests/ftl-library-inlining-loops.js: Added.
            * js/regress/ftl-library-inlining-loops-expected.txt: Added.        
            * js/regress/ftl-library-inlining-loops.html: Added.                
            
    2014-05-21  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] DFG::clobberize should be blind to the effects of GC
            https://bugs.webkit.org/show_bug.cgi?id=133166
    
            Reviewed by Geoffrey Garen.
    
            * js/regress/hoist-make-rope-expected.txt: Added.
            * js/regress/hoist-make-rope.html: Added.
            * js/regress/script-tests/hoist-make-rope.js: Added.
            (foo):
    
2014-07-22  Alex Christensen  <achristensen@webkit.org>

        Fix window-inactive css selectors when using querySelector.
        https://bugs.webkit.org/show_bug.cgi?id=135149

        Reviewed by Tim Horton.

        * fast/selectors/querySelector-window-inactive-expected.txt: Added.
        * fast/selectors/querySelector-window-inactive.html: Added.
        * platform/wk2/TestExpectations:
        Added querySelector-window-inactive.html to list of tests that do not work in WK2 because of setWindowIsKey. 

2014-07-22  Filip Pizlo  <fpizlo@apple.com>

        Merge r168635, r168780, r169005, r169014, and r169143 from ftlopt.

    2014-05-20  Filip Pizlo  <fpizlo@apple.com>
    
            [ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
            https://bugs.webkit.org/show_bug.cgi?id=133105
    
            Reviewed by Michael Saboff.
    
            * js/regress/getter-no-activation-expected.txt: Added.
            * js/regress/getter-no-activation.html: Added.
            * js/regress/script-tests/getter-no-activation.js: Added.
            * js/regress/getter-richards-expected.txt: Added.
            * js/regress/getter-richards.html: Added.
            * js/regress/script-tests/getter-richards.js: Added.
    
    2014-05-08  Filip Pizlo  <fpizlo@apple.com>
    
            jsSubstring() should be lazy
            https://bugs.webkit.org/show_bug.cgi?id=132556
    
            Reviewed by Andreas Kling.
            
            These tests get 35-50% faster.
    
            * js/regress/script-tests/substring-concat-weird.js: Added.
            (foo):
            * js/regress/script-tests/substring-concat.js: Added.
            (foo):
            * js/regress/script-tests/substring.js: Added.
            (foo):
            * js/regress/substring-concat-expected.txt: Added.
            * js/regress/substring-concat-weird-expected.txt: Added.
            * js/regress/substring-concat-weird.html: Added.
            * js/regress/substring-concat.html: Added.
            * js/regress/substring-expected.txt: Added.
            * js/regress/substring.html: Added.
    
2014-07-22  Myles C. Maxfield  <mmaxfield@apple.com>

        [Mac] Cocoa throws exception when the return type of NSAccessibilityLinkedUIElementsAttribute is not an array
        https://bugs.webkit.org/show_bug.cgi?id=135165

        Reviewed by Simon Fraser.

        Updating tests.

        * accessibility/parent-delete-expected.txt:
        * accessibility/transformed-element-expected.txt:
        * platform/mac/accessibility/aria-columnrowheaders-expected.txt:
        * platform/mac/accessibility/bounds-for-range-expected.txt:
        * platform/mac/accessibility/document-attributes-expected.txt:
        * platform/mac/accessibility/document-links-expected.txt:
        * platform/mac/accessibility/image-link-expected.txt:
        * platform/mac/accessibility/image-map2-expected.txt:
        * platform/mac/accessibility/internal-link-anchors-expected.txt:
        * platform/mac/accessibility/internal-link-anchors2-expected.txt:
        * platform/mac/accessibility/lists-expected.txt:
        * platform/mac/accessibility/plugin-expected.txt:
        * platform/mac/accessibility/table-attributes-expected.txt:
        * platform/mac/accessibility/table-cell-spans-expected.txt:
        * platform/mac/accessibility/table-cells-expected.txt:
        * platform/mac/accessibility/table-detection-expected.txt:
        * platform/mac/accessibility/table-one-cell-expected.txt:
        * platform/mac/accessibility/table-sections-expected.txt:
        * platform/mac/accessibility/table-with-rules-expected.txt:
        * platform/mac-mountainlion/accessibility/lists-expected.txt:

2014-07-22  Myles C. Maxfield  <mmaxfield@apple.com>

        [Mac] accessibility/aria-columnrowheaders.html doesn't test lengths of arrays
        https://bugs.webkit.org/show_bug.cgi?id=135166

        Reviewed by Chris Fleizach.

        Using debug() interprets strings like "<array of size 0>" as markup, thereby not
        showing it in the expected output. Instead, we should use innerText (which is
        what all the other accessibility tests use).

        * platform/mac/accessibility/aria-columnrowheaders-expected.txt:
        * platform/mac/accessibility/aria-columnrowheaders.html:

2014-07-22  Alexey Proskuryakov  <ap@apple.com>

        [Mac] [WK2] selection-gap-fixed-child.html and selection-gap-flipped-fixed-child.html
        have been failing since they were added in r148258
        https://bugs.webkit.org/show_bug.cgi?id=114573

        Landing actual results as expected for WK2. This test isn't meaningful for WK2, because of layers.

        * platform/mac-wk2/TestExpectations:
        * platform/mac-wk2/fast/repaint/selection-gap-fixed-child-expected.txt: Added.
        * platform/mac-wk2/fast/repaint/selection-gap-flipped-fixed-child-expected.txt: Added.

2014-07-21  Myles C. Maxfield  <mmaxfield@apple.com>

        Clicking on links while accessibility is enabled does not render as expected
        https://bugs.webkit.org/show_bug.cgi?id=135074

        Reviewed by Chris Fleizach.

        Delete a node and its parent, then call allAttributes() on the accessibility representation of
        the deleted child and make sure there is no crash.

        * accessibility/parent-delete-expected.txt: Added
        * accessibility/parent-delete.html: Added

2014-07-22  Alexey Proskuryakov  <ap@apple.com>

        media/track/track-in-band-subtitles-too-large.html and
        media/track/track-long-word-container-sizing.html fail on Mac (dependent on other tests?)
        https://bugs.webkit.org/show_bug.cgi?id=135160

        Correcting test expectations - the failures are not WK1 only.

        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2014-07-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        * platform/efl/TestExpectations: Update incorrect test expectations for passing and crashing tests.

2014-07-18  Dirk Schulze  <krit@webkit.org>

        Turn width/height to presentation attributes
        https://bugs.webkit.org/show_bug.cgi?id=135046

        Reviewed by Dean Jackson.

        We already had a lot of tests for animating width/height as property.
        So far they assumed that this is not possible. They simply needed to
        be updated.

        Furthermore, I added reference tests to test different inheritance
        scenarios of CSS properties and setting them to elements.

        A parsing test makes sure that the global property values inherit is
        supported as well as CSS parsing rules for SVG attributes.
        Negative tests test not-allowed behavior.

        * platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * svg/animations/attributeTypes-expected.txt:
        * svg/animations/resources/attributeTypes.svg:
        * svg/animations/script-tests/attributeTypes.js:
        (sample1):
        (sample2):
        (sample3):
        * svg/css/getComputedStyle-basic-expected.txt:
        * svg/css/parse-height-expected.txt: Added.
        * svg/css/parse-height.html: Added.
        * svg/css/parse-width-expected.txt: Added.
        * svg/css/parse-width.html: Added.
        * svg/css/width-height-presentation-attribute-expected.svg: Added.
        * svg/css/width-height-presentation-attribute.svg: Added.
        * svg/custom/mask-excessive-malloc-expected.txt:
        * svg/hixie/error/015-expected.txt:

2014-07-21  Diego Pino Garcia  <dpino@igalia.com>

        new Int32Array(new ArrayBuffer(100), 1, 1) shouldn't throw an error that says "RangeError: Byte offset and length out of range of buffer"
        https://bugs.webkit.org/show_bug.cgi?id=125391

        Reviewed by Darin Adler.

        * fast/canvas/webgl/data-view-crash-expected.txt:
        * fast/canvas/webgl/data-view-test-expected.txt:
        * fast/canvas/webgl/data-view-test.html:

2014-07-21  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: fast/layers/no-clipping-overflow-hidden-added-after-transform.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=135133

        * platform/mac/TestExpectations: Marked it as such.

2014-07-21  Jer Noble  <jer.noble@apple.com>

        [MSE] YouTube video decode error when variant-switching
        https://bugs.webkit.org/show_bug.cgi?id=135128

        Reviewed by Brent Fulgham.

        * media/media-source/media-source-overlapping-decodetime-expected.txt: Added.
        * media/media-source/media-source-overlapping-decodetime.html: Added.

2014-07-21  Alexey Proskuryakov  <ap@apple.com>

        fast/canvas/canvas-putImageData-zero-alpha.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=131787

        * platform/mac/TestExpectations: Mark it as such.

2014-07-21  Zalan Bujtas  <zalan@apple.com>

        Unreviewed hidpi test gardening.

        Use Ahem font to ensure font size predictability.

        * fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present-expected.html:
        * fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present.html:

2014-07-21  Zalan Bujtas  <zalan@apple.com>

        Unreviewed hidpi test gardening.

        * fast/inline/hidpi-selection-gap-on-subpixel-position-expected.html:
        * fast/inline/hidpi-selection-gap-on-subpixel-position.html: Speculative fix.
        * fast/inline/hidpi-selection-gap-overlaps-inline-selection-expected.html:
        * fast/inline/hidpi-selection-gap-overlaps-inline-selection.html: Use Ahem.

2014-07-21  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION(r150169): http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html fails
        https://bugs.webkit.org/show_bug.cgi?id=116259

        Updating expectations to acknowledge that the test is flaky on WK1 too (it depends
        on preceding tests).

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2014-07-21  Zalan Bujtas  <zalan@apple.com>

        Unreviewed hidpi test gardening.

        Use Ahem font to ensure font size predictability.

        * fast/inline/hidpi-selection-gap-and-inline-selection-have-gap-rtl-expected.html:
        * fast/inline/hidpi-selection-gap-and-inline-selection-have-gap-rtl.html:

2014-07-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Remove passing tests from TestExpectations file.

        * platform/efl/TestExpectations:

2014-07-21  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Cleanup tests in css3/blending
        https://bugs.webkit.org/show_bug.cgi?id=132600

        Reviewed by Mihnea Ovidenie.

        Summary of changes:
        - move common stylesheet classes to blending-style.css.
        - remove trailing white spaces.
        - replace tabs with spaces.
        - remove the 'html' tags for consistency with the most of blending tests.
        
        This patch does not change the txt and png test expectations.

        * css3/blending/background-blend-mode-background-attachement-fixed-expected.html:
        * css3/blending/background-blend-mode-background-attachement-fixed.html:
        * css3/blending/background-blend-mode-background-clip-content-box-expected.html:
        * css3/blending/background-blend-mode-background-clip-content-box.html:
        * css3/blending/background-blend-mode-background-clip-padding-box-expected.html:
        * css3/blending/background-blend-mode-background-clip-padding-box.html:
        * css3/blending/background-blend-mode-background-origin-border-box-expected.html:
        * css3/blending/background-blend-mode-background-origin-border-box.html:
        * css3/blending/background-blend-mode-background-position-percentage-expected.html:
        * css3/blending/background-blend-mode-background-position-percentage.html:
        * css3/blending/background-blend-mode-background-repeat-no-repeat-expected.html:
        * css3/blending/background-blend-mode-background-repeat-no-repeat.html:
        * css3/blending/background-blend-mode-background-size-contain-expected.html:
        * css3/blending/background-blend-mode-background-size-contain.html:
        * css3/blending/background-blend-mode-background-size-cover-expected.html:
        * css3/blending/background-blend-mode-background-size-cover.html:
        * css3/blending/background-blend-mode-body-image-expected.html:
        * css3/blending/background-blend-mode-body-image.html:
        * css3/blending/background-blend-mode-body-transparent-color-and-image-expected.html:
        * css3/blending/background-blend-mode-body-transparent-color-and-image.html:
        * css3/blending/background-blend-mode-body-transparent-image-expected.html:
        * css3/blending/background-blend-mode-body-transparent-image.html:
        * css3/blending/background-blend-mode-crossfade-image-expected.html:
        * css3/blending/background-blend-mode-crossfade-image.html:
        * css3/blending/background-blend-mode-data-uri-svg-image-expected.html:
        * css3/blending/background-blend-mode-data-uri-svg-image.html:
        * css3/blending/background-blend-mode-default-value.html:
        * css3/blending/background-blend-mode-different-image-formats.html:
        * css3/blending/background-blend-mode-gif-color-2.html:
        * css3/blending/background-blend-mode-gif-color.html:
        * css3/blending/background-blend-mode-gradient-color.html:
        * css3/blending/background-blend-mode-gradient-gradient.html:
        * css3/blending/background-blend-mode-gradient-image.html:
        * css3/blending/background-blend-mode-image-color-dynamic-expected.html:
        * css3/blending/background-blend-mode-image-color-dynamic.html:
        * css3/blending/background-blend-mode-image-color.html:
        * css3/blending/background-blend-mode-image-image.html:
        * css3/blending/background-blend-mode-image-svg.html:
        * css3/blending/background-blend-mode-multiple-background-layers.html:
        * css3/blending/background-blend-mode-separate-layer-declaration-expected.html:
        * css3/blending/background-blend-mode-separate-layer-declaration.html:
        * css3/blending/background-blend-mode-single-layer-no-blending.html:
        * css3/blending/background-blend-mode-svg-color.html:
        * css3/blending/background-blend-mode-svg-expected.html:
        * css3/blending/background-blend-mode-svg.html:
        * css3/blending/background-blend-mode-tiled-layers.html:
        * css3/blending/blend-mode-accelerated-parent-overflow-hidden-expected.html:
        * css3/blending/blend-mode-accelerated-parent-overflow-hidden.html:
        * css3/blending/blend-mode-accelerated-with-multiple-stacking-contexts.html:
        * css3/blending/blend-mode-ancestor-clipping-layer.html:
        * css3/blending/blend-mode-background.html:
        * css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
        * css3/blending/blend-mode-body-child-background-color-expected.html:
        * css3/blending/blend-mode-body-child-background-color.html:
        * css3/blending/blend-mode-body-child-isolate-background-color-expected.html:
        * css3/blending/blend-mode-body-child-isolate-background-color.html:
        * css3/blending/blend-mode-body-child-isolate-html-background-color-expected.html:
        * css3/blending/blend-mode-body-child-isolate-html-background-color.html:
        * css3/blending/blend-mode-body-child.html:
        * css3/blending/blend-mode-body-element-expected.html:
        * css3/blending/blend-mode-body-element.html:
        * css3/blending/blend-mode-clip-accelerated-blending-canvas.html:
        * css3/blending/blend-mode-clip-accelerated-blending-child-expected.html:
        * css3/blending/blend-mode-clip-accelerated-blending-child.html:
        * css3/blending/blend-mode-clip-accelerated-blending-double-expected.html:
        * css3/blending/blend-mode-clip-accelerated-blending-double.html:
        * css3/blending/blend-mode-clip-accelerated-blending-with-siblings-expected.html:
        * css3/blending/blend-mode-clip-accelerated-blending-with-siblings.html:
        * css3/blending/blend-mode-clip-accelerated-transformed-blending-expected.html:
        * css3/blending/blend-mode-clip-accelerated-transformed-blending.html:
        * css3/blending/blend-mode-clip-rect-accelerated-blending-expected.html:
        * css3/blending/blend-mode-clip-rect-accelerated-blending.html:
        * css3/blending/blend-mode-html-element-screen.html:
        * css3/blending/blend-mode-isolated-group-1.html:
        * css3/blending/blend-mode-isolated-group-2.html:
        * css3/blending/blend-mode-isolated-group-3.html:
        * css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html:
        * css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-append-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation.html:
        * css3/blending/blend-mode-isolation-flags-turn-off-blending.html:
        * css3/blending/blend-mode-isolation-flags-turn-off-stacking-context.html:
        * css3/blending/blend-mode-isolation-flags-turn-on-blending.html:
        * css3/blending/blend-mode-isolation-flags-turn-on-stacking-context.html:
        * css3/blending/blend-mode-isolation-overflow-hidden-expected.html:
        * css3/blending/blend-mode-isolation-overflow-hidden.html:
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html:
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html:
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html:
        * css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html:
        * css3/blending/blend-mode-layers.html:
        * css3/blending/blend-mode-overflow.html:
        * css3/blending/blend-mode-parent-of-composited-blended-has-layer.html:
        * css3/blending/blend-mode-reflection.html:
        * css3/blending/blend-mode-simple-composited.html:
        * css3/blending/blend-mode-transform-style.html:
        * css3/blending/blend-mode-with-accelerated-sibling.html:
        * css3/blending/blend-mode-with-body-expected.html:
        * css3/blending/blend-mode-with-body.html:
        * css3/blending/blend-mode-with-composited-descendant-should-have-layer.html:
        * css3/blending/effect-background-blend-mode-stacking.html:
        * css3/blending/isolation-isolate-blended-child-expected.html:
        * css3/blending/isolation-isolate-blended-child.html:
        * css3/blending/repaint/blend-mode-isolate-stacking-context.html:
        * css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html:
        * css3/blending/repaint/blend-mode-turn-off-isolation.html:
        * css3/blending/resources/blending-style.css: Added.
        This file contains classes shared by multiple blending tests.
        
        * css3/blending/resources/dump-layer-tree.js: Added.
        * css3/blending/script-tests/background-blend-mode-property-parsing.js:
        * css3/blending/script-tests/blend-mode-property-parsing-invalid.js:
        * css3/blending/script-tests/blend-mode-property-parsing.js:

2014-07-21  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Rename gridAutoFlow[Row|Column] to gridAutoFlow[Row|Column]Sparse
        https://bugs.webkit.org/show_bug.cgi?id=135013

        Rename CSS styles in grid layout tests to make the name more explicit.
        As the default mode for auto-placement algorithm is "sparse".

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-flow-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-flow-get-set.html:
        * fast/css-grid-layout/grid-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-flow-sparse.html:
        * fast/css-grid-layout/grid-item-addition-auto-placement-update.html:
        * fast/css-grid-layout/grid-item-auto-placement-automatic-span.html:
        * fast/css-grid-layout/grid-item-auto-placement-definite-span.html:
        * fast/css-grid-layout/grid-item-order-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
        * fast/css-grid-layout/resources/grid.css:
        (.gridAutoFlowColumnSparse):
        (.gridAutoFlowRowSparse):
        (.gridAutoFlowColumn): Deleted.
        (.gridAutoFlowRow): Deleted.

2014-07-20  Diego Pino Garcia  <dpino@igalia.com>

        ES6: Implement Math.sign()
        https://bugs.webkit.org/show_bug.cgi?id=134980

        Reviewed by Darin Adler.

        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/math.js:

2014-07-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures. Update some expectations.

2014-07-18  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] position:fixed in iframes with programmatic scroll could end up in the wrong place
        https://bugs.webkit.org/show_bug.cgi?id=135078

        Reviewed by Tim Horton.
        
        Test with position:fixed inside an iframe that scrolls programmatically.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/autoscrolling-frame-with-fixed.html: Added.

2014-07-18  Alexey Proskuryakov  <ap@apple.com>

        media/video-seek-with-negative-playback.html is flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=135071

        * platform/mac/TestExpectations: Marked it as such.

2014-07-18  Zalan Bujtas  <zalan@apple.com>

        Add timeout for transition end. Speculative layout test fix.

        * fast/layers/no-clipping-overflow-hidden-added-after-transform.html:

2014-07-18  Mario Sanchez Prada  <mario.prada@samsung.com>

        [GTK] Unreviewed gardening. Removing failure expectations for tests now passing.

        * platform/gtk/TestExpectations: Removed failure expectations.

2014-07-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r171218.
        https://bugs.webkit.org/show_bug.cgi?id=135055

        Made fast/dom/HTMLObjectElement/beforeload-set-text-
        crash.xhtml crash (Requested by ap on #webkit).

        Reverted changeset:

        "REGRESSION (r169105): Crash in selection"
        https://bugs.webkit.org/show_bug.cgi?id=134303
        http://trac.webkit.org/changeset/171218

2014-07-18  Mario Sanchez Prada  <mario.prada@samsung.com>

        [GTK] Unreviewed GTK gardening. Tests passing after SVN r171001

        * platform/gtk/TestExpectations: Removed tests that are now passing.

2014-07-18  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r169105): Crash in selection
        https://bugs.webkit.org/show_bug.cgi?id=134303

        Reviewed by Ryosuke Niwa.

        Added test for the crash that occurred in some cases when selecting.

        * fast/regions/selection/crash-deselect-expected.txt: Added.
        * fast/regions/selection/crash-deselect.html: Added.

2014-07-17  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Embedded non-compositing rotate transform paints to wrong position.
        https://bugs.webkit.org/show_bug.cgi?id=135028

        Reviewed by Simon Fraser.

        CTM always translates to where the layer's renderer() is going to paint.
        It ensures that the pixel snapped renderer() always end up painting to (0, 0) which is
        required to be able to position properly on transformed context.

        * fast/layers/hidpi-transform-on-child-content-is-mispositioned-expected.html: Added.
        * fast/layers/hidpi-transform-on-child-content-is-mispositioned.html: Added.

2014-07-17  Alexey Proskuryakov  <ap@apple.com>

        fast/repaint/obscured-background-no-repaint.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=131477

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        Moved the expectation out of WK2, as this also happens with WK1 on some bots.

2014-07-17  Alexey Proskuryakov  <ap@apple.com>

        Remove inspector-protocol/profiler tests from TestExpectations, now that they no
        longer exist.

        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:

2014-07-17  Timothy Hatcher  <timothy@apple.com>

        Make console.profile record to the Timeline.

        https://bugs.webkit.org/show_bug.cgi?id=134643

        Reviewed by Joseph Pecoraro.

        * fast/profiler/profile-with-no-title-expected.txt:

        * inspector-protocol/profiler/console-profile-expected.txt: Removed.
        * inspector-protocol/profiler/console-profile.html: Removed.
        * inspector-protocol/profiler/console-profileEnd-parameterless-expected.txt: Removed.
        * inspector-protocol/profiler/console-profileEnd-parameterless.html: Removed.
        Removed because console.profile does not go through the profiler protocol now.

2014-07-16  Roger Fong  <roger_fong@apple.com>

        Add test for r169820.
        https://bugs.webkit.org/show_bug.cgi?id=135002.

        Reviewed by Dean Jackson.

        * platform/mac-wk2/plugins/snapshotting/autoplay-dominant-blank-plugin-moved-into-view-expected.txt: Added.
        * plugins/snapshotting/autoplay-dominant-blank-plugin-moved-into-view.html: Added.

2014-07-17  Alexey Proskuryakov  <ap@apple.com>

        plugins/quicktime-plugin-replacement.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=135015

        * platform/mac/TestExpectations: Marked as such.

2014-07-17  Alexey Proskuryakov  <ap@apple.com>

        Some inspector-protocol test expectations gardening.

        Moved cross-platform expectations for inspector-protocol/debugger/setBreakpoint-dfg*
        tests to a cross-platform file, and added a Mac expectation for
        inspector-protocol/profiler/console-profile.html.

        * TestExpectations:
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2014-07-17  Alexey Proskuryakov  <ap@apple.com>

        Flaky Test: media/video-ended-event-negative-playback.html
        https://bugs.webkit.org/show_bug.cgi?id=134490

        * platform/mac/TestExpectations: Marking as such.

2014-07-17  Jer Noble  <jer.noble@apple.com>

        Enable legacy fullscreen API in media controls
        https://bugs.webkit.org/show_bug.cgi?id=134985

        Reviewed by Eric Carlson.

        Rebaseline expected results.

        * platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
        * platform/mac/fast/layers/video-layer-expected.txt:
        * platform/mac/media/media-controls-clone-expected.txt:
        * platform/mac/webarchive/loading/video-in-webarchive-expected.txt:

2014-07-17  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Add element.style coverage for grid-auto-flow
        https://bugs.webkit.org/show_bug.cgi?id=134966

        Reviewed by Sergio Villar Senin.

        As follow-up patch after r170996 we're adding new test cases for
        grid-auto-flow to check the correct behavior of element.style.

        * fast/css-grid-layout/grid-auto-flow-get-set-expected.txt: Updated
        expectations accordingly.
        * fast/css-grid-layout/grid-auto-flow-get-set.html: Updated test to add
        checks for element.style.
        * fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
        (checkGridAutoFlowSetCSSValue): Add new helper method to check
        grid-auto-flow property.
        (checkGridAutoFlowSetJSValue): Ditto.

2014-07-16  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures. Update some expectations.
        * platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Rebaseline after r171033.
        * platform/gtk/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: Added. Rebaseline after r171046.

2014-07-16  Roger Fong  <roger_fong@apple.com>

        Unreviewed gardening. Skip some text track tests that fail only on release wk1 builds.

        * platform/mac-wk1/TestExpectations:

2014-07-16  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Skip in-band text track test on Mountain Lion.

        * platform/mac/TestExpectations:
        In-band text tracks not supported on ML.

2014-07-16  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Adjust cliprect with devicePixelFractionFromRenderer() before painting.
        https://bugs.webkit.org/show_bug.cgi?id=134950
        <rdar://problem/17617994>

        Reviewed by Simon Fraser.

        The cliprect coming from the graphics layer needs to be adjusted with the subpixel gap
        from renderer. This is symmetric with the offsetting we do, when the dirty rect is sent off to the GraphicsLayer.
        It puts us back to the correct coordinating system for intersecting with renderers.

        * compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position-expected.html: Added.
        * compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html: Added.

2014-07-16  Roger Fong  <roger_fong@apple.com>

        Captions container should not clip content.
        https://bugs.webkit.org/show_bug.cgi?id=134840.
        <rdar://problem/14553608>.

        Reviewed by Simon Fraser.

        * media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Rebaseline.
        * media/track/captions-webvtt/long-word-small-track-display.vtt: Added.
        * media/track/track-in-band-subtitles-too-large-expected.txt: Added.
        * media/track/track-in-band-subtitles-too-large.html: Added.
        * media/track/track-long-word-container-sizing-expected.txt: Added.
        * media/track/track-long-word-container-sizing.html: Added.
        
        We no longer break in the middle of a word, this test is no longer useful.
        * media/track/captions-webvtt/long-word.vtt: Removed.
        * media/track/track-word-breaking-expected.txt: Removed.
        * media/track/track-word-breaking.html: Removed.

2014-07-16  Mike West  <mkwst@chromium.org>

        CSP: Drop 'script-nonce' directive.
        https://bugs.webkit.org/show_bug.cgi?id=134926

        Reviewed by Darin Adler.

        Dropping the nonce tests, as we're removing the functionality.

        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed-expected.txt: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed.html: Removed.

2014-07-16  Jer Noble  <jer.noble@apple.com>

        [MSE] REGRESSION(r171033): ASSERT in WebCore::MediaSource::onReadyStateChange()
        https://bugs.webkit.org/show_bug.cgi?id=134941

        Reviewed by Eric Carlson.

        Update media/media-source/media-source-end-of-stream.html to use an empty parameter, rather
        than an empty string parameter, to endOfStream().

        * media/media-source/media-source-end-of-stream-expected.txt:
        * media/media-source/media-source-end-of-stream.html:

2014-07-16  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening.

        Rebaseline tests after r168575, r170138 and r170418.

        * platform/efl/fast/dynamic/text-combine-expected.png: Rebaseline after r170418.
        * platform/efl/fast/dynamic/text-combine-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/forms/control-restrict-line-height-expected.png: Rebaseline after r168575.
        * platform/efl/fast/forms/control-restrict-line-height-expected.txt: Rebaseline after r168575.
        * platform/efl/fast/forms/placeholder-position-expected.png: Rebaseline after r168575.
        * platform/efl/fast/forms/placeholder-position-expected.txt: Rebaseline after r168575.
        * platform/efl/fast/repaint/japanese-rl-selection-clear-expected.png: Rebaseline after r170418.
        * platform/efl/fast/repaint/japanese-rl-selection-clear-expected.txt: Added. Rebaseline after r170418.
        * platform/efl/fast/repaint/japanese-rl-selection-repaint-expected.png: Rebaseline after r170418.
        * platform/efl/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added. Rebaseline after r170418.
        * platform/efl/fast/text/international/wrap-CJK-001-expected.txt: Added. Rebaseline after r170418.
        * platform/efl/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Rebaseline after r170418.

2014-07-16  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening after r170138.

        * platform/efl/accessibility/image-map2-expected.txt: Updated.
        * platform/efl/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.

2014-07-15  Antti Koivisto  <antti@apple.com>

        REGRESSION (r155957): Invalid cast in WebCore::RenderNamedFlowThread::getRanges
        https://bugs.webkit.org/show_bug.cgi?id=134888

        Reviewed by Mihnea Ovidenie.

        * fast/regions/flowthread-getranges-box-cast-expected.txt: Added.
        * fast/regions/flowthread-getranges-box-cast.html: Added.

2014-07-14  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Zero sized compositing container's content positioned off by one device pixel.
        https://bugs.webkit.org/show_bug.cgi?id=134903

        Reviewed by Simon Fraser.

        The compositing layer boundaries are calculated using its renderer()'s and the renderer()'s
        descendants' bounds. However when the renderer() is zero sized, its bounds are omitted.
        In such cases, when the child content has offset from the renderer(), the subpixel adjustment
        of the compositing layer becomes negative (-meaning that the compositing layer is to the right/bottom
        direction from its renderer()). Remove fabs() to be able to express such direction.

        * compositing/hidpi-compositing-layer-with-zero-sized-container-expected.html: Added.
        * compositing/hidpi-compositing-layer-with-zero-sized-container.html: Added.

2014-07-14  Dean Jackson  <dino@apple.com>

        Provide some large JPEG images with EXIF orientation for subsampling tests
        https://bugs.webkit.org/show_bug.cgi?id=134847

        Reviewed by Sam Weinig.

        Four images (either 3000x2000 or 2000x3000) that each have EXIF rotation
        attributes that should render with an arrow pointing UP. The
        orientation-rotate-0.jpg should always render correctly, even if EXIF
        rotation is ignored. The others are variations on that image that were
        saved in rotated form, then reverted to the correct orientation via EXIF.

        * fast/canvas/resources/orientation-rotate-0.jpg: Added.
        * fast/canvas/resources/orientation-rotate-180.jpg: Added.
        * fast/canvas/resources/orientation-rotate-90-ccw.jpg: Added.
        * fast/canvas/resources/orientation-rotate-90-cw.jpg: Added.

2014-07-14  Daniel Bates  <dabates@apple.com>

        [iOS] Add tests to ensure CSS :active and :hover are applied when processing touch events
        https://bugs.webkit.org/show_bug.cgi?id=134905
        <rdar://problem/16602779> 

        Reviewed by Simon Fraser.

        Upstream tests by Andreas Kling for <rdar://problem/14324231>.

        Add a DRT test to ensure that we apply the style for the CSS pseudo-class :active when
        processing touch events.

        * platform/iphone-simulator/fast/events/ontouchstart-active-selector-expected.txt: Added.
        * platform/iphone-simulator/fast/events/ontouchstart-active-selector.html: Added.

2014-07-14  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Support sparse in auto-placement algorithm
        https://bugs.webkit.org/show_bug.cgi?id=134544

        Reviewed by Sergio Villar Senin.

        Test cases have been adapted accordingly, adding new cases to cover both
        sparse and dense options.

        * fast/css-grid-layout/grid-auto-flow-resolution-expected.txt:
        * fast/css-grid-layout/grid-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-flow-sparse-expected.txt: Added.
        * fast/css-grid-layout/grid-auto-flow-sparse.html: Added.
        * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
        * fast/css-grid-layout/grid-item-auto-placement-automatic-span-expected.txt:
        * fast/css-grid-layout/grid-item-auto-placement-automatic-span.html:
        * fast/css-grid-layout/grid-item-auto-placement-definite-span-expected.txt:
        * fast/css-grid-layout/grid-item-auto-placement-definite-span.html:
        * fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
        * fast/css-grid-layout/resources/grid.css:
        (.autoRowAutoColumnSpanning2):
        (.autoRowSpanning2AutoColumn):
        (.autoRowSpanning2AutoColumnSpanning3):
        (.autoRowSpanning3AutoColumnSpanning2):
        (.gridAutoFlowColumnDense):
        (.gridAutoFlowRowDense):

2014-07-14  Bear Travis  <betravis@adobe.com>

        [Feature Queries] Enable Feature Queries on Mac
        https://bugs.webkit.org/show_bug.cgi?id=134404

        Reviewed by Antti Koivisto.

        Resume running the Feature Queries tests on Mac.

        * platform/mac/TestExpectations: Unskip the tests.

2014-07-14  Bruno de Oliveira Abinader  <bruno.d@partner.samsung.com>

        [css3-text] Add editing test for CSS3 Text Decoration properties
        https://bugs.webkit.org/show_bug.cgi?id=120114

        Reviewed by Darin Adler.

        Adds editing layout test to verify that CSS3 Text Decoration properties
        are being properly propagated.

        * editing/pasteboard/insert-text-decoration-expected.txt: Added.
        * editing/pasteboard/insert-text-decoration.html: Added.
        * platform/mac/TestExpectations: Skip while CSS3_TEXT is disabled by default.
        * platform/win/TestExpectations: Skip while CSS3_TEXT is disabled by default.

2014-07-14  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening.

        Rebaseline tests after r170418 and r170433.

        * platform/efl/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Added. Rebaseline after r170418.
        * platform/efl/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/text/decorations-with-text-combine-expected.png: Rebaseline after r170418.
        * platform/efl/fast/text/decorations-with-text-combine-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/text/emphasis-vertical-expected.png: Rebaseline after r170418.
        * platform/efl/fast/text/emphasis-vertical-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/text/international/002-expected.png: Rebaseline after r170418.
        * platform/efl/fast/text/international/002-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/text/international/text-combine-image-test-expected.png: Rebaseline after r170418.
        * platform/efl/fast/text/international/text-combine-image-test-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/text/international/wrap-CJK-001-expected.png: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/border-vertical-lr-expected.png: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/border-vertical-lr-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-lr-selection-expected.png: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-lr-selection-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-lr-text-expected.png: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-lr-text-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-rl-selection-expected.png: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-rl-selection-expected.txt: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-rl-text-expected.png: Rebaseline after r170418.
        * platform/efl/fast/writing-mode/japanese-rl-text-expected.txt: Rebaseline after r170418.
        * platform/efl/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png: Rebaseline after r170433.
        * platform/efl/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added. Rebaseline after r170433.
        * platform/efl/svg/filters/feBlend-all-blendmodes-expected.txt: Added. Rebaseline after r170433.

2014-07-14  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening.

        Remove failure expectations for tests that have been passing after r168350, r169309 and r169620.

        * platform/efl/TestExpectations:

2014-07-14  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening.

        * platform/efl/css1/formatting_model/inline_elements-expected.png: Rebaseline after r170875.
        * platform/efl/css1/formatting_model/inline_elements-expected.txt: Rebaseline after r170875.

2014-07-12  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>

        Elements with rendering disabled due to dimensions should not contribute to parent bounding box
        https://bugs.webkit.org/show_bug.cgi?id=134184

        Reviewed by Dirk Schulze.

        Test, for each element type, that when rendering is disabled, that element does not contribute
        to the bounding box for an ancestor element.

        Added test to ensure zero width/height polyline and polygon do contribute to ancestor bounding box.

        Updated expected results for 1 existing test (shapes-rect-02-t) as this test included zero
        width and zero height rects and these were previously included in the repaint rect.

        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
        * svg/custom/GetBBox-path-nodata-expected.txt: Added.
        * svg/custom/GetBBox-path-nodata.html: Added.
        * svg/custom/GetBBox-polygon-nodata-expected.txt: Added.
        * svg/custom/GetBBox-polygon-nodata.html: Added.
        * svg/custom/GetBBox-polyline-nodata-expected.txt: Added.
        * svg/custom/GetBBox-polyline-nodata.html: Added.
        * svg/custom/getBBox-container-hiddenchild-expected.txt: Added.
        * svg/custom/getBBox-container-hiddenchild.html: Added.
        * svg/custom/getBBox-perpendicular-polygon-expected.txt: Added.
        * svg/custom/getBBox-perpendicular-polygon.svg: Added.
        * svg/custom/getBBox-perpendicular-polyline-expected.txt: Added.
        * svg/custom/getBBox-perpendicular-polyline.svg: Added.

2014-07-11  Jer Noble  <jer.noble@apple.com>

        [MSE] http/tests/media/media-source/mediasource-duration.html is failing.
        https://bugs.webkit.org/show_bug.cgi?id=134852

        Reviewed by Eric Carlson.

        Eliminate flakiness in the mediasource-duration.html test by not playing
        the media while testing seeking and duration.
        * http/tests/media/media-source/mediasource-duration.html:

        Update testharness.js to the latest W3C version:
        * http/tests/w3c/resources/testharness.js:

2014-07-11  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r168868): eBay 'see all' links fail due to different JS bindings conversion behavior.
        https://bugs.webkit.org/show_bug.cgi?id=134841
        <rdar://problem/17577563>

        Reviewed by Simon Fraser.

        Revert back to type int for Element.scroll* APIs in order to preserve exception handling
        behavior.

        * cssom/non-subpixel-scroll-top-left-values-expected.txt: Added.
        * cssom/non-subpixel-scroll-top-left-values.html: Added.

2014-07-11  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Implement justify-self css property
        https://bugs.webkit.org/show_bug.cgi?id=134419

        Reviewed by Dean Jackson.

        This change adds the justify-self property from CSS 3 Box Alignment
        and implements the parsing.

        From Blink r164685 by <jchaffraix@chromium.org>

        * fast/css/parse-justify-self-expected.txt: Added.
        * fast/css/parse-justify-self.html: Added.

2014-07-11  Brent Fulgham  <bfulgham@apple.com>

        Use a separate backdrop element to allow cues to have highlight and background color
        https://bugs.webkit.org/show_bug.cgi?id=134821
        <rdar://problem/15999721>

        Reviewed by Eric Carlson.

        Updated tests for new formatting logic.

        * platform/mac/media/track/track-cue-rendering-horizontal-expected.png:
        * platform/mac/media/track/track-cue-rendering-horizontal-expected.txt:

2014-07-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel layout: return integral results for offset*, client*, scroll* by default.
        https://bugs.webkit.org/show_bug.cgi?id=134651

        Reviewed by Simon Fraser.

        Revert to returning integral values for Element.offset* client* scroll* by default.
        Fractional values break number of sites(tight design) and JS frameworks(fail to handle fractional values).

        Since snapped dimension depends on both the original point and the width/height of the box,
        we need to call RenderBoxModelObject::pixelSnapped*() helpers, instead of round().

        Covered by existing tests

        * cssom/subpixel-offsetleft-top-width-height-values-expected.txt:

2014-07-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: icloud.com password arrow has clipped circle at some window sizes.
        https://bugs.webkit.org/show_bug.cgi?id=134824
        <rdar://problem/17612729>

        Reviewed by Simon Fraser.

        Transparent layer clipping needs device pixel offset adjusting.

        * fast/layers/wrong-clipping-semi-transparent-compositing-layer-on-subpixel-position-expected.html: Added.
        * fast/layers/wrong-clipping-semi-transparent-compositing-layer-on-subpixel-position.html: Added.

2014-07-11  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Update grid-auto-flow to the new syntax
        https://bugs.webkit.org/show_bug.cgi?id=134057

        Reviewed by Sergio Villar Senin.

        Adapted current tests to the new syntax. Keeping old "none" behavior
        using "stack".

        Add new use cases to cover the new syntax to grid-auto-flow-get-set.html
        and grid-shorthand-get-set.html.

        * fast/css-grid-layout/grid-auto-flow-get-set-expected.txt:
        * fast/css-grid-layout/grid-auto-flow-get-set.html:
        * fast/css-grid-layout/grid-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-flow-update-expected.txt:
        * fast/css-grid-layout/grid-auto-flow-update.html:
        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
        * fast/css-grid-layout/grid-item-z-index-change-repaint.html:
        * fast/css-grid-layout/grid-item-z-index-stacking-context.html:
        * fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
        * fast/css-grid-layout/grid-shorthand-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
        * fast/css-grid-layout/resources/grid.css:
        (.gridAutoFlowStack):
        (.gridAutoFlowNone): Deleted.
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * ietestcenter/css3/grid/grid-column-001.htm:
        * ietestcenter/css3/grid/grid-column-002.htm:
        * ietestcenter/css3/grid/grid-column-003.htm:
        * svg/css/getComputedStyle-basic-expected.txt:

2014-07-10  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Pasting rich content does not perform a two-step paste
        https://bugs.webkit.org/show_bug.cgi?id=134795

        Reviewed by Benjamin Poulain.

        Copy and paste some text, and make sure that the two step paste occurred.
        The mechanism for detecting this is whether or not styles have changed appropriately.

        * platform/ios-sim/editing/pasteboard/two-step-paste-expected.txt: Added.
        * platform/ios-sim/editing/pasteboard/two-step-paste.html: Added.

2014-07-10  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening.

        Rebaseline tests after r170304 and r170619.

        * platform/efl/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png: Added after r170304.
        * platform/efl/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added after r170304.
        * platform/efl/fast/text/indic-expected.png: Added after r170619.
        * platform/efl/fast/text/indic-expected.txt: Added after r170619.

2014-07-10  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Unreviewed EFL gardening.

        Rebaseline tests after r170207.

        * platform/efl/fast/text/khmer-lao-font-expected.txt: Added.

2014-07-10  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [XHR] overrideMimeType() should be able to change encoding in HEADERS RECEIVED state
        https://bugs.webkit.org/show_bug.cgi?id=128968

        Reviewed by Alexey Proskuryakov.

        Added test equivalent to http://w3c-test.org/web-platform-tests/master/XMLHttpRequest/overridemimetype-headers-received-state-force-shiftjis.htm
        The test sets overrideMimeType when xhr state is changed to HEADERS RECEIVED.

        * http/tests/xmlhttprequest/overridemimetype-headers-received-state-force-shiftjis-expected.txt: Added.
        * http/tests/xmlhttprequest/overridemimetype-headers-received-state-force-shiftjis.html: Added.
        * http/tests/xmlhttprequest/resources/get-content.php: Added.

2014-07-08  Jeffrey Pfau  <jpfau@apple.com>

        Fix flaky loading tests
        https://bugs.webkit.org/show_bug.cgi?id=133696

        Reviewed by Ryosuke Niwa.

        * platform/wk2/TestExpectations: Unskip no-longer failing tests

2014-07-09  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] gardening after r170868  
        https://bugs.webkit.org/show_bug.cgi?id=134717 

        Unreviewed, EFL gardening. 

        Four tests have been rebaselined, and disable the gamepad tests

        * platform/efl/TestExpectations: Disable the gamepad tests
        * platform/efl/fast/text/atsui-multiple-renderers-expected.png:
        * platform/efl/fast/text/atsui-multiple-renderers-expected.txt:
        * platform/efl/fast/text/complex-text-opacity-expected.png:
        * platform/efl/fast/text/complex-text-opacity-expected.txt:
        * platform/efl/fast/text/midword-break-before-surrogate-pair-expected.png:
        * platform/efl/fast/text/midword-break-before-surrogate-pair-expected.txt:
        * platform/efl/transforms/2d/hindi-rotated-expected.png:
        * platform/efl/transforms/2d/hindi-rotated-expected.txt:

2014-07-09  Jer Noble  <jer.noble@apple.com>

        [MSE] http/tests/media/media-source/mediasource-closed.html is failing.
        https://bugs.webkit.org/show_bug.cgi?id=134775

        Reviewed by Eric Carlson.

        Update the test to use isNaN rather than Number.isNaN.

        * http/tests/media/media-source/mediasource-closed.html:

2014-07-09  Javier Fernandez  <jfernandez@igalia.com>

        CSS canvas color parsing accepts invalid color identifiers
        https://bugs.webkit.org/show_bug.cgi?id=134661

        Reviewed by Benjamin Poulain.

        The parseSystemFunction determines now whether the parsed color is
        valid or not.

        The rgb-color-parser covers css style color parsing cases, which
        already provide coverage for invalid color identifiers. I've added
        a few more, though.

        * fast/canvas/canvas-color-serialization-expected.txt:
        * fast/canvas/script-tests/canvas-color-serialization.js:
        * fast/css/test-setting-canvas-color-expected.txt:
        * fast/css/test-setting-canvas-color.html:
        * svg/dom/rgb-color-parser-expected.txt:
        * svg/dom/rgb-color-parser.html:

2014-06-28  Jer Noble  <jer.noble@apple.com>

        [MSE] http/tests/media/media-source/mediasource-remove.html is failing.
        https://bugs.webkit.org/show_bug.cgi?id=134768

        Reviewed by Eric Carlson.

        Update mediasource-remove.html with the correct locations of sync-samples.

        * http/tests/media/media-source/mediasource-remove.html:

2014-07-09  Antti Koivisto  <antti@apple.com>

        fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html is failing in some bots
        https://bugs.webkit.org/show_bug.cgi?id=134769

        * TestExpectations: Skipping the test.

2014-07-09  Jer Noble  <jer.noble@apple.com>

        [MSE] http/tests/media/media-source/mediasource-endofstream-invaliderror.html is failing.
        https://bugs.webkit.org/show_bug.cgi?id=134413

        Reviewed by Eric Carlson.

        Fix an inadevntant editing error in mediasource-endofstream-invaliderror.html, and fix missing
        whitespace at the end of http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt.

        * http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt:
        * http/tests/media/media-source/mediasource-endofstream-invaliderror.html:

2014-07-09  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failing and flaky tests. Adjust some tests expectations.
        * platform/gtk/css1/formatting_model/inline_elements-expected.txt: Rebaseline after r170875.

2014-07-08  Alex Christensen  <achristensen@webkit.org>

        Remove webkit prefix from pointer lock tests.
        https://bugs.webkit.org/show_bug.cgi?id=134744

        Reviewed by Brady Eidson.

        * http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock-expected.txt:
        * http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html:
        * http/tests/pointer-lock/iframe-sandboxed-expected.txt:
        * http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock-expected.txt:
        * http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html:
        * http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock-expected.txt:
        * http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html:
        * http/tests/pointer-lock/iframe-sandboxed.html:
        * http/tests/pointer-lock/pointerlockelement-different-origin-expected.txt:
        * http/tests/pointer-lock/pointerlockelement-different-origin.html:
        * http/tests/pointer-lock/pointerlockelement-same-origin-expected.txt:
        * http/tests/pointer-lock/pointerlockelement-same-origin.html:
        * http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents-expected.txt:
        * http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html:
        * http/tests/resources/pointer-lock/iframe-common.js:
        (document.onpointerlockchange):
        (document.onpointerlockerror):
        (document.onwebkitpointerlockchange): Deleted.
        (document.onwebkitpointerlockerror): Deleted.
        * http/tests/resources/pointer-lock/pointer-lock-test-harness.js:
        (expectOnlyChangeEvent):
        (expectOnlyErrorEvent):
        (expectNoEvents):
        * pointer-lock/bug90391-move-then-window-open-crash-expected.txt:
        * pointer-lock/bug90391-move-then-window-open-crash.html:
        * pointer-lock/lock-already-locked-expected.txt:
        * pointer-lock/lock-already-locked.html:
        * pointer-lock/lock-element-not-in-dom-expected.txt:
        * pointer-lock/lock-element-not-in-dom.html:
        * pointer-lock/locked-element-iframe-removed-from-dom-expected.txt:
        * pointer-lock/locked-element-iframe-removed-from-dom.html:
        * pointer-lock/locked-element-removed-from-dom-expected.txt:
        * pointer-lock/locked-element-removed-from-dom.html:
        * pointer-lock/mouse-event-api-expected.txt:
        * pointer-lock/mouse-event-api.html:
        * pointer-lock/mouse-event-delivery-expected.txt:
        * pointer-lock/mouse-event-delivery.html:
        * pointer-lock/pointer-lock-api-expected.txt:
        * pointer-lock/pointer-lock-api.html:
        * pointer-lock/pointerlockchange-event-on-lock-lost-expected.txt:
        * pointer-lock/pointerlockchange-event-on-lock-lost.html:
        * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
        * pointer-lock/pointerlockchange-pointerlockerror-events.html:
        * pointer-lock/pointerlockelement-null-when-pending-expected.txt:
        * pointer-lock/pointerlockelement-null-when-pending.html:
        Remove webkit prefix on pointer lock functions and events.
        This should have been done in r170585.

2014-07-08  Bem Jones-Bey  <bjonesbe@adobe.com>

        Ensure we compute the height of replaced elements to 'auto' when appropriate.
        https://bugs.webkit.org/show_bug.cgi?id=134700

        Reviewed by David Hyatt.

        * css2.1/20110323/height-percentage-005-expected.html: Added.
        * css2.1/20110323/height-percentage-005.htm: Added.
        * css2.1/20110323/support/black96x96.png: Added.
        * fast/css/replaced-element-ignore-top-bottom-expected.txt: Added.
        * fast/css/replaced-element-ignore-top-bottom.html: Added.

2014-07-07  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: icloud.com password arrow has clipped circle at some window sizes.
        https://bugs.webkit.org/show_bug.cgi?id=134710
        <rdar://problem/17545291>

        Reviewed by Simon Fraser.

        Transparent layer clipping needs device pixel snapping.

        * fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position-expected.html: Added.
        * fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position.html: Added.

2014-07-07  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Inline box decoration rounds to integral.
        https://bugs.webkit.org/show_bug.cgi?id=134523
        <rdar://problem/17530298>

        Reviewed by Darin Adler.

        This patch removes 2 integral roundings from InlineFlowBox:
        1. Border and padding sizes are implicitly integral truncated by the 'int' return type
           of borderLogicalLeft/Right()/paddingLogicalLeft/Right(). It results in losing
           fractional border/padding values.
        2. Painting rectangle is explicitly rounded which pushes border and
           other decoration elements to odd device pixel positions on retina displays.
        These values get pixel snapped right before calling in to GraphicsContext::*.

        * fast/inline/hidpi-inline-text-decoration-with-subpixel-value-expected.html: Added.
        * fast/inline/hidpi-inline-text-decoration-with-subpixel-value.html: Added.
        * platform/mac/css1/formatting_model/inline_elements-expected.txt:

2014-07-07  Hunseop Jeong  <hs85.jeong@samsung.com>
        [EFL] gardening after r170864
        https://bugs.webkit.org/show_bug.cgi?id=134713

        Unreviewed, EFL gardening. 

        * platform/efl/TestExpectations: Report and mark several unexpected image-only failures.

2014-07-07  Daniel Bates  <dabates@apple.com>

        Add test to ensure that SVGDocumentExtensions::rebuildElements() doesn't rebuild invalid elements
        https://bugs.webkit.org/show_bug.cgi?id=134417
        <rdar://problem/17479854>

        Reviewed by David Kilzer.

        Add a test that implicitly checks that the list of SVG elements to be rebuilt doesn't contain
        removed elements. Run this test in DRT with Guard Malloc/MallocScribble (or the platform-
        specific equivalent) enabled.

        * svg/custom/overwrite-page-that-has-use-elements-expected.txt: Added.
        * svg/custom/overwrite-page-that-has-use-elements.html: Added.

2014-07-07  Zalan Bujtas  <zalan@apple.com>

        Unreviewed Mac gardening after r170817.

        * platform/mac-wk2/TestExpectations:

2014-07-07  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Remove failure expectations for tests that have been passing after r168046, r168350, r168400,
        r168479, r169309, r169620, r169689 and r169799.

        * platform/gtk/TestExpectations:

2014-07-07  Ion Rosca  <rosca@adobe.com>

        [CSS Blending]The background images set on the root element will blend on an initial white backdrop.
        https://bugs.webkit.org/show_bug.cgi?id=134342

        Reviewed by Dean Jackson.

        * css3/blending/background-blend-mode-body-image-expected.html: Added.
        * css3/blending/background-blend-mode-body-image.html: Added.
        * css3/blending/background-blend-mode-body-transparent-color-and-image-expected.html: Added.
        * css3/blending/background-blend-mode-body-transparent-color-and-image.html: Added.
        * css3/blending/background-blend-mode-body-transparent-image-expected.html: Added.
        * css3/blending/background-blend-mode-body-transparent-image.html: Added.

2014-07-06  Yoav Weiss  <yoav@yoav.ws>

        Turn on img@sizes compile flag
        https://bugs.webkit.org/show_bug.cgi?id=134634

        Reviewed by Benjamin Poulain.

        * TestExpectations: Turned on layout tests for the img@sizes feature.

2014-07-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Support Geolocation
        https://bugs.webkit.org/show_bug.cgi?id=134439

        Reviewed by Antonio Gomes.

        * platform/efl/TestExpectations: Unskip geolocation tests.

2014-07-04  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: ebay.com rotating billboard on the main page has cut off buttons.
        https://bugs.webkit.org/show_bug.cgi?id=134636
        <rdar://problem/17529112>

        Reviewed by Darin Adler.

        Missing pixel snapping when clipping the transparency layer for BackgroundBleedUseTransparencyLayer.
        Clipping needs to take the same snapping strategy as the rest of the painting code.

        * fast/borders/border-radius-on-subpixel-position-non-hidpi-expected.html: Added.
        * fast/borders/border-radius-on-subpixel-position-non-hidpi.html: Added.

2014-07-04  Julien Quint  <pom@graougraou.com>

        input type=range element should only fire change events after committing a  value
        https://bugs.webkit.org/show_bug.cgi?id=134545

        Reviewed by Dean Jackson.

        Two existing tests are updated to count "input" events as well as
        "change" events. The tests now verify that "change" is only fired once
        after every slider drag completes, whereas "input" may be fired more
        than once.

        * fast/forms/range/range-drag-expected.txt:
        * fast/forms/range/range-drag-when-toggled-disabled-expected.txt:
        * fast/forms/range/range-drag-when-toggled-disabled.html:
        * fast/forms/range/range-drag.html:

2014-07-04  Mario Sanchez Prada  <mario.prada@samsung.com>

        buildAccessibilityTree() needs to be removed from individual layout tests
        https://bugs.webkit.org/show_bug.cgi?id=95286

        Reviewed by Chris Fleizach.

        Extracted two functions to 'dump' and 'touch' the accessibility
        hierarchies out of different layout tests and into a single file,
        living in LayoutTests/resources/accessibility-helper.js

        * resources/accessibility-helper.js: Added.
        (dumpAccessibilityTree): New, based on buildAccessibilityTree()
        for the cases where it was used to actually 'dump' it into the output.
        (touchAccessibilityTree): Same, but for the cases where we don't
        want to dump the accessibility tree, just to make sure is generated.

        Updated affected layout tests to use the newly added helper functions.

        * accessibility/adjacent-continuations-cause-assertion-failure.html: Updated.
        * accessibility/children-changed-sends-notification.html: Ditto.
        * accessibility/deleting-iframe-destroys-axcache.html: Ditto.
        * accessibility/div-within-anchors-causes-crash.html: Ditto.
        * accessibility/first-letter-text-transform-causes-crash.html: Ditto.
        * accessibility/image-map-update-parent-crash.html: Ditto.
        * accessibility/table-with-empty-thead-causes-crash.html: Ditto.
        * platform/efl/accessibility/media-emits-object-replacement.html: Ditto.
        * platform/gtk/accessibility/entry-and-password.html: Ditto.
        * platform/gtk/accessibility/media-emits-object-replacement.html: Ditto.
        * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Ditto.

        Updated Mac specific expectations not to print the "End of test" element.

        * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated.
        * platform/mac/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Ditto.
        * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto.
        * platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Ditto.

2014-07-04  Antti Koivisto  <antti@apple.com>

        REGRESSION(r159345): Lines are clipped between pages when printing web content from Safari
        https://bugs.webkit.org/show_bug.cgi?id=134633

        Reviewed by Zalan Bujtas.

        * printing/simple-lines-break-expected.html: Added.
        * printing/simple-lines-break.html: Added.

2014-07-02  Brent Fulgham  <bfulgham@apple.com>

        [Mac] WebKit1 WebView iframe not responding to scroll gestures
        https://bugs.webkit.org/show_bug.cgi?id=134569
        <rdar://problem/17309008>

        Reviewed by Simon Fraser.

        * platform/mac/fast/scrolling/scroll-iframe-fragment-expected.txt: Added.
        * platform/mac/fast/scrolling/scroll-iframe-fragment.html: Added.

2014-07-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        Unreviewed gardening.

        * platform/gtk/TestExpectations: Report and mark several flaky tests.
        * platform/gtk/fast/text/indic-expected.txt: Added. Add baseline for GTK.
        * platform/mac-wk2/TestExpectations: Report and mark flaky test http/tests/cache/iframe-304-crash.html.

2014-07-01  Antti Koivisto  <antti@apple.com>

        REGRESSION(160908): vube.com video won't play after going into and out of fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=134489

        Reviewed by Zalan Bujtas.

        * fullscreen/full-screen-plugin-expected.txt: Added.
        * fullscreen/full-screen-plugin.html: Added.

2014-07-02  Dean Jackson  <dino@apple.com>

        Skip fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html
        on Mountain Lion. It doesn't support such large textures (or at least our
        bots don't).

        * platform/mac/TestExpectations:

2014-07-02  Mario Sanchez Prada  <mario.prada@samsung.com>

        REGRESSION(r170008): [GTK] Layout Tests fast/forms/option-constructor-selected.html and fast/forms/select-live-pseudo-selectors.html crash.
        https://bugs.webkit.org/show_bug.cgi?id=134399

        Reviewed by Chris Fleizach.

        Removing Crash expectations for two layout tests.

        * platform/gtk/TestExpectations: Updated.

2014-07-01  Frédéric Wang  <fred.wang@free.fr>

        The OpenType MATH table is not read on Mac
        https://bugs.webkit.org/show_bug.cgi?id=133569

        Reviewed by Chris Fleizach.

        We update the references for some tests in LayoutTests/mathml/opentype/ and remove the failure from TestExpectations.
        Other tests require a font with a MATH table to be installed on Mac bots and to be used by default (bug 133603).

        * platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt: Removed.
        * platform/mac/TestExpectations: Enable mathml/opentype/opentype-stretchy-horizontal.html and mathml/opentype/opentype-stretchy.html.
        * platform/mac/mathml/horizontal-LatinModern-expected.txt: Removed. This file should not have been in this directory.
        * platform/mac/mathml/horizontal-LatinModern-munderover-expected.txt: Removed. This file should not have been in this directory.
        * platform/mac/mathml/opentype-stretchy-horizontal-expected.txt: Removed. This file should not have been in this directory.
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Add text reference.
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Add text reference.

2014-07-01  Eric Carlson  <eric.carlson@apple.com>

        WebVTT percentage value can be a float
        https://bugs.webkit.org/show_bug.cgi?id=134511

        Reviewed by Brent Fulgham.

        * media/track/captions-webvtt/tc015-positioning-ltr.vtt:
        * media/track/captions-webvtt/tc015-positioning.vtt:
        * media/track/captions-webvtt/tc017-line-position.vtt:
        * media/track/captions-webvtt/tc018-align-text-line-position.vtt:
        * media/track/captions-webvtt/tc019-cue-size.vtt:
        * media/track/track-webvtt-tc015-positioning-expected.txt:
        * media/track/track-webvtt-tc015-positioning.html:
        * media/track/track-webvtt-tc017-line-position-expected.txt:
        * media/track/track-webvtt-tc017-line-position.html:
        * media/track/track-webvtt-tc018-align-text-line-position-expected.txt:
        * media/track/track-webvtt-tc018-align-text-line-position.html:
        * media/video-test.js:
        (testCues):

2014-07-01  Simon Fraser  <simon.fraser@apple.com>

        Fix this test; it was waiting about 32 years for the end of an animation.
        What we really care about is the start of the animation.

        * compositing/animation/keyframe-order.html:

2014-07-01  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS does not expose ARIA toggle buttons at all (not even as a regular button)
        https://bugs.webkit.org/show_bug.cgi?id=133875

        Reviewed by Enrica Casucci.

        * platform/ios-sim/accessibility/toggle-button-expected.txt: Added.
        * platform/ios-sim/accessibility/toggle-button.html: Added.

2014-07-01  Dean Jackson  <dino@apple.com>

        [iOS] Subsampled JPEG images do not draw correctly via the canvas APIs
        https://bugs.webkit.org/show_bug.cgi?id=134513
        <rdar://problem/12078860>
        <rdar://problem/16745393>

        Reviewed by Tim Horton.

        Add Canvas2D and WebGL tests that exercise a very large JPEG image.

        The WebGL test is mostly copied from the WebGL test suite, so please
        excuse the coding style.

        * fast/canvas/image-potential-subsample-expected.txt: Added.
        * fast/canvas/image-potential-subsample.html: Added.
        * fast/canvas/resources/image-8000x8000.jpg: Added.
        * fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-potentially-subsampled-image.js: Added.
        (.init):
        (.runOneIteration):
        (.runTestOnImage):
        (.runTest):
        (generateTest):
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image-expected.txt: Added.
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html: Added.

2014-07-01  Chris Fleizach  <cfleizach@apple.com>

        AX: HTML indeterminate IDL attribute not mapped to checkbox value=2
        https://bugs.webkit.org/show_bug.cgi?id=134492

        Reviewed by Andreas Kling.

        * accessibility/aria-checked-mixed-value-expected.txt:
        * accessibility/aria-checked-mixed-value.html:
        * platform/mac/accessibility/aria-checked-mixed-value-expected.txt: Added.

2014-07-01  Simon Fraser  <simon.fraser@apple.com>

        [UI-side compositing] Bad spinner on news.google.com: animations need to be ordered
        https://bugs.webkit.org/show_bug.cgi?id=134504
        <rdar://problem/17507892>

        Reviewed by Tim Horton.
        
        Test that the transforms from the animation are applied in the correct order.

        * compositing/animation/keyframe-order-expected.html: Added.
        * compositing/animation/keyframe-order.html: Added.

2014-07-01  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Pixel crack in breadcrumbs at devforums.apple.com.
        https://bugs.webkit.org/show_bug.cgi?id=134491

        Reviewed by Simon Fraser.

        Do not early round geometry values, while computing background image position. It changes the final
        subpixel values and that could lead to wrong snap positions.
        pixelSnapBackgroundImageGeometryForPainting() takes care of geometry snapping.

        * fast/backgrounds/background-image-size-double-rounding-expected.html: Added.
        * fast/backgrounds/background-image-size-double-rounding.html: Added.

2014-06-30  Myles C. Maxfield  <mmaxfield@apple.com>

        All Indic text is rendered as boxes on iOS
        https://bugs.webkit.org/show_bug.cgi?id=134464

        Reviewed by Simon Fraser.

        Simply draw some indic text and test that against currently good metric values.

        * fast/text/indic.html: Added
        * platform/ios-sim/fast/text/indic-expected.txt: Added.
        * platform/mac/fast/text/indic-expected.txt: Added.
        * platform/mac/fast/text/indic-expected.png: Added.

2014-06-30  Michael Saboff  <msaboff@apple.com>

        js/script-tests/function-apply-many-args.js fails on ARM
        https://bugs.webkit.org/show_bug.cgi?id=126588

        Reviewed by Mark Lam.

        Removed three test cases that fail on some platforms and pass on others due
        to stack size.  Other test cases cover what will fit on a stack or what will
        throw an out of stack exception.

        * js/function-apply-many-args-expected.txt:
        * js/script-tests/function-apply-many-args.js:

2014-06-30  Michael Saboff  <msaboff@apple.com>

        Add option to run-jsc-stress-testes to filter out tests that use large heaps
        https://bugs.webkit.org/show_bug.cgi?id=134458

        Reviewed by Filip Pizlo.

        * js/regress/script-tests/lots-of-fields.js: Added //@largeHeap tag to skip when
        running on a memoryLimited device.

2014-06-30  Myles C. Maxfield  <mmaxfield@apple.com>

        Tiles on bottom of screen are not always allocated when necessary
        https://bugs.webkit.org/show_bug.cgi?id=134272

        Reviewed by Simon Fraser.

        Apply a content inset, then dump visible rects.

        * platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html: Added.
        * compositing/visible-rect/iframe-no-layers.html: For WK2, the size of the visibleRect
        includes the size of the border of the iframe. In order to elliminate platform
        differences, set this border to 0. 

2014-06-30  Michael Saboff  <msaboff@apple.com>

        Reduce memory required for js/typedarray-zero-size.js
        https://bugs.webkit.org/show_bug.cgi?id=134448

        Reviewed by Mark Hahnenberg.

        Reduce the loop count from 10000 to 4000 to further reduce memory requirements
        on older devices.

        * js/script-tests/typedarray-zero-size.js:

2014-06-30  Michael Saboff  <msaboff@apple.com>

        Reduce memory required for js/typedarray-zero-size.js
        https://bugs.webkit.org/show_bug.cgi?id=134448

        Reviewed by Darin Adler.

        Making the loop count down reduces memory usage from ~190MB to ~22MB while
        still testing the original issue.

        * js/script-tests/typedarray-zero-size.js:

2014-06-29  Yoav Weiss  <yoav@yoav.ws>

        Add support for HTMLImageElement's sizes attribute
        https://bugs.webkit.org/show_bug.cgi?id=133620

        Reviewed by Dean Jackson.

        These layout tests check that the sizes attribute and the related
        srcset syntax are well supported, that the right resource is displayed,
        that the currentSrc attribute is well supported and also that the right
        resource is preloaded.

        * fast/dom/HTMLImageElement/resources/currentSrcHelper.js: Added.
        (fileName):
        (currentSrcFileName):
        * fast/dom/HTMLImageElement/resources/image-set-4x.png: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-1x-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-1x.html: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-2x-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-2x.html: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-js-change-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml-expected.txt: Added.
        * fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml.html: Added.
        * http/tests/loading/sizes/preload-image-sizes-2x-expected.txt: Added.
        * http/tests/loading/sizes/preload-image-sizes-2x.html: Added.
        * http/tests/loading/sizes/preload-image-sizes-expected.txt: Added.
        * http/tests/loading/sizes/preload-image-sizes.html: Added.

2014-06-29  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        TextCodecICU::encode turns the whole string as yen signs if there is any backslash in it
        https://bugs.webkit.org/show_bug.cgi?id=133678

        Reviewed by Alexey Proskuryakov.

        * fast/encoding/backslash-encoding-jp-expected.txt: Added.
        * fast/encoding/backslash-encoding-jp.html: Added.

2014-06-28  Radu Stavila  <stavila@adobe.com>

        [New Multicolumn] Elements with rounded corners and overflow:hidden do not properly clip their content
        https://bugs.webkit.org/show_bug.cgi?id=133941

        Reviewed by Darin Adler.

        Added test for multicol element inside an element with overflow:hidden and border radius.

        * fast/multicol/newmulticol/multicol-clip-rounded-corners-expected.html: Added.
        * fast/multicol/newmulticol/multicol-clip-rounded-corners.html: Added.

2014-06-27  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Background clipping with subpixel behaves differently when composited.
        https://bugs.webkit.org/show_bug.cgi?id=134422

        Reviewed by Simon Fraser.

        Adjust cliprect with the subpixel offset from the graphics layer the same way we do it for painting.
        It ensures that cliprect starts from the right position when graphics layer is not on the same
        coordinates as the associated render layer.

        * compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping-expected.html: Added.
        * compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping.html: Added.

2014-06-27  Jer Noble  <jer.noble@apple.com>

        Unreviewed gardening; fix whitespace issues in the W3C Media Source expected results.

        * http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt:
        * http/tests/media/media-source/mediasource-append-buffer-expected.txt:
        * http/tests/media/media-source/mediasource-append-stream-expected.txt:
        * http/tests/media/media-source/mediasource-appendwindow-expected.txt:
        * http/tests/media/media-source/mediasource-buffered-expected.txt:
        * http/tests/media/media-source/mediasource-closed-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-duration-expected.txt:
        * http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt:
        * http/tests/media/media-source/mediasource-endofstream-invaliderror.html:
        * http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt:
        * http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
        * http/tests/media/media-source/mediasource-multiple-attach-expected.txt:
        * http/tests/media/media-source/mediasource-play-expected.txt:
        * http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt:
        * http/tests/media/media-source/mediasource-redundant-seek-expected.txt:
        * http/tests/media/media-source/mediasource-remove-expected.txt:
        * http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt:
        * http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt:
        * http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt:
        * http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt:

2014-06-27  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>

        REGRESSION (r168685): css calc() expression fails 
        https://bugs.webkit.org/show_bug.cgi?id=134059

        Added test demonstrates that expressions like
        'calc((100% - 20px) / 3' work correctly again.

        Reviewed by Simon Fraser.

        * fast/css/calc-percentage-pixel-expected.html: Added.
        * fast/css/calc-percentage-pixel.html: Added.

2014-06-27  Jer Noble  <jer.noble@apple.com>

        [MSE] Import latest Media Source tests from W3C test suite
        https://bugs.webkit.org/show_bug.cgi?id=134388

        Reviewed by Eric Carlson.

        Import the most recent Media Source tests from the proposed W3C test suite:
        <https://github.com/acolwell/web-platform-tests/tree/submission/acolwell/media-source/media-source>

        No ports currently enable these tests, so update the expected results for each
        test with the ideal expected result.

        * http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt:
        * http/tests/media/media-source/mediasource-addsourcebuffer.html:
        * http/tests/media/media-source/mediasource-append-buffer-expected.txt:
        * http/tests/media/media-source/mediasource-append-buffer.html:
        * http/tests/media/media-source/mediasource-append-stream-expected.txt: Added.
        * http/tests/media/media-source/mediasource-append-stream.html: Added.
        * http/tests/media/media-source/mediasource-appendwindow-expected.txt: Added.
        * http/tests/media/media-source/mediasource-appendwindow.html: Added.
        * http/tests/media/media-source/mediasource-buffered-expected.txt:
        * http/tests/media/media-source/mediasource-buffered.html:
        * http/tests/media/media-source/mediasource-closed-expected.txt:
        * http/tests/media/media-source/mediasource-closed.html:
        * http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html:
        * http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html:
        * http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html:
        * http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html:
        * http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt:
        * http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html:
        * http/tests/media/media-source/mediasource-config-changes.js:
        * http/tests/media/media-source/mediasource-duration-expected.txt: Added.
        * http/tests/media/media-source/mediasource-duration.html: Added.
        * http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt: Added.
        * http/tests/media/media-source/mediasource-endofstream-invaliderror.html: Added.
        * http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt: Added.
        * http/tests/media/media-source/mediasource-getvideoplaybackquality.html: Added.
        * http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
        * http/tests/media/media-source/mediasource-is-type-supported.html:
        * http/tests/media/media-source/mediasource-multiple-attach-expected.txt:
        * http/tests/media/media-source/mediasource-multiple-attach.html:
        * http/tests/media/media-source/mediasource-play-expected.txt:
        * http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt: Added.
        * http/tests/media/media-source/mediasource-play-then-seek-back.html: Added.
        * http/tests/media/media-source/mediasource-play.html:
        * http/tests/media/media-source/mediasource-redundant-seek-expected.txt: Added.
        * http/tests/media/media-source/mediasource-redundant-seek.html: Added.
        * http/tests/media/media-source/mediasource-remove-expected.txt: Added.
        * http/tests/media/media-source/mediasource-remove.html: Added.
        * http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt: Added.
        * http/tests/media/media-source/mediasource-seek-beyond-duration.html: Added.
        * http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt: Added.
        * http/tests/media/media-source/mediasource-seek-during-pending-seek.html: Added.
        * http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt: Added.
        * http/tests/media/media-source/mediasource-sourcebuffer-mode.html: Added.
        * http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt:
        * http/tests/media/media-source/mediasource-sourcebufferlist.html:
        * http/tests/media/media-source/mediasource-util.js:
        * http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Added.
        * http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Added.
        * http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4: Added.
        * http/tests/media/media-source/mp4/test.mp4: Added.
        * http/tests/media/media-source/seek-to-end-after-duration-change-expected.txt: Removed.
        * http/tests/media/media-source/seek-to-end-after-duration-change.html: Removed.
        * http/tests/media/media-source/video-media-source-abort-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-abort.html: Removed.
        * http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-add-and-remove-buffers.html: Removed.
        * http/tests/media/media-source/video-media-source-append-in-ended-state-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-append-in-ended-state.html: Removed.
        * http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state.html: Removed.
        * http/tests/media/media-source/video-media-source-async-events-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-async-events.html: Removed.
        * http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html: Removed.
        * http/tests/media/media-source/video-media-source-duration-boundaryconditions-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-duration-boundaryconditions.html: Removed.
        * http/tests/media/media-source/video-media-source-duration-changed-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-duration-changed.html: Removed.
        * http/tests/media/media-source/video-media-source-duration-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-duration.html: Removed.
        * http/tests/media/media-source/video-media-source-errors-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-errors.html: Removed.
        * http/tests/media/media-source/video-media-source-event-attributes-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-event-attributes.html: Removed.
        * http/tests/media/media-source/video-media-source-garbage-collection-before-sourceopen-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-garbage-collection-before-sourceopen.html: Removed.
        * http/tests/media/media-source/video-media-source-is-type-supported-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-is-type-supported.html: Removed.
        * http/tests/media/media-source/video-media-source-objects-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-objects.html: Removed.
        * http/tests/media/media-source/video-media-source-play-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-play.html: Removed.
        * http/tests/media/media-source/video-media-source-reject-append-after-reopening-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-reject-append-after-reopening.html: Removed.
        * http/tests/media/media-source/video-media-source-seek-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-seek.html: Removed.
        * http/tests/media/media-source/video-media-source-sourcebufferlist-crash-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html: Removed.
        * http/tests/media/media-source/video-media-source-state-changes-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-state-changes.html: Removed.
        * http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state-expected.txt: Removed.
        * http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state.html: Removed.
        * http/tests/media/media-source/webm/segment-info.js: Added.
        * http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json: Added.
        * http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch.webm: Added.
        * http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json: Added.
        * http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch.webm: Added.
        * http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm: Added.
        * http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
        * http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
        * http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
        * http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm: Added.
        * http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm: Added.
        * http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm: Added.
        * http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json: Added.
        * http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm: Added.
        * http/tests/media/media-source/webm/test-vp8-vorbis-webvtt.webm: Added.
        * http/tests/media/media-source/webm/test.webm: Added.

2014-06-27  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Rebaseline tests after r170207, r170249, r170304, r170418 and r170433.
        Update expectations for new crashing tests.

        * platform/gtk/TestExpectations: Report and mark new crashing tests. Adjust some tests expectations.
        * platform/gtk/fast/canvas/canvas-blend-image-expected.txt: Rebaseline after r170433.
        * platform/gtk/fast/canvas/canvas-blend-solid-expected.txt: Rebaseline after r170433.
        * platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: Rebaseline after r170249.
        * platform/gtk/fast/dynamic/text-combine-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added. Add baseline after r170304.
        * platform/gtk/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/repaint/japanese-rl-selection-clear-expected.txt: Added. Rebaseline after r170418.
        * platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added. Rebaseline after r170418.
        * platform/gtk/fast/text/decorations-with-text-combine-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/text/emphasis-vertical-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/text/international/002-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/text/international/text-combine-image-test-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/text/international/text-spliced-font-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/text/international/wrap-CJK-001-expected.txt: Added. Rebaseline after r170418.
        * platform/gtk/fast/text/khmer-lao-font-expected.txt: Added. Add baseline after r170207.
        * platform/gtk/fast/writing-mode/border-vertical-lr-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/writing-mode/japanese-lr-selection-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/writing-mode/japanese-lr-text-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/writing-mode/japanese-rl-selection-expected.txt: Rebaseline after r170418.
        * platform/gtk/fast/writing-mode/japanese-rl-text-expected.txt: Rebaseline after r170418.
        * platform/gtk/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added. Rebaseline after r170433.
        * platform/gtk/svg/filters/feBlend-all-blendmodes-expected.txt: Added. Add baseline after r170433.

2014-06-27  Mark Hahnenberg  <mhahnenberg@apple.com>

        XHR should keep attributes on instance
        https://bugs.webkit.org/show_bug.cgi?id=134363

        Reviewed by Sam Weinig.

        Added a new test for defining properties on XHR prototype.

        * js/dom/xhr-prototype-define-property-expected.txt: Added.
        * js/dom/xhr-prototype-define-property.html: Added.

2014-06-27  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Interaction between auto-placement and column / row spanning
        https://bugs.webkit.org/show_bug.cgi?id=110633

        Reviewed by Sergio Villar Senin.

        Add new specific test cases for span in auto-placement algorithm.

        * fast/css-grid-layout/grid-item-auto-placement-automatic-span-expected.txt: Added.
        * fast/css-grid-layout/grid-item-auto-placement-automatic-span.html: Added.
        * fast/css-grid-layout/grid-item-auto-placement-definite-span-expected.txt: Added.
        * fast/css-grid-layout/grid-item-auto-placement-definite-span.html: Added.
        * fast/css-grid-layout/grid-item-spanning-resolution.html: Update test
        case now that span in auto-positioned items is supported.

2014-06-27  Mahesh Kulkarni  <mahesh.kk@samsung.com>

        [XHR] open method must uppercase only standard method types
        https://bugs.webkit.org/show_bug.cgi?id=134264

        Reviewed by Darin Adler.

        All tests from w3c-test suite pass http://w3c-test.org/XMLHttpRequest/open-method-case-sensitive.htm.
        This merges blink changes from r176592.

        * http/tests/xmlhttprequest/resources/echo-request-method.php: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed-expected.txt: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed.html: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive-expected.txt: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive.html: Added.

2014-06-26  Benjamin Poulain  <benjamin@webkit.org>

        iOS 8 beta 2 ES6 'Set' clear() broken
        https://bugs.webkit.org/show_bug.cgi?id=134346

        Reviewed by Oliver Hunt.

        * js/script-tests/set-clear.js: Added.
        * js/set-clear-expected.txt: Added.
        * js/set-clear.html: Added.

2014-06-26  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Properly support for z-index on grid items
        https://bugs.webkit.org/show_bug.cgi?id=103329

        Reviewed by Benjamin Poulain.

        From Blink r157620 by <jchaffraix@chromium.org> and r172402 by
        <wangxianzhu@chromium.org>.

        * css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt: Test rebaseline.
        * fast/css-grid-layout/grid-item-z-index-change-repaint-expected.html: Added.
        * fast/css-grid-layout/grid-item-z-index-change-repaint.html: Added.
        * fast/css-grid-layout/grid-item-z-index-stacking-context-expected.html: Added.
        * fast/css-grid-layout/grid-item-z-index-stacking-context.html: Added.
        * fast/css-grid-layout/grid-item-z-index-support-expected.txt: Added.
        * fast/css-grid-layout/grid-item-z-index-support.html: Added.

2014-06-25  Myles C. Maxfield  <mmaxfield@apple.com>

        compositing/visible-rect/iframe-no-layers.html is broken and confusing
        https://bugs.webkit.org/show_bug.cgi?id=134317

        Reviewed by Simon Fraser.

        The test doesn't wait for scrolling to occur and has unnecessary style stanzas.

        * compositing/visible-rect/iframe-no-layers.html:
        * compositing/visible-rect/resources/subframe-with-layers.html:
        * platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
        * platform/ios-sim/compositing/visible-rect/iframe-no-layers-expected.txt:
        * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:

2014-06-25  Geoffrey Garen  <ggaren@apple.com>

        Unreviewed, rolling out r166876.

        Caused some ECMA test262 failures

        Reverted changeset:

        "Date object needs to check for ES5 15.9.1.14 TimeClip limit."
        https://bugs.webkit.org/show_bug.cgi?id=131248
        http://trac.webkit.org/changeset/166876

2014-06-25  Dirk Schulze  <krit@webkit.org>

        Add all blend modes to feBlend

        feBlend should support all blend modes from CSS and Canvas
        https://bugs.webkit.org/show_bug.cgi?id=134296

        Added tests for new blend modes in feBlend as well as a test for 'normal' blend mode
        on HTML Canvas.

        Reviewed by Dean Jackson.

        * fast/canvas/canvas-blend-image-expected.txt:
        * fast/canvas/canvas-blend-solid-expected.txt:
        * fast/canvas/script-tests/canvas-blend-image.js: Test 'normal' blend mode in Canvas.
        (prepareTestScenario):
        * fast/canvas/script-tests/canvas-blend-solid.js: Ditto.
        (prepareTestScenario):
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: DRT output is lowercase now.
        * platform/mac/svg/filters/feBlend-all-blendmodes-expected.png: Added.
        * platform/mac/svg/filters/feBlend-all-blendmodes-expected.txt: Added.
        * svg/filters/feBlend-all-blendmodes.svg: Added. Tests all blend modes now supported by feBlend.
        * svg/filters/feBlend-invalid-mode.xhtml: Add an upper bound check as well.

2014-06-25  Chris Fleizach  <cfleizach@apple.com>

        AX: Crash at com.apple.WebCore: WebCore::AlternativeTextController::removeDictationAlternativesForMarker + 43
        https://bugs.webkit.org/show_bug.cgi?id=134226

        Reviewed by Enrica Casucci.

        * platform/mac-wk2/TestExpectations:
            Skip test on wk2 because dictation related tests are not yet supported (89401)
        * platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt: Added.
        * platform/mac/editing/input/crash-for-empty-text-alternative.html: Added.

2014-06-25  Laszlo Gombos  <l.gombos@samsung.com>

        Remove build guard for progress element
        https://bugs.webkit.org/show_bug.cgi?id=134292

        Reviewed by Benjamin Poulain.

        Remove PROGRESS_ELEMENT from the comment to reflect the change.

        * fast/dom/wrapper-classes.html:

2014-06-24  Frédéric Wang  <fred.wang@free.fr>

        [EFL] [GTK] Update the MathML test references.
        https://bugs.webkit.org/show_bug.cgi?id=134153

        Reviewed by Martin Robinson.

        We update the GTK references after the move to Latin Modern Math.

        * mathml/presentation/bug95015-expected.html: hide the base X since it is causing antialiasing diff.
        * mathml/presentation/bug95015.html: ditto
        * platform/efl/TestExpectations: enable some tests again (the references must be updated).
        * platform/gtk/TestExpectations: enable OpenType MATH test again, mark mo-stacked-glyphs as failing.
        * platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt: update reference.
        * platform/gtk/mathml/presentation/mo-stretch-expected.png: ditto
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: ditto
        * platform/gtk/mathml/presentation/roots-expected.png: ditto
        * platform/gtk/mathml/presentation/roots-expected.txt: ditto

2014-06-24  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r170414.
        https://bugs.webkit.org/show_bug.cgi?id=134291

        the patch added a test that fails on almost every Mac tester
        (Requested by rniwa on #webkit).

        Reverted changeset:

        "Tiles on bottom of screen are not always allocated when
        necessary"
        https://bugs.webkit.org/show_bug.cgi?id=134272
        http://trac.webkit.org/changeset/170414

2014-06-24  Myles C. Maxfield  <mmaxfield@apple.com>

        Tiles on bottom of screen are not always allocated when necessary
        https://bugs.webkit.org/show_bug.cgi?id=134272

        Reviewed by Simon Fraser.

        Apply a content inset, then dump visible rects.

        * platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html: Added.

2014-06-24  Samuel White  <samuel_white@apple.com>

        AX: Remove tight platform expectation coupling form roles-exposed layout test.
        https://bugs.webkit.org/show_bug.cgi?id=134123

        Reviewed by Chris Fleizach.

        Don't enforce platform specific differences in the test itself. This is what the various expectation files are for.

        * accessibility/roles-exposed-expected.txt:
        * accessibility/roles-exposed.html:
        * platform/mac-mountainlion/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2014-06-24  Mark Rowe  <mrowe@apple.com>

        WKContextHistoryClient::didNavigateWithNavigationData is passed incorrect URL when history.pushState is used
        <https://webkit.org/b/134271> / <rdar://problem/16270167>

        Reviewed by Brady Eidson.

        * http/tests/globalhistory/history-delegate-pushstate-expected.txt: Added.
        * http/tests/globalhistory/history-delegate-pushstate.html: Added.
        * http/tests/globalhistory/history-delegate-replacestate-expected.txt: Added.
        * http/tests/globalhistory/history-delegate-replacestate.html: Added.

2014-06-24  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: Add positionInRootFragments to SelectorFragment
        https://bugs.webkit.org/show_bug.cgi?id=133609

        Reviewed by Benjamin Poulain.

        Some non-backtrack-related predicates use relationToRightFragment information
        to decide whether checkingContext->elementStyle should be refered.
        To make it works correctly, add the positionInRootFragments field to SelectorFragment.
        When positionInRootFragments == Rightmost and relationToRightFragment == Rightmost,
        we should see checkingContext->elementStyle.

        * fast/selectors/first-child-update-with-renderer-expected.txt: Added.
        * fast/selectors/first-child-update-with-renderer.html: Added.

2014-06-24  Jarek Czekalski  <jarekczek@poczta.onet.pl>

        [ATK] Extended the test for accessibility of text inside "span" block in "a" block
        with the tests for caret movements in these cases.
        https://bugs.webkit.org/show_bug.cgi?id=130941

        Reviewed by Mario Sanchez Prada.

        * platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt: 
        * platform/gtk/accessibility/text-in-span-block-in-a-block.html:
        Added testing for text-caret-moved signal. Added one more "a" element to the set.

2014-06-24  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Merge efl-wk2 and efl test expectations files
        https://bugs.webkit.org/show_bug.cgi?id=134245

        Unreviewed gardening after removing WebKit1.

        * platform/efl-wk2/TestExpectations: An empty file left, as deleting it may break flakiness dashboard.
        * platform/efl/TestExpectations: Merged with platform/efl-wk2/TestExpectations.

2014-06-20  Jer Noble  <jer.noble@apple.com>

        HTMLMediaElement seek algorithm should allow cancelling previous seeks.
        https://bugs.webkit.org/show_bug.cgi?id=134116

        Reviewed by Eric Carlson.

        * media/video-seek-double-expected.txt: Added.
        * media/video-seek-double.html: Added.

2014-06-19  Jeffrey Pfau  <jpfau@apple.com>

        Database process crashes when multiple transactions attempt to run at once
        https://bugs.webkit.org/show_bug.cgi?id=134139

        Reviewed by David Kilzer.

        * storage/indexeddb/transaction-overlapping-expected.txt: Added.
        * storage/indexeddb/transaction-overlapping.html: Added.

2014-06-23  Antti Koivisto  <antti@apple.com>

        Fix a test case failing on WK1 after r170296.

        There is now a non-visual render tree dump difference between WK1 and Wk2 results here due to wk1 requiring an additional style synchronization.

        * platform/mac-wk2/editing/inserting: Added.
        * platform/mac-wk2/editing/inserting/break-blockquote-after-delete-expected.txt: Copied from LayoutTests/platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt.
        * platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:

2014-06-23  Simon Fraser  <simon.fraser@apple.com>

        CSS clip property should make layers non-opaque
        https://bugs.webkit.org/show_bug.cgi?id=134147

        Reviewed by Tim Horton.

        * compositing/contents-opaque/opaque-with-clip-expected.html: Added.
        * compositing/contents-opaque/opaque-with-clip.html: Added.

2014-06-23  Simon Fraser  <simon.fraser@apple.com>

        Adding a mask on a simple color compositing layer removes the content
        https://bugs.webkit.org/show_bug.cgi?id=134127

        Reviewed by Dean Jackson.

        * compositing/masks/mask-layer-size-expected.txt:
        * compositing/masks/solid-color-masked-expected.html: Added.
        * compositing/masks/solid-color-masked.html: Added.

2014-06-23  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Writing mode changes on the <html> and RenderView need to
        be propagated to column sets and flow thread children of those renderers.
        https://bugs.webkit.org/show_bug.cgi?id=134121
        <rdar://problem/16884527>

        Reviewed by Dean Jackson.

        * fast/multicol/pagination/RightToLeft-rl-dynamic.html: Added.
        * platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png: Added.
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added.
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
        * platform/mac/fast/multicol/pagination/nested-transforms-expected.png:

2014-06-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Move WebKit2 test results into LayoutTests/platform/efl
        https://bugs.webkit.org/show_bug.cgi?id=134192

        Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

        * platform/efl/webaudio/oscillator-custom-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-custom-expected.wav.
        * platform/efl/webaudio/oscillator-sawtooth-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-sawtooth-expected.wav.
        * platform/efl/webaudio/oscillator-sine-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-sine-expected.wav.
        * platform/efl/webaudio/oscillator-square-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-square-expected.wav.
        * platform/efl/webaudio/oscillator-triangle-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-triangle-expected.wav.
        * platform/efl/webaudio/up-mixing-mono-51-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-mono-51-expected.wav.
        * platform/efl/webaudio/up-mixing-mono-stereo-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-mono-stereo-expected.wav.
        * platform/efl/webaudio/up-mixing-stereo-51-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-stereo-51-expected.wav.

2014-06-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Move WebKit2 test results into LayoutTests/platform/efl
        https://bugs.webkit.org/show_bug.cgi?id=134192

        Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

        * platform/efl/webaudio/audiobuffersource-loop-points-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-loop-points-expected.wav.
        * platform/efl/webaudio/audiobuffersource-multi-channels-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-multi-channels-expected.wav.
        * platform/efl/webaudio/audiobuffersource-playbackrate-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-playbackrate-expected.wav.
        * platform/efl/webaudio/gain-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/gain-expected.wav.
        * platform/efl/webaudio/mixing-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/mixing-expected.wav.

2014-06-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Move WebKit2 test results into LayoutTests/platform/efl
        https://bugs.webkit.org/show_bug.cgi?id=134192

        Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

        * platform/efl/fast/: Renamed from LayoutTests/platform/efl-wk2/fast/.
        * platform/efl/webaudio/audiobuffersource-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-expected.wav.
        * platform/efl/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav.
        * platform/efl/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.txt: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.txt.
        * platform/efl/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.txt: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.txt.
        * platform/efl/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.txt: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.txt.
        * platform/efl/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav.
        * platform/efl/webaudio/codec-tests/wav/24bit-44khz-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/wav/24bit-44khz-expected.wav.

2014-06-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Move WebKit2 test results into LayoutTests/platform/efl

        Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

        * platform/efl/accessibility/: Renamed from LayoutTests/platform/efl-wk2/accessibility/.
        * platform/efl/compositing/: Renamed from LayoutTests/platform/efl-wk2/compositing/.
        * platform/efl/editing/: Renamed from LayoutTests/platform/efl-wk2/editing/.
        * platform/efl/fast/: Renamed from LayoutTests/platform/efl-wk2/fast/.
        * platform/efl/http/: Renamed from LayoutTests/platform/efl-wk2/http/.
        * platform/efl/ietestcenter: Renamed from LayoutTests/platform/efl-wk2/ietestcenter/.
        * platform/efl/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Renamed from LayoutTests/platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt.
        * platform/efl/loader/go-back-cached-main-resource-expected.txt: Renamed from LayoutTests/platform/efl-wk2/loader/go-back-cached-main-resource-expected.txt.
        * platform/efl/media/video-layer-crash-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-layer-crash-expected.png.
        * platform/efl/media/video-transformed-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-transformed-expected.png.
        * platform/efl/media/video-zoom-controls-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-zoom-controls-expected.png.
        * platform/efl/media/video-zoom-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-zoom-expected.png.
        * platform/efl/plugins/npruntime/object-from-destroyed-plugin-expected.txt: Renamed from LayoutTests/platform/efl-wk2/plugins/npruntime/object-from-destroyed-plugin-expected.txt.
        * platform/efl/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt: Renamed from LayoutTests/platform/efl-wk2/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt.
        * platform/efl/svg/: Renamed from LayoutTests/platform/efl-wk2/svg/.
        * platform/efl/transforms/2d/hindi-rotated-expected.png:
        * platform/efl/transforms/2d/hindi-rotated-expected.txt:

2014-06-23  Dean Jackson  <dino@apple.com>

        REGRESSION (r170257) http/tests/navigation/javascriptlink-frames.html fails on MountainLion
        https://bugs.webkit.org/show_bug.cgi?id=134182

        Rebaseline for Mountain Lion.

        * platform/mac-mountainlion/TestExpectations: Removed.
        * platform/mac-mountainlion/http/tests/navigation/javascriptlink-frames-expected.txt:

2014-06-22  Brady Eidson  <beidson@apple.com>

        REGRESSION (r170257) http/tests/navigation/javascriptlink-frames.html fails on MountainLion
        https://bugs.webkit.org/show_bug.cgi?id=134182

        Unreviewed gardening.

        * platform/mac-mountainlion/TestExpectations: Added, skip the test.

2014-06-20  Simon Fraser  <simon.fraser@apple.com>

        [WK2] Frameset frames are not scrollable after loading (and should be)
        https://bugs.webkit.org/show_bug.cgi?id=134151
        <rdar://problem/17403365>

        Reviewed by Dan Bates.
        
        Frameset test that dumps the scrolling tree.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-frame-scrollability.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/scrollable-page.html: Added.

2014-06-20  Simon Fraser  <simon.fraser@apple.com>

        Have scrollingTreeAsText() dump the non-fast-scrollable region
        https://bugs.webkit.org/show_bug.cgi?id=134149

        Reviewed by Sam Weinig.
        
        Rebaselined.

        * platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt:

2014-06-21  Dean Jackson  <dino@apple.com>

        [Mac] Margins for new form controls need tweaking
        https://bugs.webkit.org/show_bug.cgi?id=134135
        <rdar://problem/17262164>

        Reviewed by Sam Weinig.

        Take 2 of this patch adds some Mountain Lion results.

        Rebaseline a bunch of results since some <input> dimensions
        changed slightly.

        * platform/mac-mountainlion/fast/block/margin-collapse/103-expected.txt:
        * platform/mac-mountainlion/fast/forms/basic-inputs-expected.png: Added.
        * platform/mac-mountainlion/fast/forms/basic-inputs-expected.txt:
        * platform/mac-mountainlion/fast/forms/box-shadow-override-expected.txt:
        * platform/mac-mountainlion/fast/forms/form-element-geometry-expected.png: Added.
        * platform/mac-mountainlion/fast/forms/form-element-geometry-expected.txt:
        * platform/mac-mountainlion/fast/forms/input-appearance-height-expected.txt:
        * platform/mac-mountainlion/fast/forms/input-value-expected.txt:
        * platform/mac-mountainlion/fast/replaced/replaced-breaking-expected.txt:
        * platform/mac-mountainlion/http/tests/navigation/javascriptlink-frame-expected.txt: Added.
        * platform/mac-mountainlion/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/css1/box_properties/acid_test-expected.png:
        * platform/mac/css1/box_properties/acid_test-expected.txt:
        * platform/mac/css2.1/t09-c5526c-display-00-e-expected.png:
        * platform/mac/css2.1/t09-c5526c-display-00-e-expected.txt:
        * platform/mac/fast/block/basic/011-expected.png:
        * platform/mac/fast/block/basic/011-expected.txt:
        * platform/mac/fast/block/margin-collapse/103-expected.png:
        * platform/mac/fast/block/margin-collapse/103-expected.txt:
        * platform/mac/fast/forms/basic-inputs-expected.png:
        * platform/mac/fast/forms/basic-inputs-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.png:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/form-element-geometry-expected.png:
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/formmove-expected.txt:
        * platform/mac/fast/forms/formmove2-expected.png:
        * platform/mac/fast/forms/formmove2-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.png:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/input-value-expected.png:
        * platform/mac/fast/forms/input-value-expected.txt:
        * platform/mac/fast/inline/positionedLifetime-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-expected.txt:
        * platform/mac/fast/replaced/width100percent-radio-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1318-expected.png:
        * platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/captions1-expected.png:
        * platform/mac/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/captions2-expected.png:
        * platform/mac/tables/mozilla_expected_failures/core/captions2-expected.txt:

2014-06-21  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r170228.
        https://bugs.webkit.org/show_bug.cgi?id=134155

        Caused 9 layout test failures on Mountain Lion
        http://build.webkit.org/builders/Apple%20MountainLion%20Release%20WK2%20(Tests)/builds/19216
        (Requested by bradee-oh on #webkit).

        Reverted changeset:

        "[Mac] Margins for new form controls need tweaking"
        https://bugs.webkit.org/show_bug.cgi?id=134135
        http://trac.webkit.org/changeset/170228

2014-06-21  Frédéric Wang  <fred.wang@free.fr>

        Remove latinmodern-math.woff from LayoutTests/mathml/opentype
        https://bugs.webkit.org/show_bug.cgi?id=134094

        Reviewed by Martin Robinson.

        We remove latinmodern-math.woff from the source and make mathml/opentype/*LatinModern* tests not font-specific, so that each platform will use whatever OpenType MATH is available.
        Until bug 133604 is fixed and Latin Modern Math installed on the Linux bots, the tests are marked as failed. More generally, we need to fix bug 133603.
        The test mathml/opentype/roots-LatinModern is removed since it will duplicate mathml/presentation/roots.xhtml when OpenType MATH fonts are available.

        * mathml/opentype/LICENSE-LatinModern.txt: Removed.
        * mathml/opentype/horizontal-munderover.html: Renamed from LayoutTests/mathml/opentype/horizontal-LatinModern-munderover.html.
        * mathml/opentype/horizontal.html: Renamed from LayoutTests/mathml/opentype/horizontal-LatinModern.html.
        * mathml/opentype/large-operators-LatinModern.html: Removed.
        * mathml/opentype/large-operators.html: Added.
        * mathml/opentype/latinmodern-math.woff: Removed.
        * mathml/opentype/opentype-stretchy-horizontal.html:
        * mathml/opentype/roots-LatinModern.html: Removed.
        * mathml/opentype/vertical.html: Renamed from LayoutTests/mathml/opentype/vertical-LatinModern.html.
        * platform/efl/TestExpectations:
        * platform/efl/mathml/opentype/horizontal-expected.txt: Renamed from LayoutTests/platform/efl/mathml/opentype/horizontal-LatinModern-expected.txt.
        * platform/efl/mathml/opentype/horizontal-munderover-expected.txt: Renamed from LayoutTests/platform/efl/mathml/opentype/horizontal-LatinModern-munderover-expected.txt.
        * platform/efl/mathml/opentype/large-operators-expected.png: Renamed from LayoutTests/platform/gtk/mathml/opentype/large-operators-LatinModern-expected.png.
        * platform/efl/mathml/opentype/large-operators-expected.txt: Renamed from LayoutTests/platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt.
        * platform/efl/mathml/opentype/roots-LatinModern-expected.txt: Removed.
        * platform/efl/mathml/opentype/vertical-expected.png: Renamed from LayoutTests/platform/gtk/mathml/opentype/vertical-LatinModern-expected.png.
        * platform/efl/mathml/opentype/vertical-expected.txt: Renamed from LayoutTests/platform/efl/mathml/opentype/vertical-LatinModern-expected.txt.
        * platform/gtk/TestExpectations:
        * platform/gtk/mathml/opentype/horizontal-expected.png: Renamed from LayoutTests/platform/gtk/mathml/opentype/horizontal-LatinModern-expected.png.
        * platform/gtk/mathml/opentype/horizontal-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/opentype/horizontal-LatinModern-expected.txt.
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.png: Renamed from LayoutTests/platform/gtk/mathml/opentype/horizontal-LatinModern-munderover-expected.png.
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/opentype/horizontal-LatinModern-munderover-expected.txt.
        * platform/gtk/mathml/opentype/large-operators-expected.png: Renamed from LayoutTests/platform/efl/mathml/opentype/large-operators-LatinModern-expected.png.
        * platform/gtk/mathml/opentype/large-operators-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/opentype/large-operators-LatinModern-expected.txt.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.png: Removed.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.txt: Removed.
        * platform/gtk/mathml/opentype/vertical-expected.png: Renamed from LayoutTests/platform/efl/mathml/opentype/vertical-LatinModern-expected.png.
        * platform/gtk/mathml/opentype/vertical-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt.
        * platform/mac-wk2/mathml/opentype/large-operators-LatinModern-expected.txt: Removed.
        * platform/mac-wk2/mathml/opentype/vertical-LatinModern-expected.txt: Removed.
        * platform/mac/TestExpectations:
        * platform/mac/mathml/opentype/horizontal-expected.txt: Renamed from LayoutTests/platform/mac/mathml/opentype/horizontal-LatinModern-expected.txt.
        * platform/mac/mathml/opentype/horizontal-munderover-expected.txt: Renamed from LayoutTests/platform/mac/mathml/opentype/horizontal-LatinModern-munderover-expected.txt.
        * platform/mac/mathml/opentype/large-operators-expected.txt: Renamed from LayoutTests/platform/mac/mathml/opentype/large-operators-LatinModern-expected.txt.
        * platform/mac/mathml/opentype/roots-LatinModern-expected.txt: Removed.
        * platform/mac/mathml/opentype/vertical-expected.txt: Renamed from LayoutTests/platform/mac/mathml/opentype/vertical-LatinModern-expected.txt.
        * platform/win/TestExpectations:
        * platform/win/mathml/opentype/horizontal-expected.txt: Renamed from LayoutTests/platform/win/mathml/opentype/horizontal-LatinModern-expected.txt.
        * platform/win/mathml/opentype/horizontal-munderover-expected.txt: Renamed from LayoutTests/platform/win/mathml/opentype/horizontal-LatinModern-munderover-expected.txt.
        * platform/win/mathml/opentype/roots-LatinModern-expected.txt: Removed.

2014-06-20  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Remove WebKit1 test results
        https://bugs.webkit.org/show_bug.cgi?id=134137

        Reviewed by Daniel Bates.

        * platform/efl-wk1: Removed entire directory which contains the WebKit1 EFL test results.

2014-06-20  Dean Jackson  <dino@apple.com>

        [Mac] Margins for new form controls need tweaking
        https://bugs.webkit.org/show_bug.cgi?id=134135
        <rdar://problem/17262164>

        Reviewed by Sam Weinig.

        Rebaseline a bunch of results since some <input> dimensions
        changed slightly.

        * platform/mac/css1/box_properties/acid_test-expected.png:
        * platform/mac/css1/box_properties/acid_test-expected.txt:
        * platform/mac/css2.1/t09-c5526c-display-00-e-expected.png:
        * platform/mac/css2.1/t09-c5526c-display-00-e-expected.txt:
        * platform/mac/fast/block/basic/011-expected.png:
        * platform/mac/fast/block/basic/011-expected.txt:
        * platform/mac/fast/block/margin-collapse/103-expected.png:
        * platform/mac/fast/block/margin-collapse/103-expected.txt:
        * platform/mac/fast/forms/basic-inputs-expected.png:
        * platform/mac/fast/forms/basic-inputs-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.png:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/form-element-geometry-expected.png:
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/formmove-expected.txt:
        * platform/mac/fast/forms/formmove2-expected.png:
        * platform/mac/fast/forms/formmove2-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.png:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/input-value-expected.png:
        * platform/mac/fast/forms/input-value-expected.txt:
        * platform/mac/fast/inline/positionedLifetime-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-expected.txt:
        * platform/mac/fast/replaced/width100percent-radio-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1318-expected.png:
        * platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/captions1-expected.png:
        * platform/mac/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/captions2-expected.png:
        * platform/mac/tables/mozilla_expected_failures/core/captions2-expected.txt:

2014-06-20  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Support Khmer and Lao fallback fonts
        https://bugs.webkit.org/show_bug.cgi?id=134114

        Reviewed by Enrica Casucci.

        Simply dump the render tree of a page that includes Khmer and Lao text. The success
        of this test depends on font font metrics being different than system fallback font
        (which just shows rectangles instead of glyphs).

        * fast/text/khmer-lao-font.html: Added.
        * platform/ios-sim/fast/text/khmer-lao-font-expected.txt: Added.
        * platform/mac/fast/text/khmer-lao-font-expected.txt: Added.

2014-06-20  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r169972): fix issue when removing masks from compositing layers
        https://bugs.webkit.org/show_bug.cgi?id=134118
        <rdar://problem/17366654>

        Reviewed by Dean Jackson.
        
        Test that toggles the mask on a composited element.

        * compositing/masks/toggle-mask-expected.txt: Added.
        * compositing/masks/toggle-mask.html: Added.

2014-06-19  Simon Fraser  <simon.fraser@apple.com>

        [iOS WebKit2] Make -webkit-overflow-scrolling:touch work in iframes (breaks MSWord previews)
        https://bugs.webkit.org/show_bug.cgi?id=134085

        Reviewed by Tim Horton.
        
        Tests that add and remove a fixed container of a scroll-coordinated iframe.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/remove-coordinated-frame.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/doc-with-sticky.html:

2014-06-19  Mario Sanchez Prada  <mario.prada@samsung.com>

        Unreviewed GTK gardening.

        Updated text expectations after r170138.

        * platform/gtk/accessibility/image-map2-expected.txt: Updated.
        * platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.

2014-06-19  Rohit Kumar  <kumar.rohit@samsung.com>

        [EFL] Add expectations for failing svg/wicd/rightsizing-grid.xhtml layout test
        https://bugs.webkit.org/show_bug.cgi?id=133982

        Unreviewed gardening.

        * platform/efl/TestExpectations:

2014-06-18  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: expose aria-relevant
        https://bugs.webkit.org/show_bug.cgi?id=130913

        Reviewed by Joseph Pecoraro.

        Expose ARIA live region relevance in Web Inspector.
        E.g. "Live: Assertive (Additions, Text)"

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Minor update.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt: Updated with new output.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html: Updated with new elements.

2014-06-18  Simon Fraser  <simon.fraser@apple.com>

        Add rebeccapurple to CSS named color list
        https://bugs.webkit.org/show_bug.cgi?id=133804

        Reviewed by Jer Noble.

        Add the named color "rebeccapurple" (#639).

        * fast/css/named-colors-expected.txt:
        * fast/css/named-colors.html:

2014-06-11  Jeffrey Pfau  <jpfau@apple.com>

        Fix flaky beforeload tests
        https://bugs.webkit.org/show_bug.cgi?id=133685

        Reviewed by David Kilzer.

        * platform/wk2/TestExpectations: Unskip tests that are no longer flaky

2014-06-18  Benjamin Poulain  <benjamin@webkit.org>

        Subtrees with :first-child and :last-child are not invalidated when siblings are added/removed
        https://bugs.webkit.org/show_bug.cgi?id=133934

        Reviewed by Antti Koivisto.

        * fast/css/getComputedStyle/empty-update-without-renderer-expected.txt: Added.
        * fast/css/getComputedStyle/empty-update-without-renderer.html: Added.
        * fast/css/getComputedStyle/first-child-update-without-renderer-expected.txt: Added.
        * fast/css/getComputedStyle/first-child-update-without-renderer.html: Added.
        * fast/css/getComputedStyle/last-child-update-without-renderer-expected.txt: Added.
        * fast/css/getComputedStyle/last-child-update-without-renderer.html: Added.

2014-06-18  Daniel Bates  <dabates@apple.com>

        REGRESSION (r167856): Unable to log into HSBC app
        https://bugs.webkit.org/show_bug.cgi?id=133991
        <rdar://problem/17044839>

        Reviewed by David Kilzer.

        Add tests to ensure that the WebKit client will be notified to service a redirect to an invalid
        URL when the setting allowNavigationToInvalidURL is enabled and will not be notified when
        the setting is disabled.

        * fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
        * fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Added.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
        * fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-javascript.html: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
        * fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html: Added.
        * fast/loader/resources/redirect-to-invalid-url-using-javascript.html: Added.
        * fast/loader/resources/redirect-to-invalid-url-using-meta-refresh.html: Added.

2014-06-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r170099.
        https://bugs.webkit.org/show_bug.cgi?id=134031

        Introduced a layouttest failure to the mac bots (Requested by
        bradeeoh on #webkit).

        Reverted changeset:

        "Mark mathml/wbr-in-mroot-crash.html as "Timeout Pass""
        https://bugs.webkit.org/show_bug.cgi?id=130353
        http://trac.webkit.org/changeset/170099

2014-06-18  Frédéric Wang  <fred.wang@free.fr>

        Mark mathml/wbr-in-mroot-crash.html as "Timeout Pass"
        https://bugs.webkit.org/show_bug.cgi?id=130353

        Unreviewed gardening.

        * platform/efl/TestExpectations:
        * platform/mac/TestExpectations:

2014-06-17  Zalan Bujtas  <zalan@apple.com>

        Fix 'lint-test-files' warnings on run-webkit-test -2
        https://bugs.webkit.org/show_bug.cgi?id=134011

        Unreviewed.

        Remove entries referring to non-existing files from TestExpectations.

        * platform/mac-wk2/TestExpectations:

2014-06-17  Oliver Hunt  <oliver@apple.com>

        Fix error messages for incorrect hex literals
        https://bugs.webkit.org/show_bug.cgi?id=133998

        Reviewed by Mark Lam.

        Update tests for sane error messages.

        * sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T1-expected.txt:
        * sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T2-expected.txt:
        * sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T1-expected.txt:
        * sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T2-expected.txt:

2014-06-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Fix the handling of resize events after r169505.
        https://bugs.webkit.org/show_bug.cgi?id=133517

        Reviewed by Martin Robinson.

        * platform/gtk/TestExpectations: Remove the expectations for the
        tests that now pass.
        * platform/gtk/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.txt:
        Rebaseline results.

2014-06-17  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Input type=time elements styled with SVG fonts have 0 width
        https://bugs.webkit.org/show_bug.cgi?id=133524

        Reviewed by Simon Fraser.

        Simply render a variety of input elements with SVG fonts, and make sure they have sane widths. Note that this
        test is not platform-specific, even though the bug is.

        * fast/forms/time-input-svg-font-expected.txt: Added.
        * fast/forms/time-input-svg-font.html: Added.

2014-06-17  Simon Fraser  <simon.fraser@apple.com>

        [UI-side compositing] fix reflections on composited layers
        https://bugs.webkit.org/show_bug.cgi?id=133942

        Reviewed by Tim Horton.
        
        Test with a reflected div, that repaints on a timer to test backing
        store updating on the clone.

        * compositing/reflections/repaint-with-reflection-expected.html: Added.
        * compositing/reflections/repaint-with-reflection.html: Added.

2014-06-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r170058.
        https://bugs.webkit.org/show_bug.cgi?id=133993

        Caused 4 webkitpy failures on the bots (Requested by bradee-oh
        on #webkit).

        Reverted changeset:

        "[GTK] Fix the handling of resize events after r169505."
        https://bugs.webkit.org/show_bug.cgi?id=133517
        http://trac.webkit.org/changeset/170058

2014-06-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Fix the handling of resize events after r169505.
        https://bugs.webkit.org/show_bug.cgi?id=133517

        Reviewed by Martin Robinson.

        * platform/gtk/TestExpectations: Remove the expectations for the tests
        that now pass.
        * platform/gtk/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.txt:
        Rebaseline results.

2014-06-17  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Add expectations for three failing/flaky layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133977

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations:

2014-06-17  Jer Noble  <jer.noble@apple.com>

        [MSE] Overwritten samples are removed from buffered ranges using decode times; added samples using presentation times
        https://bugs.webkit.org/show_bug.cgi?id=133959

        Reviewed by Eric Carlson.

        * media/media-source/media-source-overlapping-append-buffered-expected.txt: Added.
        * media/media-source/media-source-overlapping-append-buffered.html: Added.

2014-06-16  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Move the overflow tests to a separate folder
        https://bugs.webkit.org/show_bug.cgi?id=130089

        Reviewed by Andrei Bucur.

        Move the overflow tests inside fast/regions/overflow folder.
        Adjust tests paths and TestExpectations files accordingly.

        * fast/regions/overflow/overflow-3dtransformed-region-expected.txt: Renamed from LayoutTests/fast/regions/overflow-3dtransformed-region-expected.txt.
        * fast/regions/overflow/overflow-3dtransformed-region.html: Renamed from LayoutTests/fast/regions/overflow-3dtransformed-region.html.
        * fast/regions/overflow/overflow-auto-after-float-expected.html: Renamed from LayoutTests/fast/regions/overflow-auto-after-float-expected.html.
        * fast/regions/overflow/overflow-auto-after-float.html: Renamed from LayoutTests/fast/regions/overflow-auto-after-float.html.
        * fast/regions/overflow/overflow-content-transform-rotate-expected.html: Renamed from LayoutTests/fast/regions/overflow-content-transform-rotate-expected.html.
        * fast/regions/overflow/overflow-content-transform-rotate.html: Renamed from LayoutTests/fast/regions/overflow-content-transform-rotate.html.
        * fast/regions/overflow/overflow-content-zero-height-region-expected.html: Renamed from LayoutTests/fast/regions/overflow-content-zero-height-region-expected.html.
        * fast/regions/overflow/overflow-content-zero-height-region.html: Renamed from LayoutTests/fast/regions/overflow-content-zero-height-region.html.
        * fast/regions/overflow/overflow-first-and-last-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-first-and-last-regions-expected.html.
        * fast/regions/overflow/overflow-first-and-last-regions-in-container-hidden-expected.html: Renamed from LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html.
        * fast/regions/overflow/overflow-first-and-last-regions-in-container-hidden.html: Renamed from LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden.html.
        * fast/regions/overflow/overflow-first-and-last-regions.html: Renamed from LayoutTests/fast/regions/overflow-first-and-last-regions.html.
        * fast/regions/overflow/overflow-in-uniform-regions-dynamic-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-uniform-regions-dynamic-expected.html.
        * fast/regions/overflow/overflow-in-uniform-regions-dynamic.html: Renamed from LayoutTests/fast/regions/overflow-in-uniform-regions-dynamic.html.
        * fast/regions/overflow/overflow-in-uniform-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-uniform-regions-expected.html.
        * fast/regions/overflow/overflow-in-uniform-regions.html: Renamed from LayoutTests/fast/regions/overflow-in-uniform-regions.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-expected.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-bt-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-bt-expected.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-bt.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-bt.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-continuation-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-continuation-expected.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-continuation.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-continuation.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-expected.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-lr-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-lr-expected.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-lr.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-lr.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-rl-expected.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-rl-expected.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-rl.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline-rl.html.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions-inline.html.
        * fast/regions/overflow/overflow-in-variable-width-regions.html: Renamed from LayoutTests/fast/regions/overflow-in-variable-width-regions.html.
        * fast/regions/overflow/overflow-last-region-horiz-bt-expected.html: Renamed from LayoutTests/fast/regions/overflow-last-region-horiz-bt-expected.html.
        * fast/regions/overflow/overflow-last-region-horiz-bt.html: Renamed from LayoutTests/fast/regions/overflow-last-region-horiz-bt.html.
        * fast/regions/overflow/overflow-last-region-vert-lr-expected.html: Renamed from LayoutTests/fast/regions/overflow-last-region-vert-lr-expected.html.
        * fast/regions/overflow/overflow-last-region-vert-lr.html: Renamed from LayoutTests/fast/regions/overflow-last-region-vert-lr.html.
        * fast/regions/overflow/overflow-last-region-vert-rl-expected.html: Renamed from LayoutTests/fast/regions/overflow-last-region-vert-rl-expected.html.
        * fast/regions/overflow/overflow-last-region-vert-rl.html: Renamed from LayoutTests/fast/regions/overflow-last-region-vert-rl.html.
        * fast/regions/overflow/overflow-moving-below-floats-in-variable-width-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.html.
        * fast/regions/overflow/overflow-moving-below-floats-in-variable-width-regions.html: Renamed from LayoutTests/fast/regions/overflow-moving-below-floats-in-variable-width-regions.html.
        * fast/regions/overflow/overflow-nested-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-nested-regions-expected.html.
        * fast/regions/overflow/overflow-nested-regions.html: Renamed from LayoutTests/fast/regions/overflow-nested-regions.html.
        * fast/regions/overflow/overflow-not-moving-below-floats-in-variable-width-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.html.
        * fast/regions/overflow/overflow-not-moving-below-floats-in-variable-width-regions.html: Renamed from LayoutTests/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions.html.
        * fast/regions/overflow/overflow-region-float-expected.html: Renamed from LayoutTests/fast/regions/overflow-region-float-expected.html.
        * fast/regions/overflow/overflow-region-float.html: Renamed from LayoutTests/fast/regions/overflow-region-float.html.
        * fast/regions/overflow/overflow-region-inline-expected.html: Renamed from LayoutTests/fast/regions/overflow-region-inline-expected.html.
        * fast/regions/overflow/overflow-region-inline.html: Renamed from LayoutTests/fast/regions/overflow-region-inline.html.
        * fast/regions/overflow/overflow-region-transform-expected.html: Renamed from LayoutTests/fast/regions/overflow-region-transform-expected.html.
        * fast/regions/overflow/overflow-region-transform.html: Renamed from LayoutTests/fast/regions/overflow-region-transform.html.
        * fast/regions/overflow/overflow-rtl-in-variable-width-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-rtl-in-variable-width-regions-expected.html.
        * fast/regions/overflow/overflow-rtl-in-variable-width-regions.html: Renamed from LayoutTests/fast/regions/overflow-rtl-in-variable-width-regions.html.
        * fast/regions/overflow/overflow-scrollable-1-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-1-expected.html.
        * fast/regions/overflow/overflow-scrollable-1.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-1.html.
        * fast/regions/overflow/overflow-scrollable-2-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-2-expected.html.
        * fast/regions/overflow/overflow-scrollable-2.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-2.html.
        * fast/regions/overflow/overflow-scrollable-3-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-3-expected.html.
        * fast/regions/overflow/overflow-scrollable-3.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-3.html.
        * fast/regions/overflow/overflow-scrollable-fit-complex-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-fit-complex-expected.html.
        * fast/regions/overflow/overflow-scrollable-fit-complex.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-fit-complex.html.
        * fast/regions/overflow/overflow-scrollable-fit-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-fit-expected.html.
        * fast/regions/overflow/overflow-scrollable-fit.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-fit.html.
        * fast/regions/overflow/overflow-scrollable-nested-expected.txt: Renamed from LayoutTests/fast/regions/overflow-scrollable-nested-expected.txt.
        * fast/regions/overflow/overflow-scrollable-nested.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-nested.html.
        * fast/regions/overflow/overflow-scrollable-rel-pos-fragment-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-rel-pos-fragment-expected.html.
        * fast/regions/overflow/overflow-scrollable-rel-pos-fragment.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-rel-pos-fragment.html.
        * fast/regions/overflow/overflow-scrollable-rotated-fragment-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-rotated-fragment-expected.html.
        * fast/regions/overflow/overflow-scrollable-rotated-fragment.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-rotated-fragment.html.
        * fast/regions/overflow/overflow-scrollable-unsplittable-fragment-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-unsplittable-fragment-expected.html.
        * fast/regions/overflow/overflow-scrollable-unsplittable-fragment.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-unsplittable-fragment.html.
        * fast/regions/overflow/overflow-scrollable-varying-width-1-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-varying-width-1-expected.html.
        * fast/regions/overflow/overflow-scrollable-varying-width-1.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-varying-width-1.html.
        * fast/regions/overflow/overflow-scrollable-varying-width-2-expected.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-varying-width-2-expected.html.
        * fast/regions/overflow/overflow-scrollable-varying-width-2.html: Renamed from LayoutTests/fast/regions/overflow-scrollable-varying-width-2.html.
        * fast/regions/overflow/overflow-size-change-in-variable-width-regions-expected.html: Renamed from LayoutTests/fast/regions/overflow-size-change-in-variable-width-regions-expected.html.
        * fast/regions/overflow/overflow-size-change-in-variable-width-regions.html: Renamed from LayoutTests/fast/regions/overflow-size-change-in-variable-width-regions.html.
        * fast/regions/overflow/overflow-size-change-with-stacking-context-expected.html: Renamed from LayoutTests/fast/regions/overflow-size-change-with-stacking-context-expected.html.
        * fast/regions/overflow/overflow-size-change-with-stacking-context-rtl-expected.html: Renamed from LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html.
        * fast/regions/overflow/overflow-size-change-with-stacking-context-rtl.html: Renamed from LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl.html.
        * fast/regions/overflow/overflow-size-change-with-stacking-context.html: Renamed from LayoutTests/fast/regions/overflow-size-change-with-stacking-context.html.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2014-06-16  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Region with border radius and overflow:hidden does not clip content
        https://bugs.webkit.org/show_bug.cgi?id=133476

        Reviewed by Andrei Bucur.

        * fast/regions/region-border-radius-overflow-clip-expected.html: Added.
        * fast/regions/region-border-radius-overflow-clip.html: Added.

2014-06-12  Mark Lam  <mark.lam@apple.com>

        Parser statementDepth accounting needs to account for when a function body excludes its braces.
        <https://webkit.org/b/133832>

        Reviewed by Oliver Hunt.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
          - Added cases for declaring functions in strict mode.
          - Added caught error to the test result logging if it's not a SyntaxError.
            This helps catch the issue in this bug which was erroneously throwing
            RangeErrors.

2014-06-16  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r168046): Incorrect layout for multicol spanners when moving from one thread to another
        https://bugs.webkit.org/show_bug.cgi?id=133589

        Reviewed by Antti Koivisto.

        * fast/multicol/newmulticol/spanner-crash-expected.txt: Added.
        * fast/multicol/newmulticol/spanner-crash.html: Added.

2014-06-16  Mario Sanchez Prada  <mario.prada@samsung.com>

        [ATK] Missing 'selection-changed' signal when navigating a combo box with keyboard
        https://bugs.webkit.org/show_bug.cgi?id=133512

        Reviewed by Chris Fleizach.

        Re-implemented test for combo boxes in terms of addNotificationListener()
        instead of using the (already deprecated) logAccessibilityEvents method,
        and made the test cross platform (as the fix is not platform specific).

        * accessibility/combo-box-collapsed-selection-changed.html:
        Implemented based on the former gtk-only test, and made it cross-platform.
        * accessibility/combo-box-collapsed-selection-changed-expected.txt: New.
        * platform/gtk/accessibility/combo-box-collapsed-selection-changed.html: Removed.
        * platform/gtk/accessibility/combo-box-collapsed-selection-changed-expected.txt: Removed.

        Updated expectation for test that checks that a notification is
        sent when navigating through a multiselection list box, now that
        we are actually printing such a notification.

        * accessibility/multiselect-list-reports-active-option-expected.txt: Updated.

        Removed two expected failures from TestExpectations for tests that
        are now passing, one for the combo box test mentioned above and
        another one for a test that is passing as well now, after applying
        this fix: accessibility/menu-list-sends-change-notification.html

        * platform/gtk/TestExpectations: Removed two 'failure' expectations.

        * platform/mac/TestExpectations: Skip accessiblity test timing out, probably because
        those kind of notifications while navigating a combo box are not needed in the Mac.

2014-06-16  Frédéric Wang  <fred.wang@free.fr>

        Draw radicals with glyphs for better rendering
        https://bugs.webkit.org/show_bug.cgi?id=119038

        Reviewed by Chris Fleizach.

        We update the reference for some tests with radicals and update the expectation of tests for addition/removal of children in an msqrt/mroot element.
        We also add a test for bug 126516 (SVG transforms not applied to mroot) and a new test for radical drawing using an OpenType MATH table.

        * TestExpectations: enable the tests for addition/removal of children.
        * mathml/opentype/roots-LatinModern.html: Added.
        * mathml/presentation/mroot-transform-expected.html: Added.
        * mathml/presentation/mroot-transform.html: Added.
        * platform/efl/TestExpectations: mark failures for bad references.
        * platform/efl/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.png: Added.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference.
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: update reference.
        * platform/gtk/mathml/presentation/roots-expected.png: update reference.
        * platform/gtk/mathml/presentation/roots-expected.txt: update reference.
        * platform/mac/TestExpectations: mark failures for bad references.
        * platform/mac/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/win/TestExpectations: mark failures for bad references.
        * platform/win/mathml/opentype/roots-LatinModern-expected.txt: Added.

2014-06-16  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Change expectations for three failing or flaky layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133861

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations:

2014-06-15  Benjamin Poulain  <benjamin@webkit.org>

        CSS JIT: add support for the :lang() pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=133913

        Reviewed by Andreas Kling.

        * fast/selectors/lang-conflict-expected.txt: Added.
        * fast/selectors/lang-conflict.html: Added.
        * fast/selectors/lang-empty-expected.txt: Added.
        * fast/selectors/lang-empty.html: Added.
        * fast/selectors/lang-specificity-expected.txt: Added.
        * fast/selectors/lang-specificity-xml-expected.txt: Added.
        * fast/selectors/lang-specificity-xml.xhtml: Added.
        * fast/selectors/lang-specificity.html: Added.

2014-06-14  Simon Fraser  <simon.fraser@apple.com>

        Masks disappear when layers become tiled
        https://bugs.webkit.org/show_bug.cgi?id=133892
        <rdar://problem/17309793>

        Reviewed by Tim Horton.
        
        Tests for masking as they go into and out of tiled mode.

        * compositing/masks/become-tiled-mask-expected.html: Added.
        * compositing/masks/become-tiled-mask.html: Added.
        * compositing/masks/cease-tiled-mask-expected.html: Added.
        * compositing/masks/cease-tiled-mask.html: Added.
        * compositing/masks/tiled-mask-expected.html: Added.
        * compositing/masks/tiled-mask.html: Added.

2014-06-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r169963.
        https://bugs.webkit.org/show_bug.cgi?id=133899

        Assertion in mathml/roots-removeChild.html (Requested by fredw
        on #webkit).

        Reverted changeset:

        "Draw radicals with glyphs for better rendering"
        https://bugs.webkit.org/show_bug.cgi?id=119038
        http://trac.webkit.org/changeset/169963

2014-06-14  Frédéric Wang  <fred.wang@free.fr>

        Draw radicals with glyphs for better rendering
        https://bugs.webkit.org/show_bug.cgi?id=119038

        Reviewed by Chris Fleizach.

        We update the reference for some tests with radicals and enable the tests for addition/removal of children in an msqrt/mroot element.
        We also add a test for bug 126516 (SVG transforms not applied to mroot) and a new test for radical drawing using an OpenType MATH table.

        * TestExpectations: enable the tests for addition/removal of children.
        * mathml/opentype/roots-LatinModern.html: Added.
        * mathml/presentation/mroot-transform-expected.html: Added.
        * mathml/presentation/mroot-transform.html: Added.
        * platform/efl/TestExpectations: mark failures for bad references.
        * platform/efl/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.png: Added.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference.
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: update reference.
        * platform/gtk/mathml/presentation/roots-expected.png: update reference.
        * platform/gtk/mathml/presentation/roots-expected.txt: update reference.
        * platform/mac/TestExpectations: mark failures for bad references.
        * platform/mac/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/win/TestExpectations: mark failures for bad references.
        * platform/win/mathml/opentype/roots-LatinModern-expected.txt: Added.

2014-06-13  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r169939.
        https://bugs.webkit.org/show_bug.cgi?id=133878

        This patch raises assertions on mac (Requested by fredw on
        #webkit).

        Reverted changeset:

        "Draw radicals with glyphs for better rendering"
        https://bugs.webkit.org/show_bug.cgi?id=119038
        http://trac.webkit.org/changeset/169939

2014-06-13  Enrique Ocaña González  <eocanha@igalia.com>

        Unreviewed GTK gardening.

        Added some flaky and failing tests to TestExpectations.

        * platform/gtk/TestExpectations:

2014-06-13  Frédéric Wang  <fred.wang@free.fr>

        Draw radicals with glyphs for better rendering
        https://bugs.webkit.org/show_bug.cgi?id=119038

        Reviewed by Chris Fleizach.

        We update the reference for some tests with radicals and enable the tests for addition/removal of children in an msqrt/mroot element.
        We also add a test for bug 126516 (SVG transforms not applied to mroot) and a new test for radical drawing using an OpenType MATH table.

        * TestExpectations: enable the tests for addition/removal of children.
        * mathml/opentype/roots-LatinModern.html: Added.
        * mathml/presentation/mroot-transform-expected.html: Added.
        * mathml/presentation/mroot-transform.html: Added.
        * platform/efl/TestExpectations: mark failures for bad references.
        * platform/efl/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.png: Added.
        * platform/gtk/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference.
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: update reference.
        * platform/gtk/mathml/presentation/roots-expected.png: update reference.
        * platform/gtk/mathml/presentation/roots-expected.txt: update reference.
        * platform/mac/TestExpectations: mark failures for bad references.
        * platform/mac/mathml/opentype/roots-LatinModern-expected.txt: Added.
        * platform/win/TestExpectations: mark failures for bad references.
        * platform/win/mathml/opentype/roots-LatinModern-expected.txt: Added.

2014-06-13  Jarek Czekalski  <jarekczek@poczta.onet.pl>

        [ATK] Add test for accessibility of text inside "span" block in "a" block.
        https://bugs.webkit.org/show_bug.cgi?id=132349

        Reviewed by Mario Sanchez Prada.

        * platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt: Added.
        * platform/gtk/accessibility/text-in-span-block-in-a-block.html: Added.

2014-06-13  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Change expectations for two failing layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133805

        Unreviewed EFL gradening.

        * platform/efl/TestExpectations:
        * platform/efl/fast/multicol/newmulticol/client-rects-expected.txt:

2014-06-12  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make <input type=> and <button> elements' decoration subpixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=133812
        <rdar://problem/17286309>

        Reviewed by Simon Fraser.

        Enable <input type=> and <button> decoration painting on subpixel positions.
        The theme size is still integral, but its position is snapped to device pixels.
        Theme's label, the InlineTextBox is already subpixel position aware.
        webkit.org/b/132005 tracks the rest of the themes.

        * platform/mac-mountainlion/compositing/contents-opaque/control-layer-expected.txt:
        * platform/mac/compositing/contents-opaque/control-layer-expected.txt:

2014-06-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new failures and
        timeouts.
        * platform/gtk/fast/forms/placeholder-position-expected.txt:
        Rebaseline test after r169780.

2014-06-12  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Change expectations for three failing js/dom layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133743

        Unreviewed EFL gardening.

        * platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-shared-worker-expected.txt:

2014-06-12  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Change expectations for three failing layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133738

        Unreviewed EFL layout tests gardening.

        * platform/efl/TestExpectations:

2014-06-11  Myles C. Maxfield  <mmaxfield@apple.com>

        SVGGlyphToPathTranslator ASSERTs when encountering a missing glyph in an SVG font
        https://bugs.webkit.org/show_bug.cgi?id=133528

        Reviewed by Simon Fraser.

        Make sure that no ASSERT occurs in this situation. In addition, make sure that the
        whole element doesn't get skip:ink gaps. This will need to be updated when we
        support SVG + non-SVG mixed runs.

        * svg/custom/skip-underline-missing-glyph-expected.html: Added
        * svg/custom/skip-underline-missing-glyph.html: Added

2014-06-11  Alexey Proskuryakov  <ap@apple.com>

        editing/selection/selection-in-iframe-removed-crash.html or selection-invalid-offset.html crashes intermittently
        https://bugs.webkit.org/show_bug.cgi?id=111521
        <rdar://problem/15159351>

        Reviewed by Brady Eidson.

        * platform/mac/TestExpectations: Removed expectations for the tests.

2014-06-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: RenderBox's content clipping should clip on device pixel boundary.
        https://bugs.webkit.org/show_bug.cgi?id=133767
        <rdar://problem/17272365>

        Reviewed by Simon Fraser.

        Push RenderBox's content clipping to device pixel boundaries. Integral snapping makes
        content cut off prematurely.

        * fast/inline-block/hidpi-margin-top-with-subpixel-value-and-overflow-hidden-expected.html: Added.
        * fast/inline-block/hidpi-margin-top-with-subpixel-value-and-overflow-hidden.html: Added.

2014-06-11  David Kilzer  <ddkilzer@apple.com>

        WindowFeatures arguments shoud ignore invalid characters in values
        <http://webkit.org/b/133703>
        <rdar://problem/17254118>

        Reviewed by Andy Estes.

        * fast/dom/Window/resources/window-property-invalid-characters-ignored.html: Added.
        * fast/dom/Window/window-property-invalid-characters-ignored-expected.txt: Added.
        * fast/dom/Window/window-property-invalid-characters-ignored.html: Added.

2014-06-11  David Kilzer  <ddkilzer@apple.com>

        Viewport arguments should ignore invalid characters in values
        <http://webkit.org/b/133555>
        <rdar://problem/17179650>

        Reviewed by Daniel Bates.

        * fast/viewport/viewport-warnings-7-expected.txt: Added.
        * fast/viewport/viewport-warnings-7.html: Added.

2014-06-11  David Kilzer  <ddkilzer@apple.com>

        [iOS] Enable fast/viewport tests
        <http://webkit.org/b/133754>

        Reviewed by Andy Estes.

        * platform/ios-sim/Skipped:
        - Stop skipping fast/viewport tests.

        * platform/ios-sim/fast/viewport/viewport-legacy-handheldfriendly-expected.txt: Added.
        * platform/ios-sim/fast/viewport/viewport-legacy-mobileoptimized-2-expected.txt: Added.
        * platform/ios-sim/fast/viewport/viewport-legacy-mobileoptimized-3-expected.txt: Added.
        * platform/ios-sim/fast/viewport/viewport-legacy-mobileoptimized-expected.txt: Added.
        * platform/ios-sim/fast/viewport/viewport-legacy-ordering-5-expected.txt: Added.
        * platform/ios-sim/fast/viewport/viewport-legacy-ordering-6-expected.txt: Added.
        * platform/ios-sim/fast/viewport/viewport-legacy-xhtmlmp-expected.txt: Added.
        * platform/ios-sim/fast/viewport/viewport-legacy-xhtmlmp-remove-and-add-expected.txt: Added.
        - iOS never supported these "legacy" viewport modes, so add
          platform-specific results with current behavior.

2014-06-11  Alexey Proskuryakov  <ap@apple.com>

        inspector-protocol/debugger/breakpoint-action-detach.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=133761

        * TestExpectations: Skipped it. Updated bug number for another inspector-protocol
        test while at it.

2014-06-11  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening

        Add missing GTK expectations file after test added at r169390, and removed specific
        ones for tests now passing with default ones after r169403.

        * platform/gtk/fast/dom/webtiming-document-open-expected.txt: Removed.
        * platform/gtk/fast/dom/webtiming-navigate-within-document-expected.txt: Removed.
        * platform/gtk/fast/multicol/pagination/nested-transforms-expected.txt: Added.

2014-06-11  Rohit Kumar  <kumar.rohit@samsung.com>

        [EFL] Updated expectations for accessibility/lists.html test
        https://bugs.webkit.org/show_bug.cgi?id=132818

        Reviewed by Mario Sanchez Prada.

        * platform/efl-wk1/accessibility/lists-expected.txt:

2014-06-10  Myles C. Maxfield  <mmaxfield@apple.com>

        Japanese text in Google search is rendered too low and clipped
        https://bugs.webkit.org/show_bug.cgi?id=133595

        Reviewed by Simon Fraser.

        This is a revert of r155324.

        * fast/dom/HTMLInputElement/input-line-height-expected.txt: Removed.
        * fast/dom/HTMLInputElement/input-line-height.html: Removed.
        * fast/forms/placeholder-position-expected.txt:
        * platform/mac/fast/forms/placeholder-position-expected.png:
        * platform/mac/fast/forms/placeholder-position-expected.txt:
        * platform/mac-mountainlion/fast/forms/placeholder-position-expected.txt:

2014-06-10  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r167937): Do not use effective zoom factor while resolving media query's min-, max-(device)width/height values.
        https://bugs.webkit.org/show_bug.cgi?id=133681

        Reviewed by Simon Fraser.

        We lost the default multiplier(zoom) value of 1 with r167937 at template<typename T> T computeLength().
        Now MediaQueryEvaluator takes the current page zoom factor into account while resolving min-, max- width values.

        This patch explicitly sets the multiplier value to 1 to ensure zoom independent media query value resolving.

        * fast/media/media-query-with-scaled-content-expected.html: Added.
        * fast/media/media-query-with-scaled-content.html: Added.

2014-06-10  Simon Fraser  <simon.fraser@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=133694

        Revert the part of r169733 that caused this test to start failing.

        * platform/mac/TestExpectations:

2014-06-10  Andy Estes  <aestes@apple.com>

        Use [ Pass Failure ] instead of [ Skip ] for the tests skipped in r169767.

        * platform/mac/TestExpectations:

2014-06-10  Andy Estes  <aestes@apple.com>

        REGRESSION (6/9/2014): Several TextTrackCue tests became very flaky
        https://bugs.webkit.org/show_bug.cgi?id=133686

        * platform/mac/TestExpectations: Skipped the flaky tests

2014-06-10  Alexey Proskuryakov  <ap@apple.com>

        [WK2] http/tests/navigation/new-window-redirect-history.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=127683

        * platform/wk2/TestExpectations: Changed expectation from Crash to Skip, because
        it crashes every time, and generating more crash logs only makes other tests more
        flaky without providing useful information.

2014-06-10  Alexey Proskuryakov  <ap@apple.com>

        Skip some more flaky tests.
        https://bugs.webkit.org/show_bug.cgi?id=133696
        <rdar://problem/17257097>

        * platform/wk2/TestExpectations:

2014-06-10  Andy Estes  <aestes@apple.com>

        REGRESSION (r169733): compositing/iframes/become-composited-nested-iframes.html fails on WebKit1 bots
        https://bugs.webkit.org/show_bug.cgi?id=133694

        * platform/mac/TestExpectations: Marked the test as failing

2014-06-10  Alexey Proskuryakov  <ap@apple.com>

        fast/dom/beforeload/remove-frame-in-beforeload-listener.html and related tests are flaky
        https://bugs.webkit.org/show_bug.cgi?id=133685

        * platform/wk2/TestExpectations: Skipped more affected tests.

2014-06-10  Mark Lam  <mark.lam@apple.com>

        Assertion failure at JSC::Structure::checkOffsetConsistency() const + 234.
        <https://webkit.org/b/133356>

        Reviewed by Mark Hahnenberg.

        * TestExpectations:
        - Undoing expectation for js/primitive-property-access-edge-cases.html now
          that the bug is fixed.

2014-06-10  Alexey Proskuryakov  <ap@apple.com>

        platform/mac-wk2/plugins/destroy-during-async-npp-new.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=133692

        * platform/mac-wk2/TestExpectations: Skipped the test.

2014-06-10  Alexey Proskuryakov  <ap@apple.com>

        fast/dom/beforeload/remove-frame-in-beforeload-listener.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=133685

        * platform/wk2/TestExpectations: Skipped the test.

2014-06-10  Michael Saboff  <msaboff@apple.com>

        In a certain app state, Array.prototype.filter() returns incorrect results
        https://bugs.webkit.org/show_bug.cgi?id=133577

        Reviewed by Oliver Hunt.

        New test to check that the llint handles writing to an array hole from a built-in
        function.

        * js/regress/put-by-val-direct-expected.txt: Added.
        * js/regress/put-by-val-direct.html: Added.
        * js/regress/script-tests/put-by-val-direct.js: Added.
        (test):

2014-06-10  Simon Fraser  <simon.fraser@apple.com>

        Fix logging of sticky scrolling tree nodes
        https://bugs.webkit.org/show_bug.cgi?id=133670

        Reviewed by Sam Weinig.
        
        Rebaselined.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt:

2014-06-05  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Simplify the named grid lines resolution algorithm
        https://bugs.webkit.org/show_bug.cgi?id=133543

        Reviewed by Darin Adler.

        Added a new test that checks that named grid lines and areas are
        correctly set after dynamically changing them with JS. It also
        verifies that we properly recompute the resolution of named grid
        lines/areas when the positioning properties change.

        Also appended a new test case to verify that explicitly adding
        named lines of the form <foo-start>/<foo-end> effectively creates
        implicit named grid areas so that we could use them in grid
        placement properties (for example -webkit-grid-column: foo).

        No need to add more tests for named grid lines/areas resolution as
        we already have a quite good coverage (the feature was already
        there, we're simplifying/improving the implementation).

        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set-expected.txt: Added.
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html: Added.
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution-expected.txt:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:

2014-06-10  Kiran  <kiran.guduru@samsung.com>

        [MediaStream] Add getTracks() support to MediaStream.
        https://bugs.webkit.org/show_bug.cgi?id=133641

        Reviewed by Eric Carlson.

        * fast/mediastream/MediaStream-getTracks-expected.txt: Added.
        * fast/mediastream/MediaStream-getTracks.html: Added.

2014-06-09  Simon Fraser  <simon.fraser@apple.com>

        Work towards having frames in the scrolling tree
        https://bugs.webkit.org/show_bug.cgi?id=133665

        Reviewed by Tim Horton.
        
        Tests that dump the scrolling tree with subframes.

        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame.html: Added.
        * platform/mac-wk2/tiled-drawing/scrolling/frames/resources/doc-with-sticky.html: Added.

2014-06-09  Eric Carlson  <eric.carlson@apple.com>

        Automatic text track selection can select more than one track
        https://bugs.webkit.org/show_bug.cgi?id=133590

        Reviewed by Brent Fulgham.

        * media/video-trackmenu-selection-expected.txt: Added.
        * media/video-trackmenu-selection.html: Added.

        * platform/efl/TestExpectations: New test skipped.

2014-05-21  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION: missing underline under CJK text
        https://bugs.webkit.org/show_bug.cgi?id=128145

        Reviewed by Darin Adler.

        This test makes sure that underlines under CJK text don't skip over descenders.

        * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk-expected.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk.html: Added.

2014-06-09  Daniel Bates  <dabates@apple.com>

        [iOS] Amazon app: Cannot interact with product page after tapping on product image
        https://bugs.webkit.org/show_bug.cgi?id=133559
        <rdar://problem/16332749>

        Reviewed by Oliver Hunt.

        Add a test to ensure that assigning to an instance attribute in strict mode that shadows
        navigator.geolocation doesn't cause a JavaScript type error.

        * js/dom/script-tests/shadow-navigator-geolocation-in-strict-mode-does-not-throw.js: Added.
        (createObjectWithPrototype.F):
        (createObjectWithPrototype):
        * js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt: Added.
        * js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw.html: Added.

2014-06-05  Mark Hahnenberg  <mhahnenberg@apple.com>

        Eagerly reify DOM prototype attributes
        https://bugs.webkit.org/show_bug.cgi?id=133558

        Reviewed by Oliver Hunt.

        Updating a test expectation after this fix.

        * js/dom/constructor-attributes-expected.txt:

2014-06-09  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r169693.
        https://bugs.webkit.org/show_bug.cgi?id=133651

        This was wrong, just wrong (Requested by ap on #webkit).

        Reverted changeset:

        "Rebaseline some tests after r169681."
        http://trac.webkit.org/changeset/169693

2014-06-09  Simon Fraser  <simon.fraser@apple.com>

        Move scrolling-related tests to tiled-drawing/scrolling subdirectory, and minor cleanup
        https://bugs.webkit.org/show_bug.cgi?id=133650

        Reviewed by Tim Horton.
        
        Moved files, fixed up relative paths to js-test-pre.js/js-test-post.js and unskipped a couple of fixed/sticky tests.

        * platform/mac-wk2/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html-expected.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html-expected.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed-expected.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed-expected.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-no-image.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-removal-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-removal.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.png.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-in-overflow.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/nested-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/nested-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/nested-fixed.html.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/fixed/percentage-inside-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed.html.
        * platform/mac-wk2/tiled-drawing/scrolling/null-parent-back-crash-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/null-parent-back-crash-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/null-parent-back-crash.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/null-parent-back-crash.html.
        * platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-after-scroll.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll.html.
        * platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-slow-scrolling.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling.html.
        * platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle.html.
        * platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle.html.
        * platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling.html.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset.html.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal.html.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-layers-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-layers.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-layers.html.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-vertical-expected.txt.
        * platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-vertical.html.
        * platform/mac/TestExpectations:

2014-06-09  Simon Fraser  <simon.fraser@apple.com>

        Add results for MathML tests added by https://bugs.webkit.org/show_bug.cgi?id=72828.

        * platform/mac/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
        * platform/mac/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.

2014-06-09  Simon Fraser  <simon.fraser@apple.com>

        Rebaseline some tests after r169681.

        * compositing/geometry/ancestor-overflow-change-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
        * platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:

2014-06-09  Simon Fraser  <simon.fraser@apple.com>

        Fix more latched scrolling test flakiness and slowness
        https://bugs.webkit.org/show_bug.cgi?id=133601

        Reviewed by Brent Fulgham.

        Latched scrolling tests were flakey for two reasons. First, the EventSender
        wheel events were async from the web to the UI process, and the resulting
        synthetic events also async from the UI to the web process. Make them sync
        for testing.
        
        Secondly, the timer-based scrolling tree commit could result in the scrolling
        tree (specifically the frame node's notion of the scrollable area and content
        size) not being updated before the scrolling thread starts getting wheel events.
        Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.
        
        Finally remove all the now-unnecessary timeouts from the tests.

        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:

2014-06-09  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Change expectations for four layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133643

        Unreviewed EFL gardening.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/fullscreen/video-controls-override-expected.txt: Added.
        * platform/efl/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.

2014-06-09  Zalan Bujtas  <zalan@apple.com>

        [iOS] Gaps below and to the right of the video controls on devour.com
        https://bugs.webkit.org/show_bug.cgi?id=133607

        Reviewed by Simon Fraser.

        Non-toplevel compositing layers are device pixel aligned. In order to render the content
        to the same position as if the layer was not aligned, the graphics layer needs to be translated.
        CALayer::bounds is set to compensate for the shifted layer. However, we should not change the layer's
        size as that stretches the content and results in overlaps/gaps/extra fuzziness.

        * compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context-expected.html: Added.
        * compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context.html: Added.

2014-06-09  Zalan Bujtas  <zalan@apple.com>

        [SVG] Subpixel rendering: Mask with transformed text does not render.
        https://bugs.webkit.org/show_bug.cgi?id=133626
        <rdar://problem/17123070>

        Reviewed by Simon Fraser.

        Replace IntRect::infiniteRect() with Layout::infiniteRect(). A transformed IntRect::infiniteRect()
        overflows and produces invalid repaint rect. -also remove IntRect::infiniteRect() as no one calls
        it anymore.

        * svg/masking/mask-transformed-text-missing-expected.svg: Added.
        * svg/masking/mask-transformed-text-missing.svg: Added.

2014-06-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Share mac/editing/spelling/editing-word-with-marker-2.html with other platforms
        https://bugs.webkit.org/show_bug.cgi?id=133544

        Reviewed by Darin Adler.

        Move mac/editing/spelling/editing-word-with-marker-2.html into
        common editing/spelling to be available for other platforms.

        Additionally, verify spelling markers asynchronously as the sync
        path it's likely to be removed.

        Add test case which tests spelling markers without any
        selection change.

        * editing/spelling/editing-word-with-marker-2-expected.txt:
        Renamed from platform/mac/editing/spelling/editing-word-with-marker-2-expected.txt.

        * editing/spelling/editing-word-with-marker-2.html:
        Renamed from platform/mac/editing/spelling/editing-word-with-marker-2.html.

        * platform/gtk/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        Mark editing/spelling/editing-word-with-marker-2.html as failing since those
        platforms didn't turn on asynchronous spellchecking.

2014-06-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed EFL gardening. Skip a test which generates "No bad fd found." error.

        * platform/efl-wk1/TestExpectations:
        * platform/efl/http/tests/misc/slow-loading-mask-expected.txt:

2014-06-07  Frédéric Wang  <fred.wang@free.fr>

        Add tests for dynamic changes in msqrt/mroot
        https://bugs.webkit.org/show_bug.cgi?id=133557

        Reviewed by Chris Fleizach.

        This patch adds some tests to verify that a MathML msqrt/mroot element to which we applied dynamic additions and removals of children renders the same as its static equivalent and that no crashes happen.
        Unfortunately, the existing code does not handle them very well so they are skipped until we do the refactoring of bug 119038.

        * TestExpectations: skip the tests.
        * mathml/roots-addChild-expected.html: Added.
        * mathml/roots-addChild.html: Added.
        * mathml/roots-removeChild-expected.html: Added.
        * mathml/roots-removeChild.html: Added.

2014-06-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Scheme of content utils should be compared in an ASCII case-insensitive manner
        https://bugs.webkit.org/show_bug.cgi?id=133502

        Reviewed by Darin Adler.

        Tests are updated to compare protocol in ASCII case-insensitive manner.

        * fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
        * fast/dom/NavigatorContentUtils/register-protocol-handler.html:
        * fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:
        * fast/dom/NavigatorContentUtils/unregister-protocol-handler.html:
        * platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
        * platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:

2014-06-06  David Hyatt  <hyatt@apple.com>

        REGRESSION: Hit testing of composited elements is broken in new multicolumn layout.
        https://bugs.webkit.org/show_bug.cgi?id=133522 (<rdar://problem/17060556>)
        
        Reviewed by Simon Fraser.

        * compositing/columns/hittest-composited-in-paginated-expected.txt:

2014-06-06  Simon Fraser  <simon.fraser@apple.com>

        Latched scrolling tests are flakey on Mavericks
        https://bugs.webkit.org/show_bug.cgi?id=133578
        <rdar://problem/17180591>

        Reviewed by Brent Fulgham.
        
        Fix these tests to not dispatch events outside the window, and correct some of the wording
        in the tests.

        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:

2014-06-06  Alex Christensen  <achristensen@webkit.org>

        Run passing WebGL tests on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=133563

        Reviewed by Brent Fulgham.

        * platform/win/TestExpectations:
        Replaced all WebGL tests with lists of failing and crashing tests to fix.

2014-06-06  Kiran  <kiran.guduru@samsung.com>

        [MediaStream] 'get' prefix is missing for capabilities and constraints.
        https://bugs.webkit.org/show_bug.cgi?id=133573

        Reviewed by Eric Carlson.

        * fast/mediastream/MediaStreamTrack-expected.txt:
        * fast/mediastream/MediaStreamTrack.html:

2014-06-06  Mario Sanchez Prada  <mario.prada@samsung.com>

        [GTK] Layout Test accessibility/table-fallback-roles-expose-element-attributes.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=133519

        Reviewed by Chris Fleizach.

        Adapted test to play nicely with the different types of
        accessibility hierarchies exposed for Mac and ATK.

        * accessibility/table-fallback-roles-expose-element-attributes.html:
        Updated text to print information of cells from every platform but
        only print information of their children in the Mac.

        * accessibility/table-fallback-roles-expose-element-attributes-expected.txt:
        Updated expectation to match ATK platforms (GTK & EFL).
        * platform/mac/accessibility/table-fallback-roles-expose-element-attributes-expected.txt:
        Copied from LayoutTests/accessibility/table-fallback-roles-expose-element-attributes-expected.txt.

        * platform/gtk/TestExpectations: Removed expected failure.

2014-06-06  Frédéric Wang  <fred.wang@free.fr>

        Add test references for horizontal stretchy operators.
        https://bugs.webkit.org/show_bug.cgi?id=72828

        Unreviewed Win and EFL gardening.

        * platform/efl/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
        * platform/efl/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
        * platform/efl/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.
        * platform/win/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
        * platform/win/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
        * platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.

2014-06-06  Frédéric Wang  <fred.wang@free.fr>

        Add test references for horizontal stretchy operators.
        https://bugs.webkit.org/show_bug.cgi?id=72828

        Unreviewed Mac gardening.

        * platform/mac/mathml/horizontal-LatinModern-expected.txt: Added.
        * platform/mac/mathml/horizontal-LatinModern-munderover-expected.txt: Added.
        * platform/mac/mathml/opentype-stretchy-horizontal-expected.txt: Added.

2014-06-05  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Region box incorrectly overlaps floating box
        https://bugs.webkit.org/show_bug.cgi?id=133545

        Reviewed by David Hyatt.

        Add test to check that a region does not incorrectly overlap a floating
        element in the same formatting context.

        * fast/regions/region-as-bfc-avoids-float-expected.html: Added.
        * fast/regions/region-as-bfc-avoids-float.html: Added.

2014-06-05  Yoav Weiss  <yoav@yoav.ws>

        Align srcset parser with recent spec changes
        https://bugs.webkit.org/show_bug.cgi?id=133504

        Reviewed by Darin Adler.

        I have changed the "invalid-descriptor" test and removed the "invalid
        inputs correct src" test to reflect the fact that invalid descriptors
        are now treated identically to null descriptors. That is according to
        the spec.
        I've also added new tests that make sure that the spec's future
        compatible changes are working.

        * fast/hidpi/image-srcset-invalid-descriptor-expected.txt:
        * fast/hidpi/image-srcset-invalid-descriptor.html:
        * fast/hidpi/image-srcset-invalid-inputs-correct-src-expected.txt: Removed.
        * fast/hidpi/image-srcset-invalid-inputs-correct-src.html: Removed.

2014-06-05  Wenson Hsieh  <wenson_hsieh@apple.com>

        REGRESSION (Pluginless): Media controls look different from iOS7 media controls. 
        https://bugs.webkit.org/show_bug.cgi?id=133521

        Reviewed by Eric Carlson.

        Tests that audio elements are properly sized. Will add tests for video players in the (near) future.

        * platform/ios-sim/media/audio-width-expected.txt: Checks that audio width tests were OK'd
        * platform/ios-sim/media/audio-width.html: Checks that minimum audio width is properly enforced

2014-06-05  Michael Timbrook  <timbrook@apple.com>

        AX: Add support for ARIA 1.1 'none' role
        https://bugs.webkit.org/show_bug.cgi?id=133367

        Reviewed by Chris Fleizach.

        Added the tests to cover the behavior of the 'none' role
        * accessibility/aria-none-role-expected.txt: Added.
        * accessibility/aria-none-role.html: Added.

2014-06-05  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Children of tables and lists with role='presentation' should each be exposed as if they were div elements
        https://bugs.webkit.org/show_bug.cgi?id=133133

        Reviewed by Chris Fleizach.

        Added a new test with platform-specific expectations due to differences
        in accessible hierarchies.

        * accessibility/aria-inherits-presentational.html: Added.
        * platform/gtk/accessibility/aria-inherits-presentational-expected.txt: Added.
        * platform/mac/accessibility/aria-inherits-presentational-expected.txt: Added.

2014-06-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Share platform/mac/editing/spelling/move-cursor-around-misspelled-word.html with other platforms
        https://bugs.webkit.org/show_bug.cgi?id=133208

        Reviewed by Darin Adler.

        Move the test to common editing/spelling since it just verifies spelling
        markers and other platforms might be interested in running it as well.

        Due to bug 125688, the test starts using asynchronous spellchecking.
        Add additional test case which checks spelling marker after typing
        the text, before any caret change.

        * editing/spelling/move-cursor-around-misspelled-word-expected.txt:
        Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt
        * editing/spelling/move-cursor-around-misspelled-word.html:
        Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word.html

        * platform/gtk/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        Add failing expectation for platforms which didn't switch to
        asynchronous spellchecking.

2014-06-05  Alexey Proskuryakov  <ap@apple.com>

        media/video-rtl.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=133363

        * platform/mac/TestExpectations: Marked as such.

2014-06-05  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: border-radius painting falls back to rectangle when the snapped rounded rect becomes non-renderable.
        https://bugs.webkit.org/show_bug.cgi?id=133491

        Reviewed by Simon Fraser.

        Pixel snapping can change the rectangle's size when it is on a certain subpixel position. (usually it does not)
        This patch ensures that the snapped rect is still renderable by adjusting the radii as well.

        * fast/borders/hidpi-border-radius-with-subpixel-margin-not-renderable-expected.html: Added.
        * fast/borders/hidpi-border-radius-with-subpixel-margin-not-renderable.html: Added.

2014-06-05  Frédéric Wang  <fred.wang@free.fr>

        Apply Character-level mirroring to stretchy operators in RTL mode.
        https://bugs.webkit.org/show_bug.cgi?id=130839

        Reviewed by Chris Fleizach.

        Add some tests to verify that stretchy operators are correctly mirrored in RTL mode.

        * mathml/presentation/stretchy-rtl-expected.html: Added.
        * mathml/presentation/stretchy-rtl.html: Added.

2014-06-05  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Regions][CSS Shapes] Add Shapes tests which flow through multiple regions
        https://bugs.webkit.org/show_bug.cgi?id=133487

        Reviewed by Mihnea Ovidenie.

        The test verifies if the content with the shape wraps correctly through a region chain.

        * fast/regions/shape-outside-floats/regions-shape-outside-content-flows-multiple-regions-expected.html: Added.
        * fast/regions/shape-outside-floats/regions-shape-outside-content-flows-multiple-regions.html: Added.

2014-06-05  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Buttons in default media controls shift vertically when controls fade in or out.
        https://bugs.webkit.org/show_bug.cgi?id=133488

        Reviewed by Simon Fraser.

        Filter effects are not subpixel aware yet. They paint to integrally sized image buffers.
        In order to ensure that the content is rendered to the the same position on the filter 
        source context as if there was no filter, the repaint rects need to be adjusted to match with
        the internal filter snapping (enclosingIntRect).
        This is a temporary change until after filter effects get subpixelized.

        However, this changeset regresses RenderNameFlow clipping when the content is on subpixel position
        and filter effect is present. Instead of adding the failing test cases to TestExpectations, I removed
        the video controls from the <video> to make the tests pass, when possible (they just happen to have <video>)
        and filed webkit.org/b/133523 to track the regression.
                
        * css3/filters/filter-is-on-subpixel-position-expected.html: Added.
        * css3/filters/filter-is-on-subpixel-position.html: Added.
        * fast/regions/inline-block-inside-anonymous-overflow.html:
        * fast/regions/inline-block-overflow.html:

2014-06-05  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Change expectations for three layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133538

        Unreviewed EFL gardening.

        * platform/efl-wk2/TestExpectations:

2014-06-05  Kiran  <kiran.guduru@samsung.com>

        [MediaStream] MediaStream.addTrack should not check for tracks ended state.
        https://bugs.webkit.org/show_bug.cgi?id=133510

        Reviewed by Eric Carlson.

        * fast/mediastream/MediaStream-add-ended-tracks-expected.txt: Added.
        * fast/mediastream/MediaStream-add-ended-tracks.html: Added.

2014-06-05  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Add expectations for two accessibility layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=133485

        Unreviewed EFL gardening.

        * platform/efl-wk2/TestExpectations:
        * platform/efl-wk2/accessibility/lists-expected.txt:

2014-06-05  Frédéric Wang  <fred.wang@free.fr>

        MathML operators not stretched horizontally
        https://bugs.webkit.org/show_bug.cgi?id=72828

        Reviewed by Chris Fleizach.

        Add some tests to verify horizontal stretching with the MATH data.

        * mathml/opentype/horizontal-LatinModern-munderover.html: Added.
        * mathml/opentype/horizontal-LatinModern.html: Added.
        * mathml/opentype/opentype-stretchy-horizontal.html: Added.
        * platform/efl/TestExpectations: mark tests as failing.
        * platform/gtk/mathml/opentype/horizontal-LatinModern-expected.png: Added.
        * platform/gtk/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/opentype/horizontal-LatinModern-munderover-expected.png: Added.
        * platform/gtk/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png: Added.
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.
        * platform/mac/TestExpectations: mark tests as failing.
        * platform/win/TestExpectations: ditto.

2014-06-04  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] Image lifetime is not properly handled for gradient shapes
        https://bugs.webkit.org/show_bug.cgi?id=133414

        Reviewed by Simon Fraser.

        * fast/shapes/shape-outside-floats/shape-outside-uncached-gradient-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-uncached-gradient.html: Added.

2014-06-04  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] Fix off by one in creating a RasterShape
        https://bugs.webkit.org/show_bug.cgi?id=133499

        Reviewed by Darin Adler.

        * fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-crash-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-crash.html: Added.

2014-06-04  Benjamin Poulain  <benjamin@webkit.org>

        Regression(r169547): Crash in WebCore::styleForFirstLetter() while loading http://thenextweb.com/apple/2014/02/21/apple-confirms-acquired-testflight-creator-burstly/
        https://bugs.webkit.org/show_bug.cgi?id=133500

        Reviewed by Antti Koivisto.

        * fast/css/first-letter-on-non-matching-selectors-expected.txt: Added.
        * fast/css/first-letter-on-non-matching-selectors.html: Added.

2014-06-04  Oliver Hunt  <oliver@apple.com>

        ArrayIterator should not be exposed in Safari 8
        https://bugs.webkit.org/show_bug.cgi?id=133494

        Reviewed by Michael Saboff.

        Add tests.

        * js/no-iterator-constructors.html: Added.
        * js/script-tests/no-iterator-constructors.js: Added.

2014-05-27  Myles C. Maxfield  <mmaxfield@apple.com>

        Lists styled with SVG fonts are not rendered as expected
        https://bugs.webkit.org/show_bug.cgi?id=133198

        Reviewed by Simon Fraser.

        See per-file comments.

        * platform/ios-sim/fonts/input-style-with-svg-font-crash.html: Added. Make sure
        that iOS input elements don't crash when styled with SVG fonts.
        * platform/ios-sim/fonts/resources/graffiti.svg: Added. SVG font for above test.
        * svg/custom/list-items-with-svg-font-family-expected.txt: Added.
        * svg/custom/list-items-with-svg-font-family.html: Added. Make sure there is
        no crash when styling list elements with SVG fonts.

2014-06-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Add the new HiDPI tests to the bug that tracks support for this
        feature on GTK.
        Mark and report the new tests introduced on r169407 that timeout.
        Mark and report the new accesibility test introduced on r169427
        that fails.
        Move the reported timeout tests to the timeout section of the
        TestExpectations file.

        * platform/gtk/TestExpectations:

2014-06-04  Radu Stavila  <stavila@adobe.com>

        REGRESSION: [CSS Regions] Regions with overflow:auto generate scrollbars even if the content flows into the following regions and as such, should not be scrolled
        https://bugs.webkit.org/show_bug.cgi?id=133481

        Reviewed by Antti Koivisto.

        Added test for a large item flowed through two regions with the first region having overflow:auto.
        The region must NOT scroll.

        * fast/regions/scrollable-first-region-expected.html: Added.
        * fast/regions/scrollable-first-region.html: Added.

2014-06-03  Benjamin Poulain  <benjamin@webkit.org>

        Fix some corner cases of :hover and :active in quirks mode
        https://bugs.webkit.org/show_bug.cgi?id=133493

        Reviewed by Andreas Kling.

        Add test case for the corner cases.

        * fast/selectors/active-hover-quirks-expected.txt:
        * fast/selectors/active-quirks-expected.txt:
        * fast/selectors/hover-quirks-expected.txt:
        * fast/selectors/resources/hover-active-quirks-utility.js:

2014-06-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Need to check invalid scheme in navigator content utils 
        https://bugs.webkit.org/show_bug.cgi?id=133296

        Reviewed by Darin Adler.

        Add tests that check that schemes with colons in their names are rejected.
        Spec: http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers

        * fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt:
        * fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html:
        * fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
        * fast/dom/NavigatorContentUtils/register-protocol-handler.html:
        * fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:
        * fast/dom/NavigatorContentUtils/unregister-protocol-handler.html:
        * platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
        * platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:

2014-06-03  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: add support for the "any" pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=133473

        Reviewed by Benjamin Poulain.

        Add support for the :any pseudo class.

        * fast/selectors/pseudo-class-any-expected.txt: Added.
        * fast/selectors/pseudo-class-any.html: Added.

2014-06-02  Jer Noble  <jer.noble@apple.com>

        Update PlatformTimeRanges to use MediaTime rather than doubles for time values.
        https://bugs.webkit.org/show_bug.cgi?id=133454

        Reviewed by Eric Carlson.

        Update the video-pause-immediately to allow for small floating point differences.

        * media/video-pause-immediately-expected.txt:
        * media/video-pause-immediately.html:

2014-06-03  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>

        REGRESSION(r169092 and r169102): Skip failing JSC tests poperly on non-x86 Darwin platforms
        https://bugs.webkit.org/show_bug.cgi?id=133149

        Reviewed by Csaba Osztrogonác.

        * js/script-tests/function-apply-many-args.js: Skip it only if the architecture isn't x86 and the host is Darwin.

2014-06-02  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening. Rebaseline after r169522.

        * platform/efl/svg/W3C-SVG-1.1/animate-elem-32-t-expected.png:
        * platform/efl/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.png:
        * platform/efl/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.png:
        * platform/efl/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.png:
        * platform/efl/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.png:
        * svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:

2014-06-02  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening. Rebaseline.

        * platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt:
        * platform/efl/mathml/opentype/opentype-stretchy-expected.txt:
        * platform/efl/mathml/opentype/vertical-LatinModern-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:

2014-06-02  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening.

        Move the EFL specific test result to platform directory.

        * platform/efl/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Renamed from LayoutTests/fast/events/ghostly-mousemoves-in-subframe-expected.txt.

2014-06-02  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening.

        Added expectation result after r167684, r169257, and r169390.

        * fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
        * platform/efl/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.txt: Added.
        * platform/efl/fast/multicol/pagination/nested-transforms-expected.txt: Added.

2014-06-02  Benjamin Poulain  <benjamin@webkit.org>

        Make pseudo element matching for style resolution more JIT friendly
        https://bugs.webkit.org/show_bug.cgi?id=133441

        Reviewed by Antti Koivisto.

        Add more coverage for style sharing with empty rules, just in case.

        * fast/css/style-sharing-empty-rule-modification-expected.txt: Added.
        * fast/css/style-sharing-empty-rule-modification.html: Added.

2014-06-02  Martin Hock  <mhock@apple.com>

        Unreviewed TestExpectations gardening after r169532.

        * TestExpectations:
        Update fast/table/border-collapsing/collapsed-borders-adjoining-sections.html
        from [ Failure ] to [ ImageOnlyFailure ].

2014-05-31  Brent Fulgham  <bfulgham@apple.com>

        REGRESSION (r154622): Borders disappear when hovering over cells in table
        https://bugs.webkit.org/show_bug.cgi?id=133057
        <rdar://problem/15922359>

        Reviewed by Tim Horton.

        * TestExpectations: Mark the test we added in r154622 as failing
        until we provide a permanent fix.

2014-06-02  Kiran  <kiran.guduru@samsung.com>

        Add mock DTMFSender support.
        https://bugs.webkit.org/show_bug.cgi?id=133298

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCPeerConnection-dtmf-expected.txt:
        * fast/mediastream/RTCPeerConnection-dtmf.html:

2014-06-02  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening.

        Below test cases are passing after r169403.
          - fast/dom/webtiming-document-open.html
          - fast/dom/webtiming-navigate-within-document.html

        * platform/efl/TestExpectations:

2014-06-02  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: add support for the "not" pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=133314

        Add :not pseudo class support to CSS JIT. Current implementation
        doesn't support visitedMatchType. So when link pseudo class appears in
        :not sub fragment, fallback to the non-JIT implementation.

        Reviewed by Benjamin Poulain.

        * fast/selectors/not-active-hover-quirks-expected.txt: Added.
        * fast/selectors/not-active-hover-quirks.html: Added.
        * fast/selectors/not-active-hover-strict-expected.txt: Added.
        * fast/selectors/not-active-hover-strict.html: Added.
        * fast/selectors/pseudo-class-not-expected.txt: Added.
        * fast/selectors/pseudo-class-not.html: Added.
        * fast/selectors/resources/not-hover-active-quirks-utility.js: Added.
        (testQuerySelector):
        (test):
        * fast/selectors/resources/not-hover-active-strict-utility.js: Added.
        (testQuerySelector):
        (test):

2014-06-01  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening.

        gradient-background-leakage-hidpi.html and canvas-as-image-hidpi.html pass after r169445.

        * platform/efl-wk2/TestExpectations:

2014-06-01  Jer Noble  <jer.noble@apple.com>

        [MSE] Appends of overlapping sample data do not clear existing samples properly.
        https://bugs.webkit.org/show_bug.cgi?id=133435

        Reviewed by Darin Adler.

        * media/media-source/media-source-overlapping-append-expected.txt: Added.
        * media/media-source/media-source-overlapping-append.html: Added.
        * media/media-source/mock-media-source.js:

2014-06-01  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>

        getBBox() returns (0,0) when width or height is zero.
        https://bugs.webkit.org/show_bug.cgi?id=93290

        Reviewed by Philip Rogers.
 
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
        * svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
        * svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
        * svg/custom/getBBox-js-circle-zerodimension-expected.txt: Added.
        * svg/custom/getBBox-js-circle-zerodimension.html: Added.
        * svg/custom/getBBox-js-ellipse-zerodimension-expected.txt: Added.
        * svg/custom/getBBox-js-ellipse-zerodimension.html: Added.
        * svg/custom/getBBox-js-rect-zerodimension-expected.txt: Added.
        * svg/custom/getBBox-js-rect-zerodimension.html: Added.

2014-06-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        EFL gardening. Unskip some iframe tests which have passed since buildbot OS bump up.

        * platform/efl-wk1/TestExpectations:

2014-06-01  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Selection gap produces a pixel line overlap on inline boxes.
        https://bugs.webkit.org/show_bug.cgi?id=133429

        Reviewed by Simon Fraser.

        Do not floor logical right/left values when selection gap is calculated for RenderBlocks.
        It produces overlapping line/gap because the floored value is intersecting/too far from the
        non-floored content selection rect.

        * platform/mac/TestExpectations: add ML failure due to font sizing. (Ahem can't be used here)
        * fast/inline/hidpi-selection-gap-and-inline-selection-have-gap-rtl-expected.html: Added.
        * fast/inline/hidpi-selection-gap-and-inline-selection-have-gap-rtl.html: Added.
        * fast/inline/hidpi-selection-gap-overlaps-inline-selection-expected.html: Added.
        * fast/inline/hidpi-selection-gap-overlaps-inline-selection.html: Added.

2014-05-31  Darin Adler  <darin@apple.com>

        One more missed piece of that last check-in.

        * TestExpectations: Removed the flakiness expectation from the
        css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html
        test since that now works reliably.

2014-05-31  Darin Adler  <darin@apple.com>

        Try to fix another failure from the previous check-in seen on some bots.

        * platform/mac-wk2/TestExpectations: Removed a couple obsolete lines.
        * platform/wk2/TestExpectations: Added expectation for filter-hidden-content.svg, which
        seems to be affected by the resizing for tests before it.

2014-05-31  Darin Adler  <darin@apple.com>

        Fix test failure from the previous check-in.

        * fast/dynamic/window-resize-scrollbars-test.html: Add resize handler so this test works
        with asynchronous resizing.

        * platform/wk2/TestExpectations: Expect failure for the test above; it's showing scrollbars,
        and it should not. Before, the test was not running correctly so it seemed to pass.

2014-05-31  Darin Adler  <darin@apple.com>

        Viewport percentage tests that resize the viewport are flaky
        https://bugs.webkit.org/show_bug.cgi?id=133351

        Reviewed by Anders Carlsson.

        * css3/viewport-percentage-lengths/resources/resize-test.js:
        Added code to compensate for the difference between innerWidth/Height and outerWidth/Height
        so this works well in a browser window. Added code to "warm up" so the first resize triggers
        a resize event. Tweaked style of the code a bit. Use resize events to avoid flakiness due
        to race conditions. One thing I did not fix is the "out of order" problem where all the
        test results get written out after the words TEST COMPLETE.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block-expected.txt:
        Updated due to changes to the underlying test machinery, and also to show actual expected success.
        The old results said PASS with various obviously wrong results.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html:
        Changed this test to use the shared resize-test.js.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child-expected.txt:
        Updated due to changes to the underlying test machinery, and also to show actual expected success.
        The old results said PASS with various obviously wrong results.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html:
        Streamlined this test a little.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt:
        Updated due to changes to the underlying test machinery, and also to show actual expected success.
        The old results said PASS with various obviously wrong results.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html:
        Streamlined this test a little.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt:
        Updated due to changes to the underlying test machinery, and also to show both expected success,
        and some expected failures. These failures were going unnoticed before since the test didn't
        successfully do any resizing of the web view.

        * css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html:
        Streamlined this test a little.

        * fast/dom/Window/window-resize-contents-expected.txt: Updated to reflect the test actually
        resizing. The old test results expected no resizing to occur.
        * fast/dom/Window/window-resize-contents.html: Updated to use a resize event handler so the
        test can successfully test asynchronous resizes like the ones done by WebKit2.

        * fast/dom/rtl-scroll-to-leftmost-and-resize.html: Updated to use a resize event handler so
        this can test asynchronous resizes. Also fixed code that was treating the arguments to resizeTo
        as if they were inner coordinates rather than outer. However, the bug this tests for has not
        been fixed, so need to expect failures.

        * platform/mac/TestExpectations: Added a failure expection for the test above.

        * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.png: Updated to expect a result
        that successfully resized.
        * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: Ditto.

2014-05-30  Mario Sanchez Prada  <mario.prada@samsung.com>

        [GTK] Don't use logAccessibilityEvents() in aria-slider-required-attributes.html
        https://bugs.webkit.org/show_bug.cgi?id=133405

        Reviewed by Chris Fleizach.

        Change the test to use addNotificationListener() instead.

        * platform/gtk/TestExpectations: Removed failure expectation
        * platform/gtk/accessibility/aria-slider-required-attributes-expected.txt: Updated
        * platform/gtk/accessibility/aria-slider-required-attributes.html: Updated

2014-05-30  Mario Sanchez Prada  <mario.prada@samsung.com>

        [ATK] Deprecate usage of logAccessibilityEvents() in layout tests
        https://bugs.webkit.org/show_bug.cgi?id=132280

        Reviewed by Chris Fleizach.

        Removed 36 flaky expectations from TestExpectations for tests that
        were ocassionally showing the output of logAccessibilityEvents()
        even if they did not make use of that feature (thus the flakiness).

        * platform/gtk/TestExpectations: Updated.

2014-05-30  Jarek Czekalski  <jarekczek@poczta.onet.pl>

        [ATK] Convert caret offset tests from testatk.c.
        https://bugs.webkit.org/show_bug.cgi?id=132527

        Reviewed by Mario Sanchez Prada.

        The tests are replicated from testatk.c file, functions
            testWebkitAtkCaretOffsets()
            testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces()
        The file was present in webkit1. Removed from trunk in r166977, so
        the last version was
        https://trac.webkit.org/browser/trunk/Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c?rev=166976
        What could not be verified in the same way:

        1. Whether element implements ATK_TEXT. If setCaretOffset
        succeeds, it confirms that element is text as well. But in cases
        when setCaretOffset must fail I see no way to confirm it is text
        element.

        2. Whether position is correct through a call to
        atk_text_get_caret_offset.  text-caret-moved signal value is
        tested instead.

        Anyway these cases don't look crucial, so they are skipped.

        * platform/gtk/resources/atk-helpers.js: Added.
        (setCaretOffset): Added.
        * platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces-expected.txt: Added.
        * platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces.html: Added.
        * platform/gtk/accessibility/caret-offsets-expected.txt: Added.
        * platform/gtk/accessibility/caret-offsets.html: Added.

2014-05-28  Jon Honeycutt  <jhoneycutt@apple.com>

        Roll r168668 back in.

        <https://bugs.webkit.org/show_bug.cgi?id=132621>

        Reviewed by Brent Fulgham.

        * compositing/plugins/composited-plugin.html:
        * compositing/plugins/no-backing-store.html:
        * fast/dom/beforeload/flash-before-load.html:
        * fast/events/beforeload-assertion-expected.txt: Added.
        * fast/events/beforeload-assertion.html: Added.
        * fast/events/beforeload-iframe-crash-expected.txt: Added.
        * fast/events/beforeload-iframe-crash.html: Added.
        * fast/events/beforeload-input-time-crash-expected.txt: Added.
        * fast/events/beforeload-input-time-crash.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
        * http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
        * http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
        * http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
        (testImpl.iframe.onload):
        (testImpl):
        * http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
        * platform/mac/plugins/supports-carbon-event-model.html:
        * platform/mac/plugins/testplugin-onnew-onpaint.html:
        * plugins/get-user-agent-with-null-npp-from-npp-new.html:
        * plugins/mouse-click-plugin-clears-selection.html:
        * plugins/netscape-plugin-map-data-to-src.html:
        * plugins/no-mime-with-valid-extension.html:
        * plugins/plugin-initiate-popup-window.html:
        * plugins/windowless_plugin_paint_test.html:
        * resources/plugin.js: Added.
        (runAfterPluginLoad):

2014-05-29  Myles C. Maxfield  <mmaxfield@apple.com>

        Support -apple-system-font on OS X
        https://bugs.webkit.org/show_bug.cgi?id=133382

        This test makes sure that -apple-system-font is rendered the same way as -webkit-system-font.

        Reviewed by Simon Fraser.

        * platform/mac-mountainlion/platform/mac/fast/text/systemFont-expected.txt: Updated.
        * platform/mac/fast/text/systemFont.html: Tests -apple-system-font in addition to -webkit-system-font.
        * platform/mac/platform/mac/fast/text/systemFont-expected.txt: Updated.

2014-05-29  Alexey Proskuryakov  <ap@apple.com>

        Loading <object> from WebArchive crashes
        https://bugs.webkit.org/show_bug.cgi?id=133386
        <rdar://problem/13345509>

        Reviewed by Brady Eidson.

        * webarchive/loading/object-expected.txt: Added.
        * webarchive/loading/object.html: Added.
        * webarchive/loading/resources/object.webarchive: Added.

2014-05-29  Mark Lam  <mark.lam@apple.com>

        Gardening: marking js/primitive-property-access-edge-cases.html as crashy.
        <https://webkit.org/b/133356>

        Not reviewed.

        * TestExpectations:

2014-05-29  Mark Lam  <mark.lam@apple.com>

        Gardening: marking js/primitive-property-access-edge-cases.html as flaky.
        <https://webkit.org/b/133356>

        Not reviewed.

        * TestExpectations:

2014-05-29  Jeremy Jones  <jeremyj@apple.com>

        Use correct version of requiresFullscreenForVideoPlayback().
        https://bugs.webkit.org/show_bug.cgi?id=133331

        Reviewed by Eric Carlson.

        * media/video-fullscreeen-only-controls-expected.txt: Added.
        * media/video-fullscreeen-only-controls.html: Added. Make sure video element
        controls show even when not specified if inline playback is restricted.

2014-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        [WK2][GTK] ASSERTION FAILED: m_status == Scheduled in GMainLoopSource
        https://bugs.webkit.org/show_bug.cgi?id=131220

        Reviewed by Philippe Normand.

        Unskip inspector-protocol/dom/remove-multiple-nodes.html.

        * platform/gtk/TestExpectations:

2014-05-28  Martin Hock  <mhock@apple.com>

        Marking test as flaky pending further review.
        https://bugs.webkit.org/show_bug.cgi?id=133351

        Unreviewed gardening.

        * TestExpectations:
        Skip css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html

2014-05-28  Oliver Hunt  <oliver@apple.com>

        Make DOM properties exposed as instance properties use the base object instead of |this|
        https://bugs.webkit.org/show_bug.cgi?id=133353

        Reviewed by Geoffrey Garen.

        Update tests to cover change in expected behaviour.

        * js/dom/dom-as-prototype-assignment-exception-expected.txt:
        * js/dom/dom-attributes-on-mismatch-type-expected.txt:
        * js/dom/dom-attributes-on-mismatch-type.html:
        * js/dom/script-tests/dom-as-prototype-assignment-exception.js:

2014-05-28  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r168046): Invalid layout in multicol
        https://bugs.webkit.org/show_bug.cgi?id=133322

        Reviewed by Antti Koivisto.

        * fast/multicol/newmulticol/multicol-inside-multicol-expected.html: Added.
        * fast/multicol/newmulticol/multicol-inside-multicol.html: Added.

2014-05-27  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r169400.
        https://bugs.webkit.org/show_bug.cgi?id=133338

        Broke the iOS build in
        LocalizedDateCache::calculateMaximumWidth() (Requested by smfr
        on #webkit).

        Reverted changeset:

        "SVG TextRuns do not always get RenderingContexts"
        https://bugs.webkit.org/show_bug.cgi?id=133198
        http://trac.webkit.org/changeset/169400

2014-05-27  Bem Jones-Bey  <bjonesbe@adobe.com>

        vw/vh units used as font/line-height values don't scale with the viewport
        https://bugs.webkit.org/show_bug.cgi?id=87846

        Reviewed by Darin Adler.

        Update existing tests to work with the proper behavior of viewport
        units.

        Add tests for some of the things fixed by this patch: handling of
        viewport units in font sizes, with calc, and when the viewport is
        resized without a reload.

        The anonymous block and percent size child tests make sure that the
        viewport unit updates still work properly when there is another
        relative unit the depends on the size specified in viewport units.

        * css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle-expected.txt:
        * css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle.html:
        * css3/viewport-percentage-lengths/resources/resize-test.js: Added.
        (resizeTest):
        (standardResizeTest):
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block-expected.txt: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-calc-expected.txt: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-calc.html: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child-expected.txt: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt: Added.
        * css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html: Added.
        * fast/canvas/draw-focus-if-needed-expected.txt: Removed.
        * fast/canvas/draw-focus-if-needed.html: Removed.
        * fast/masking/parsing-clip-path-shape-expected.txt:
        * fast/masking/parsing-clip-path-shape.html:
        * fast/shapes/parsing/parsing-shape-lengths-expected.txt:
        * fast/shapes/parsing/parsing-shape-lengths.html:

2014-05-27  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] serialization of the computed value should omit the default radii
        https://bugs.webkit.org/show_bug.cgi?id=132747

        Reviewed by Darin Adler.

        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:

2014-05-27  Alex Christensen  <achristensen@webkit.org>

        Unreviewed Mac Gardening.

        * platform/mac/TestExpectations:
        Skip webtiming-two-redirects.php which I forgot to re-skip in r169403.

2014-05-27  Alex Christensen  <achristensen@webkit.org>

        Run web timing tests if web timing is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=133327

        Reviewed by Ryosuke Niwa.

        * fast/dom/script-tests/webtiming-document-open.js:
        (finishTest):
        * fast/dom/script-tests/webtiming-navigate-within-document.js:
        (checkTimingNotChanged):
        Use for in loop instead of Object.keys because properties are in prototype chain.
        * fast/dom/script-tests/webtiming.js:
        Use performance.now instead of 0.
        * platform/mac/TestExpectations:
        Made web timing tests skipped on Mountain Lion and Mavericks.

2014-05-27  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r169399.
        https://bugs.webkit.org/show_bug.cgi?id=133326

        Causes assertion failures in tests.  See
        http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r169399%20(5622)/results.html
        (Requested by mlam on #webkit).

        Reverted changeset:

        "Caret's screen position does not update during an overflow
        scroll"
        https://bugs.webkit.org/show_bug.cgi?id=133256
        http://trac.webkit.org/changeset/169399

2014-05-27  Myles C. Maxfield  <mmaxfield@apple.com>

        Lists styled with SVG fonts are not rendered as expected
        https://bugs.webkit.org/show_bug.cgi?id=133198

        Reviewed by Simon Fraser.

        See per-file comments.

        * svg/custom/list-items-with-svg-font-family-expected.txt: Added.
        * svg/custom/list-items-with-svg-font-family.html: Added. Make sure there is
        no crash when styling list elements with SVG fonts.

2014-05-23  Myles C. Maxfield  <mmaxfield@apple.com>

        Caret's screen position does not update during an overflow scroll
        https://bugs.webkit.org/show_bug.cgi?id=133256

        Reviewed by Simon Fraser.

        This test places the caret, inspects its position, scrolls, and then immediately inspects its
        position again. The two positions should be different.

        * editing/input/caret-position-during-scroll-expected.txt: Added.
        * editing/input/caret-position-during-scroll.html: Added.

2014-05-27  David Hyatt  <hyatt@apple.com>

        REGRESSION: Audio volume scrubber does not show volume level thumb
        <rdar://problem/16902004>
        https://bugs.webkit.org/show_bug.cgi?id=133310

        Reviewed by Dean Jackson.

        * fast/multicol/pagination/nested-transforms.html: Added.
        * platform/mac/fast/multicol/pagination/nested-transforms-expected.png: Added.
        * platform/mac/fast/multicol/pagination/nested-transforms-expected.txt: Added.

2014-05-27  Eric Carlson  <eric.carlson@apple.com>

        [Mac] media controls should prevent 'click' events from reaching the page
        https://bugs.webkit.org/show_bug.cgi?id=133268

        Reviewed by by Jer Noble.

        * media/media-controls-cancel-events-expected.txt: Added.
        * media/media-controls-cancel-events.html: Added.

2014-05-27  Jon Lee  <jonlee@apple.com>

        Update ENABLE(MEDIA_SOURCE) on Mac
        https://bugs.webkit.org/show_bug.cgi?id=133141

        Reviewed by Darin Adler.

        * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/TestExpectations:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2014-05-27  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Add failing tests to TestExpectations.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:

2014-05-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Fix wrong inclusion depth of js-test-pre.js in is-protocol-handler-registered.html
        https://bugs.webkit.org/show_bug.cgi?id=133273

        Reviewed by Darin Adler.

        Can't use debug() due to wrong inclusion path.

        * fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html:

2014-05-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Move navigator content utils's to own directory
        https://bugs.webkit.org/show_bug.cgi?id=133275

        Reviewed by Darin Adler.

        Expected results need to be maintained by own directory because navigator content utils have been maintained by
        own directory as well.

        * platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Renamed from LayoutTests/platform/efl/fast/dom/register-protocol-handler-expected.txt.
        * platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Renamed from LayoutTests/platform/efl/fast/dom/unregister-protocol-handler-expected.txt.

2014-05-26  Benjamin Poulain  <benjamin@webkit.org>

        Fix the quirks mode selector matching of the pseudo classes :hover and :active
        https://bugs.webkit.org/show_bug.cgi?id=133063

        Reviewed by Antti Koivisto.

        The test coverage of :hover and :active was extremly poor.
        Those new tests add coverage for the cases fixed by this patch.

        * fast/selectors/active-hover-quirks-expected.txt: Added.
        * fast/selectors/active-hover-quirks.html: Added.
        * fast/selectors/active-hover-strict-expected.txt: Added.
        * fast/selectors/active-hover-strict.html: Added.
        * fast/selectors/active-quirks-expected.txt: Added.
        * fast/selectors/active-quirks.html: Added.
        * fast/selectors/active-strict-expected.txt: Added.
        * fast/selectors/active-strict.html: Added.
        * fast/selectors/hover-quirks-expected.txt: Added.
        * fast/selectors/hover-quirks.html: Added.
        * fast/selectors/hover-strict-expected.txt: Added.
        * fast/selectors/hover-strict.html: Added.
        * fast/selectors/resources/hover-active-quirks-utility.js: Added.
        * selectors/resources/hover-active-strict-utility.js: Added.

2014-05-26  Darin Adler  <darin@apple.com>

        Class name matching should use ASCII case-insensitive matching, not Unicode case folding
        https://bugs.webkit.org/show_bug.cgi?id=133292

        Reviewed by Anders Carlsson.

        * fast/dom/getElementsByClassName/ASCII-case-insensitive-expected.txt: Added.
        * fast/dom/getElementsByClassName/ASCII-case-insensitive.html: Added.
        * fast/dom/getElementsByClassName/case-sensitive-expected.txt: Added.
        * fast/dom/getElementsByClassName/case-sensitive.html: Added.

2014-05-25  Filip Pizlo  <fpizlo@apple.com>

        Latest emscripten life benchmark is 4x slower because the DFG doesn't realize that arithmetic on booleans is a thing
        https://bugs.webkit.org/show_bug.cgi?id=133136

        Reviewed by Oliver Hunt.

        * js/regress/abs-boolean-expected.txt: Added.
        * js/regress/abs-boolean.html: Added.
        * js/regress/div-boolean-double-expected.txt: Added.
        * js/regress/div-boolean-double.html: Added.
        * js/regress/div-boolean-expected.txt: Added.
        * js/regress/div-boolean.html: Added.
        * js/regress/max-boolean-expected.txt: Added.
        * js/regress/max-boolean.html: Added.
        * js/regress/min-boolean-expected.txt: Added.
        * js/regress/min-boolean.html: Added.
        * js/regress/minus-boolean-double-expected.txt: Added.
        * js/regress/minus-boolean-double.html: Added.
        * js/regress/minus-boolean-expected.txt: Added.
        * js/regress/minus-boolean.html: Added.
        * js/regress/mod-boolean-double-expected.txt: Added.
        * js/regress/mod-boolean-double.html: Added.
        * js/regress/mod-boolean-expected.txt: Added.
        * js/regress/mod-boolean.html: Added.
        * js/regress/mul-boolean-double-expected.txt: Added.
        * js/regress/mul-boolean-double.html: Added.
        * js/regress/mul-boolean-expected.txt: Added.
        * js/regress/mul-boolean.html: Added.
        * js/regress/neg-boolean-expected.txt: Added.
        * js/regress/neg-boolean.html: Added.
        * js/regress/plus-boolean-arith-expected.txt: Added.
        * js/regress/plus-boolean-arith.html: Added.
        * js/regress/plus-boolean-double-expected.txt: Added.
        * js/regress/plus-boolean-double.html: Added.
        * js/regress/plus-boolean-expected.txt: Added.
        * js/regress/plus-boolean.html: Added.
        * js/regress/script-tests/abs-boolean.js: Added.
        * js/regress/script-tests/div-boolean-double.js: Added.
        * js/regress/script-tests/div-boolean.js: Added.
        * js/regress/script-tests/max-boolean.js: Added.
        * js/regress/script-tests/min-boolean.js: Added.
        * js/regress/script-tests/minus-boolean-double.js: Added.
        * js/regress/script-tests/minus-boolean.js: Added.
        * js/regress/script-tests/mod-boolean-double.js: Added.
        * js/regress/script-tests/mod-boolean.js: Added.
        * js/regress/script-tests/mul-boolean-double.js: Added.
        * js/regress/script-tests/mul-boolean.js: Added.
        * js/regress/script-tests/neg-boolean.js: Added.
        * js/regress/script-tests/plus-boolean-arith.js: Added.
        * js/regress/script-tests/plus-boolean-double.js: Added.
        * js/regress/script-tests/plus-boolean.js: Added.
        * js/regress/script-tests/sin-boolean.js: Added.
        * js/regress/sin-boolean-expected.txt: Added.
        * js/regress/sin-boolean.html: Added.

2014-05-26  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Implementation of the "grid" shorthand.
        https://bugs.webkit.org/show_bug.cgi?id=132122

        Reviewed by Darin Adler.

        Layout Test for the basic functionality of the 'grid' shorthand. It was
        also added a new javascript file with some utility functions.

        * fast/css-grid-layout/grid-shorthand-get-set-expected.txt: Added.
        * fast/css-grid-layout/grid-shorthand-get-set.html: Added.
        * fast/css-grid-layout/resources/grid-shorthand-parsing-utils.js: Added.
        (testGridDefinitionsValues):
        (testGridDefinitionsSetJSValues):
        (testNonGridDefinitionsSetJSValues):
        (checkGridDefinitionsSetJSValues):
        (testGridDefinitionsSetBadJSValues):

2014-05-26  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Remove expectations for now passing tests.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:

2014-05-26  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Input fields and text areas are not rendered correctly after r167771
        https://bugs.webkit.org/show_bug.cgi?id=133181

        Reviewed by Gyuyoung Kim.

        * platform/efl-wk2/TestExpectations: Remove now passing test from test expectations.

2014-05-20  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Children of grid containers must be turned into grid items
        https://bugs.webkit.org/show_bug.cgi?id=132991

        Reviewed by Darin Adler.

        From Blink r150472 by <jchaffraix@chromium.org>

        Added a new test case to verify the computed value for 'display'
        in grid items. The test also checks that items are correctly
        positioned inside the grid, i.e., they properly became grid
        items.

        Also removed ietestcenter's grid-items-002.html and
        grid-items-003.html from the list of failing tests as they should
        be working now.

        * fast/css-grid-layout/grid-item-display-expected.txt: Added.
        * fast/css-grid-layout/grid-item-display.html: Added.
        * ietestcenter/css3/grid/grid-items-002.htm: Fixed a typo and
        replaced -webkit-grid-definition-* by -webkit-grid-template-*
        * ietestcenter/css3/grid/grid-items-003.htm: Ditto.
        * platform/efl/TestExpectations: Removed the two tests above.
        * platform/gtk/TestExpectations: Ditto.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2014-05-25  Jinwoo Song  <jinwoo7.song@samsung.com>

        setData() of DataTransfer has a void return type
        https://bugs.webkit.org/show_bug.cgi?id=133108

        Reviewed by Alexey Proskuryakov.

        * editing/pasteboard/set_data_typeof_return-expected.txt: Added.
        * editing/pasteboard/set_data_typeof_return.html: Added.

2014-05-25  David Kilzer  <ddkilzer@apple.com>

        Crash in WebCore::TextResourceDecoder::checkForCSSCharset
        <http://webkit.org/b/133257>
        <rdar://problem/17027109>

        Reviewed by Alexey Proskuryakov.

        * fast/encoding/css-charset-missing-semi-colon-and-newline-expected.txt: Added.
        * fast/encoding/css-charset-missing-semi-colon-and-newline.html: Added.

2014-05-23  Simon Fraser  <simon.fraser@apple.com>

        Scrolling tests should not try to dump pixels
        https://bugs.webkit.org/show_bug.cgi?id=133245

        Reviewed by Tim Horton.
        
        dumpAsText(true) -> dumpAsText().

        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:

2014-05-24  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Non-compositing transforms with subpixel coordinates paint to wrong position.
        https://bugs.webkit.org/show_bug.cgi?id=133184
        <rdar://problem/16745606>

        Reviewed by Simon Fraser.

        Snapping relative negative coordinate values should produce the same position as if they were
        positive absolute coordinates.
        When a child box gets positioned off of its containers towards top/left, its relative coordinates
        become negative. Pixel snapping those negative values should produce the same
        final painting position as if the child box was fixed positioned with positive coordinates.
        Since halfway values always round away from zero, negative and positive halfway values
        produce opposite rounding direction.
        This patch ensures that negative halfway values round to the direction as if they were positive.  

        * fast/layers/hidpi-floor-negative-coordinate-values-to-maintain-rounding-direction-expected.html: Added.
        * fast/layers/hidpi-floor-negative-coordinate-values-to-maintain-rounding-direction.html: Added.

2014-05-24  Frédéric Wang  <fred.wang@free.fr>

        Update GTK references for some tests after bug 130322.
        https://bugs.webkit.org/show_bug.cgi?id=130322

        Unreviewed gardening.

        * platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt:
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt:

2014-05-24  Frédéric Wang  <fred.wang@free.fr>

        Mark some opentype MATH tests failing due to bad references.
        https://bugs.webkit.org/show_bug.cgi?id=130322

        Unreviewed gardening.

        * platform/mac/TestExpectations:

2014-05-24  Frédéric Wang  <fred.wang@free.fr>

        Use size variants and glyph assembly from the MATH data.
        https://bugs.webkit.org/show_bug.cgi?id=130322

        Reviewed by Chris Fleizach.

        This adds some pixel tests for large operators and vertical stretchy operators.

        * mathml/opentype/LICENSE-LatinModern.txt: Added.
        * mathml/opentype/large-operators-LatinModern.html: Added.
        * mathml/opentype/latinmodern-math.woff: Added.
        * mathml/opentype/opentype-stretchy.html: Added.
        * mathml/opentype/stretchy.woff: Added.
        * mathml/opentype/vertical-LatinModern.html: Added.
        * platform/efl/mathml/opentype/large-operators-LatinModern-expected.png: Added.
        * platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
        * platform/efl/mathml/opentype/opentype-stretchy-expected.png: Added.
        * platform/efl/mathml/opentype/opentype-stretchy-expected.txt: Added.
        * platform/efl/mathml/opentype/vertical-LatinModern-expected.png: Added.
        * platform/efl/mathml/opentype/vertical-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/opentype/large-operators-LatinModern-expected.png: Added.
        * platform/gtk/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.png: Added.
        * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Added.
        * platform/gtk/mathml/opentype/vertical-LatinModern-expected.png: Added.
        * platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt: Added.
        * platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference due to change in mathml.css
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: ditto
        * platform/mac/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Added.
        * platform/mac/mathml/opentype/vertical-LatinModern-expected.txt: Added.
        * platform/mac-wk2/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
        * platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt: Added.
        * platform/mac-wk2/mathml/opentype/vertical-LatinModern-expected.txt: Added.
        * platform/win/TestExpectations: Mark the OpenType MATH tests as failing

2014-05-23  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: Apply backtracking optimization to adjacent backtracking
        https://bugs.webkit.org/show_bug.cgi?id=132951

        Reviewed by Benjamin Poulain.

        Apply the backtracking optimization to the adjacent backtracking.
        This optimization is already done for the descendant backtracking.
        We apply this to the adjacent backtracking similarly.

        * fast/selectors/backtracking-adjacent-optimized-expected.txt: Added.
        * fast/selectors/backtracking-adjacent-optimized.html: Added.

2014-05-23  Simon Fraser  <simon.fraser@apple.com>

        Rebaseline two tests affected by r169229.

        * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:

2014-05-23  Mihnea Ovidenie  <mihnea@adobe.com>

        REGRESSION(r169105): fast/regions/cssom/region-range-for-box-crash.html is more crashy than before
        https://bugs.webkit.org/show_bug.cgi?id=133124

        Reviewed by David Hyatt.

        Unskip the test file that used to crash.

        * TestExpectations:

2014-05-23  Mark Hahnenberg  <mhahnenberg@apple.com>

        Rebaseline some tests after r169260

        * fast/dom/Geolocation/enabled-expected.txt:
        * fast/dom/Geolocation/script-tests/enabled.js:
        * js/dom/delete-syntax-expected.txt:
        * js/dom/script-tests/delete-syntax.js:

2014-05-23  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Skip some snapshotting tests failing after r169173.
        https://bugs.webkit.org/show_bug.cgi?id=133227.

        * platform/mac-wk2/TestExpectations:

2014-05-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        * platform/efl/TestExpectations: Add test expectation for tests faling after r167840.
        * platform/efl/fast/borders/border-antialiasing-expected.png: Rebaseline after r168046.
        * platform/efl/fast/borders/border-antialiasing-expected.txt: Ditto.
        * platform/efl/fast/forms/fieldset-align-expected.txt: Rebaseline after r168575.

2014-05-23  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make webkit-box-shadow painting subpixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=133201
        <rdar://problem/16072830>

        Reviewed by Simon Fraser.

        This patch enables webkit-box-shadow to be painted on a subpixel position. However, we
        still truncate -webkit-box-shadow property values. Tracked here: http://webkit.org/b/133202

        Currently not ref-testable.

        * fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position.html: Added.
        * platform/mac/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.png: Added.
        * platform/mac/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.txt: Added.

2014-05-22  Simon Fraser  <simon.fraser@apple.com>

        Make viewport units work in CSS gradients
        https://bugs.webkit.org/show_bug.cgi?id=133204
        <rdar://problem/17012259>

        Reviewed by Tim Horton.

        Make viewport percentage lengths work in gradients.

        * fast/gradients/viewport-units-gradient-expected.html: Added.
        * fast/gradients/viewport-units-gradient.html: Added.

2014-05-22  Ryosuke Niwa  <rniwa@webkit.org>

        Can't type in status in facebook.com on iOS Safari because keyboard disappears
        https://bugs.webkit.org/show_bug.cgi?id=133196

        Reviewed by Geoffrey Garen.

        Removed the test added by r156252.

        * fast/dom/HTMLDocument/active-element-gets-unfocusable-expected.txt: Removed.
        * fast/dom/HTMLDocument/active-element-gets-unfocusable.html: Removed.

2014-05-22  Myles C. Maxfield  <mmaxfield@apple.com>

        http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=132523

        Reviewed by Alexey Proskuryakov.

        Two tests have been rebaselined, and re-enable test that now passes. Because of
        r23889, synchronous XHRs for file: URLs purposely don't invoke error handlers.

        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: Updated
        incorrect test description
        * fast/xmlhttprequest/resources/xmlhttprequest-nonexistent-file-real.html: Ditto
        * platform/mac-wk2/TestExpectations: Re-enable test that now passes.

2014-05-22  Simon Fraser  <simon.fraser@apple.com>

        Fix the  compositing/transitions/transform-on-large-layer.html test
        https://bugs.webkit.org/show_bug.cgi?id=133195

        Reviewed by Dean Jackson.
        
        This test used window resize when it doesn't need to and was flakey.

        * compositing/transitions/transform-on-large-layer.html:
        * platform/efl/TestExpectations:
        * platform/mac/TestExpectations:

2014-05-22  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r155977): Very stuttery 3D css animation on jtechcommunications.com
        https://bugs.webkit.org/show_bug.cgi?id=133179
        <rdar://problem/16864666>

        Reviewed by Dean Jackson.
        
        Rebaseline.

        * compositing/contents-scale/animating-expected.txt:
        * compositing/contents-scale/rounded-contents-scale-expected.txt:
        * compositing/contents-scale/scaled-ancestor-expected.txt:
        * compositing/contents-scale/simple-scale-expected.txt:
        * compositing/contents-scale/z-translate-expected.txt:
        * platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/mac/compositing/visible-rect/nested-transform-expected.txt:

2014-05-22  Mark Lam  <mark.lam@apple.com>

        REGRESSION(r154797): Debugger crashes when stepping over an uncaught exception.
        <https://webkit.org/b/133182>

        Reviewed by Oliver Hunt.

        * inspector-protocol/debugger/regress-133182-expected.txt: Added.
        * inspector-protocol/debugger/regress-133182.html: Added.

2014-05-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Add test expectations for failing tests.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/editing/apply-style-iframe-crash-expected.txt: Added after r168641.

2014-05-22  Piotr Grad  <p.grad@samsung.com>

        Video is resumed with old playback rate.
        https://bugs.webkit.org/show_bug.cgi?id=132905

        Reviewed by Philippe Normand.

        * media/video-paused-0-rate-expected.txt: Added.
        * media/video-paused-0-rate.html: Added.

2014-05-22  Antti Koivisto  <antti@apple.com>

        Text markers don't paint on simple lines
        https://bugs.webkit.org/show_bug.cgi?id=133177

        Reviewed by Anders Carlsson.

        * fast/text/mark-matches-rendering-expected.html: Added.
        * fast/text/mark-matches-rendering-simple-lines-expected.html: Added.
        * fast/text/mark-matches-rendering-simple-lines.html: Added.
        * fast/text/mark-matches-rendering.html: Added.

2014-05-22  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Split the grid-item-margin-auto-columns-rows.html test.
        https://bugs.webkit.org/show_bug.cgi?id=131064

        Reviewed by Benjamin Poulain.

        Splitting the "grid-item-margin-auto-columns-rows" into different writing-modes
        related tests, so besides increasing clarity, it makes it fit in the 800x600 viewport.

        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-expected.html: Removed.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows.html: Removed.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr-expected.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl-expected.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr-expected.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl-expected.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html: Added.

2014-05-21  Antti Koivisto  <antti@apple.com>

        REGRESSION(r167870): Crash in simple line layout code with :after
        https://bugs.webkit.org/show_bug.cgi?id=133155

        Reviewed by Darin Adler.

        * fast/text/simple-lines-hover-after-expected.html: Added.
        * fast/text/simple-lines-hover-after.html: Added.

2014-05-21  Zalan Bujtas  <zalan@apple.com>

        Unreviewed Mac gardening after r169161.

        * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:

2014-05-20  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Actually enable snapshot tests on mac wk2.
        https://bugs.webkit.org/show_bug.cgi?id=131871

        * platform/mac-wk1/TestExpectations: Skip them here.
        * platform/mac/TestExpectations: Unskip them here.

        Some slight modifications to some of the tests to reduce flakiness of tests.
        * plugins/snapshotting/autoplay-dominant.html:
        * plugins/snapshotting/autoplay-plugin-blocked-by-image.html:
        * plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html:
        * plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html: 

2014-05-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Turn on ENABLE_CSS_FILTERS
        https://bugs.webkit.org/show_bug.cgi?id=133153

        Reviewed by Gyuyoung Kim.

        Remove failure test expectations for tests passing after turning on CSS_FILTERS.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:

2014-05-21  Zalan Bujtas  <zalan@apple.com>

        Unreviewed Mac gardening after r169161.

        * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:

2014-05-21  Filip Pizlo  <fpizlo@apple.com>

        Unreviewed, roll out http://trac.webkit.org/changeset/169159.
        
        This was a unilateral change and wasn't properly reviewed.

        * js/script-tests/function-apply-many-args.js:

2014-05-21  Antoine Quint  <graouts@webkit.org>

        Array.prototype.find and findIndex should skip holes
        https://bugs.webkit.org/show_bug.cgi?id=132658

        Reviewed by Geoffrey Garen.

        * js/array-find-expected.txt:
        * js/array-findIndex-expected.txt:
        * js/script-tests/array-find.js:
        * js/script-tests/array-findIndex.js:

2014-05-21  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r168046): Invalid layout in WebCore::RenderBox::containingBlockLogicalWidthForPositioned
        https://bugs.webkit.org/show_bug.cgi?id=132933

        Reviewed by Darin Adler.

        Added test for crash caused by invalid layout for RenderTableSection.

        * fast/multicol/newmulticol/table-section-crash-expected.txt: Added.
        * fast/multicol/newmulticol/table-section-crash.html: Added.

2014-05-21  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>

        REGRESSION(r169092 and r169102): Skip failing JSC tests on ARM64 properly
        https://bugs.webkit.org/show_bug.cgi?id=133149

        Reviewed by Csaba Osztrogonác.

        * js/script-tests/function-apply-many-args.js:

2014-05-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Rebaseline test expectations after r169048.

        * platform/efl/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/efl/css1/text_properties/text_indent-expected.txt:
        * platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
        * platform/efl/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/efl/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
        * platform/efl/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
        * platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
        * platform/efl/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
        * platform/efl/css2.1/t1601-c547-indent-00-b-a-expected.txt:
        * platform/efl/fast/block/float/026-expected.txt:
        * platform/efl/fast/block/float/028-expected.txt:
        * platform/efl/fast/css/empty-pseudo-class-expected.txt:
        * platform/efl/fast/css/first-child-pseudo-class-expected.txt:
        * platform/efl/fast/css/first-of-type-pseudo-class-expected.txt:
        * platform/efl/fast/css/last-child-pseudo-class-expected.txt:
        * platform/efl/fast/css/last-of-type-pseudo-class-expected.txt:
        * platform/efl/fast/css/only-child-pseudo-class-expected.txt:
        * platform/efl/fast/css/only-of-type-pseudo-class-expected.txt:
        * platform/efl/fast/line-grid/line-align-left-edges-expected.txt:
        * platform/efl/fast/multicol/column-count-with-rules-expected.txt:
        * platform/efl/fast/multicol/float-multicol-expected.txt:
        * platform/efl/fast/multicol/layers-in-multicol-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-1-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-10-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-2-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-3-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-4-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-5-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-6-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-7-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-8-expected.txt:
        * platform/efl/fast/repaint/line-flow-with-floats-9-expected.txt:
        * platform/efl/fast/text/whitespace/024-expected.txt:

2014-05-21  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening.

        * platform/efl/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
        Rebaseline after r169048.

2014-05-21  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening

        * platform/gtk/TestExpectations: Report and mark new tests failing.
        * platform/gtk/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
        Rebaseline after r169048.

2014-05-20  Daniel Bates  <dabates@apple.com>

        Element within flattened frame may update its scroll state during the layout phase of the wrong RenderView
        https://bugs.webkit.org/show_bug.cgi?id=133013
        <rdar://problem/16760154>

        Reviewed by David Hyatt.

        Added tests to ensure that that we update the scroll state of an element during the layout phase of its
        associated RenderView.

        * fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash-expected.txt: Added.
        * fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html: Added.
        * fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure-expected.txt: Added.
        * fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html: Added.

2014-05-19  Mark Hahnenberg  <mhahnenberg@apple.com>

        JSArray::shiftCountWith* could be more efficient
        https://bugs.webkit.org/show_bug.cgi?id=133011

        Reviewed by Geoffrey Garen.

        Added a performance regression test which tests the contiguous shift case. We're ~85% faster 
        on this microbenchmark with this patch.

        Also added a bunch of tests for each permutation of contiguous/array storage with no holes, holes,
        and holes that require special behavior (e.g. indexed properties in the prototype chain).

        * js/array-storage-splice-holes-expected.txt: Added.
        * js/array-storage-splice-holes-require-special-behavior-expected.txt: Added.
        * js/array-storage-splice-holes-require-special-behavior.html: Added.
        * js/array-storage-splice-holes.html: Added.
        * js/array-storage-splice-no-holes-expected.txt: Added.
        * js/array-storage-splice-no-holes.html: Added.
        * js/contiguous-splice-holes-expected.txt: Added.
        * js/contiguous-splice-holes-require-special-behavior-expected.txt: Added.
        * js/contiguous-splice-holes-require-special-behavior.html: Added.
        * js/contiguous-splice-holes.html: Added.
        * js/contiguous-splice-no-holes-expected.txt: Added.
        * js/contiguous-splice-no-holes.html: Added.
        * js/regress/array-splice-contiguous-expected.txt: Added.
        * js/regress/array-splice-contiguous.html: Added.
        * js/regress/script-tests/array-splice-contiguous.js: Added.
        (foo):
        * js/script-tests/array-storage-splice-holes-require-special-behavior.js: Added.
        * js/script-tests/array-storage-splice-holes.js: Added.
        * js/script-tests/array-storage-splice-no-holes.js: Added.
        * js/script-tests/contiguous-splice-holes-require-special-behavior.js: Added.
        * js/script-tests/contiguous-splice-holes.js: Added.
        * js/script-tests/contiguous-splice-no-holes.js: Added.

2014-05-20  Radu Stavila  <stavila@adobe.com>

        REGRESSION: [CSS Regions] Content flowed directly into the flow thread that ends up in the second region is not properly repainted
        https://bugs.webkit.org/show_bug.cgi?id=133111

        Reviewed by David Hyatt.

        Added test for the correct repaint of an element flowed directly into the second region of a flow thread.

        * fast/regions/hover-element-flowed-second-region-expected.html: Added.
        * fast/regions/hover-element-flowed-second-region.html: Added.

2014-05-20  Prashant Hiremath  <hiremathprashants@gmail.com>

        Only set title on SVG documents
        https://bugs.webkit.org/show_bug.cgi?id=133068

        Reviewed by Dirk Schulze.

        * svg/custom/html_document_set_title-expected.txt: Added.
        * svg/custom/html_document_set_title.html: Added.

2014-05-20  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION(r169105): fast/regions/cssom/region-range-for-box-crash.html is more crashy than before
        https://bugs.webkit.org/show_bug.cgi?id=133124

        * TestExpectations: Skip it.

2014-05-20  Anders Carlsson  <andersca@apple.com>

        Skip http/tests/inspector/replay/document-last-modified-fallback-value.html since it asserts.

        * TestExpectations:

2014-05-20  David Kilzer  <ddkilzer@apple.com>

        Make fast/dom/remove-element-with-{id|name}-that-was-inserted-on-DOMNodeRemoved.html reliable
        <http://webkit.org/b/133088>

        Reviewed by Alexey Proskuryakov.

        * fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html:
        * fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html:
        - Use waitUntilDone()/notifyDone() to make the tests reliable
          since they use setTimeout().

2014-05-20  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Block incorrectly sized when containing an unsplittable box
        https://bugs.webkit.org/show_bug.cgi?id=132601

        Reviewed by Antti Koivisto.

        Added tests for the layout of elements following inline-block elements 
        that overflow their region, with and without anonymous blocks.

        * fast/regions/inline-block-inside-anonymous-overflow-expected.html: Added.
        * fast/regions/inline-block-inside-anonymous-overflow.html: Added.
        * fast/regions/inline-block-overflow-expected.html: Added.
        * fast/regions/inline-block-overflow.html: Added.

2014-05-20  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Regions] Add polygon tests for shapes on regions and shapes on the content flow
        https://bugs.webkit.org/show_bug.cgi?id=133107

        Reviewed by Mihnea Ovidenie.

        * fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats-expected.html: Added.
        * fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats.html: Added.

2014-05-20  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Crash while painting block selection gaps in regions
        https://bugs.webkit.org/show_bug.cgi?id=132720

        Reviewed by David Hyatt.

        * TestExpectations: Unskip a test that was crashing
        * fast/regions/selection-gaps-paint-crash-expected.txt: Added.
        * fast/regions/selection-gaps-paint-crash.html: Added.

2014-05-20  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening

        Rebaseline affected tests by changes on integral snapping of inlines
        introduced at r169048.

        * platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/gtk/css1/text_properties/text_indent-expected.txt:
        * platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
        * platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/gtk/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
        * platform/gtk/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
        * platform/gtk/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
        * platform/gtk/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
        * platform/gtk/css2.1/t1601-c547-indent-00-b-a-expected.txt:
        * platform/gtk/fast/block/float/026-expected.txt:
        * platform/gtk/fast/block/float/028-expected.txt:
        * platform/gtk/fast/css/empty-pseudo-class-expected.txt:
        * platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
        * platform/gtk/fast/css/first-of-type-pseudo-class-expected.txt:
        * platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
        * platform/gtk/fast/css/last-of-type-pseudo-class-expected.txt:
        * platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
        * platform/gtk/fast/css/only-of-type-pseudo-class-expected.txt:
        * platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/gtk/fast/line-grid/line-align-left-edges-expected.txt:
        * platform/gtk/fast/multicol/column-count-with-rules-expected.txt:
        * platform/gtk/fast/multicol/float-multicol-expected.txt:
        * platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
        * platform/gtk/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt:
        * platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt:
        * platform/gtk/fast/text/whitespace/024-expected.txt:
        * platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:

2014-05-19  Filip Pizlo  <fpizlo@apple.com>

        Test gardening: skip some failing tests on not-X86.

        * js/script-tests/function-apply-many-args.js:

2014-05-19  Chris Fleizach  <cfleizach@apple.com>

        AX: VoiceOver sees the WebArea out of order when topContentInset is used
        https://bugs.webkit.org/show_bug.cgi?id=133091

        Unreviewed. 
        Make the layout test more resilient to platform differences in frame positions.

        * platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt:
        * platform/mac-wk2/accessibility/content-inset-scrollview-frame.html:

2014-05-19  Myles C. Maxfield  <litherum@gmail.com>

        Text decorations do not contribute to visual overflow
        https://bugs.webkit.org/show_bug.cgi?id=132773

        Reviewed by Antti Koivisto.

        This first test makes sure that repaint rects are extended to include text decorations that may
        lie outside of the text layout rects. It compares text with an underline to text that has
        had underline applied to it in a timer.

        The second test triggers an off-by-one error in collapsed table borders where a border was not
        being drawn if it lay right on top of a repaint rect.

        * fast/css3-text/css3-text-decoration/repaint/resources/Litherum.svg: Added. This font has a
        descent of 0 (so it will not intersect underlines).
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-expected.html: Added.
        Apply the underline without any timeout.
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html: Added.
        Apply the underline with a timeout.
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed-expected.html: Added.
        Draw text without decorations.
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed.html: Added.
        Draw text with decorations which contribute to overflow, then remove those decorations on a timer.
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered-expected.html: Added.
        Draw text as if the final state of the decorations had always existed.
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered.html: Added.
        Make sure that modifying decorations that contribute to overflow redraw properly.
        * fast/repaint/border-collapse-table-off-by-one-expected.html: Added.
        * fast/repaint/border-collapse-table-off-by-one.html: Added. Trigger the off-by-one error in
        RenderTableSection.cpp

2014-05-19  Chris Fleizach  <cfleizach@apple.com>

        AX: VoiceOver sees the WebArea out of order when topContentInset is used
        https://bugs.webkit.org/show_bug.cgi?id=133091

        Reviewed by Simon Fraser.

        * platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt: Added.
        * platform/mac-wk2/accessibility/content-inset-scrollview-frame.html: Added.

2014-05-19  Simon Fraser  <simon.fraser@apple.com>

        Split scrolling tree ScrollingNodes into FrameScrollingNodes and OverflowScrollingNodes
        https://bugs.webkit.org/show_bug.cgi?id=133022

        Reviewed by Sam Weinig.
        
        Updated for new node name. No geometry changes.

        * platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt:
        * platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
        * platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt:

2014-05-19  Zalan Bujtas  <zalan@apple.com>

        Fix Element.offset* and .client* rounding mismatches after r168868.
        https://bugs.webkit.org/show_bug.cgi?id=133076
        
        Unreviewed gardening.

        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:

2014-05-19  Simon Fraser  <simon.fraser@apple.com>

        Images missing sometimes with composited clipping layers
        https://bugs.webkit.org/show_bug.cgi?id=133065
        <rdar://problem/15224559>

        Reviewed by Beth Dakin.

        * compositing/backing/solid-color-with-paints-into-ancestor-expected.html: Added.
        * compositing/backing/solid-color-with-paints-into-ancestor.html: Added.

2014-05-19  Jono Wells  <jonowells@apple.com>

        Script include paths for js-test-pre.js and js-test-post.js were incorrect.
        https://bugs.webkit.org/show_bug.cgi?id=133072

        Reviewed by Andy Estes.

        * http/tests/navigation/forward-to-fragment-fires-onload.html: Fixed script includes.

2014-05-19  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r133351, sub-pixel layout): Right-to-left block with text-overflow: ellipsis truncates prematurely (breaks facebook.com Hebrew UI)
        https://bugs.webkit.org/show_bug.cgi?id=112227

        Reviewed by Maciej Stachowiak.

        This patch removes unnecessary integral snapping of inlines at layout time.

        1px off differences and rounding expected results to match new behavior. -rebaselining.

        * fast/frames/hidpi-position-iframe-on-device-pixel-expected.html: Added.
        * fast/frames/hidpi-position-iframe-on-device-pixel.html: Added.
        * fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off-expected.html: Added.
        * fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html:
        * fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html:
        * fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html:
        * fast/shapes/shape-outside-floats/shape-outside-rounded-inset-expected.html:
        * platform/mac/TestExpectations:
        * platform/mac/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/mac/css1/text_properties/text_indent-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/mac/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
        * platform/mac/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
        * platform/mac/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
        * platform/mac/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
        * platform/mac/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/mac/editing/selection/caret-ltr-2-expected.txt:
        * platform/mac/editing/selection/caret-ltr-2-left-expected.txt:
        * platform/mac/editing/selection/caret-rtl-expected.txt:
        * platform/mac/editing/selection/caret-rtl-right-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
        * platform/mac/fast/block/float/026-expected.txt:
        * platform/mac/fast/block/float/028-expected.txt:
        * platform/mac/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
        * platform/mac/fast/css/empty-pseudo-class-expected.txt:
        * platform/mac/fast/css/first-child-pseudo-class-expected.txt:
        * platform/mac/fast/css/first-of-type-pseudo-class-expected.txt:
        * platform/mac/fast/css/last-child-pseudo-class-expected.txt:
        * platform/mac/fast/css/last-of-type-pseudo-class-expected.txt:
        * platform/mac/fast/css/only-child-pseudo-class-expected.txt:
        * platform/mac/fast/css/only-of-type-pseudo-class-expected.txt:
        * platform/mac/fast/css/text-overflow-input-expected.txt:
        * platform/mac/fast/forms/file/file-input-direction-expected.txt:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/mac/fast/forms/number/number-appearance-rtl-expected.txt:
        * platform/mac/fast/forms/placeholder-position-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/line-grid/line-align-left-edges-expected.txt:
        * platform/mac/fast/lists/008-expected.txt:
        * platform/mac/fast/lists/008-vertical-expected.txt:
        * platform/mac/fast/multicol/column-count-with-rules-expected.txt:
        * platform/mac/fast/multicol/float-multicol-expected.txt:
        * platform/mac/fast/multicol/layers-in-multicol-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
        * platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt:
        * platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
        * platform/mac/fast/text/script-tests/ligature-subdivision.js:
        * platform/mac/fast/text/vertical-rl-rtl-linebreak-expected.txt:
        * platform/mac/fast/text/whitespace/024-expected.txt:
        * platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
        * platform/mac/fast/text/word-break-run-rounding-expected.txt:
        * platform/mac/svg/wicd/rightsizing-grid-expected.txt:

2014-05-19  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed gardening, try to unbreak Mac buildbots and EWS bots after r169023.

        * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2014-05-18  Svetlana Redchenko  <redchenko@yandex-team.ru>

        Input ::selection pseudo class does not work leading to hidden selection
        https://bugs.webkit.org/show_bug.cgi?id=38943
        
        Reviewed by Darin Adler.

        * fast/selectors/input-with-selection-pseudo-element-expected.html: Added.
        * fast/selectors/input-with-selection-pseudo-element.html: Added.

2014-05-18  Maciej Stachowiak  <mjs@apple.com>

        REGRESSION (r156546): Default media controls are laid out incorrectly when media element is styled with direction:rtl
        https://bugs.webkit.org/show_bug.cgi?id=132531
        <rdar://problem/16806267>

        Reviewed by Mark Rowe.

        * platform/mac/TestExpectations: Unskip media/video-rtl.html

2014-05-18  Rik Cabanier  <cabanier@adobe.com>

        support for navigator.hardwareConcurrency
        https://bugs.webkit.org/show_bug.cgi?id=132588

        Reviewed by Filip Pizlo.

        * fast/dom/navigator-detached-no-crash-expected.txt:
        * fast/dom/navigator-hardwareConcurrency-expected.txt: Added.
        * fast/dom/navigator-hardwareConcurrency.html: Added.

2014-05-18  Antti Koivisto  <antti@apple.com>

        REGRESSION (r160259): text-combine glyphs are not rendered
        https://bugs.webkit.org/show_bug.cgi?id=127324

        Reviewed by Andreas Kling.

        * fast/text/text-combine-rendering-expected.html: Added.
        * fast/text/text-combine-rendering.html: Added.

2014-05-17  Maciej Stachowiak  <mjs@apple.com>

        Don't attempt to update id or name for nodes that are already removed
        https://bugs.webkit.org/show_bug.cgi?id=133041

        Reviewed by Sam Weinig.
        
        Test originally by Dan Bates.

        * fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
        * fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html: Added.
        * fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
        * fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html: Added.

2014-05-17  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (NetworkProcess): Trying to use appcache fallback crashes in ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
        https://bugs.webkit.org/show_bug.cgi?id=133007
        <rdar://problem/13702706>

        appcache tests often fail on the Mac WebKit2 bot
        https://bugs.webkit.org/show_bug.cgi?id=82061

        Reviewed by Maciej Stachowiak.

        * platform/mac-wk2/TestExpectations: Let's enable all the appcache tests (except
        for a couple that fail), and see what happens on bots. I don't see any reason
        why WebKit2 would be any more flaky than WebKit1 here.

2014-05-17  Piotr Grad  <p.grad@samsung.com>

        Setting playback rate on video with media controller is not ignored.
        https://bugs.webkit.org/show_bug.cgi?id=129048

        Reviewed by Jer Noble.

        * media/video-controller-child-rate-expected.txt: Added.
        * media/video-controller-child-rate.html: Added.

2014-05-16  Simon Fraser  <simon.fraser@apple.com>

        Fix a straggler.

        Remove call to internals.settings.setRegionBasedColumnsEnabled(true).

        * fast/repaint/spanner-with-margin.html:

2014-05-16  Simon Fraser  <simon.fraser@apple.com>

        Remove calls to internals.settings.setRegionBasedColumnsEnabled(true);
        in tests.
        
        Some of these tests may now be no-ops, but I haven't found a convenient
        way to know which ones.

        * fast/multicol/break-in-columns-before-spanner-expected.html:
        * fast/multicol/break-in-columns-before-spanner.html:
        * fast/multicol/break-in-scrollable-expected.html:
        * fast/multicol/break-in-scrollable.html:
        * fast/multicol/client-rects-spanners-complex.html:
        * fast/multicol/client-rects-spanners.html:
        * fast/multicol/inline-children-crash.html:
        * fast/multicol/mixed-opacity-fixed-test.html:
        * fast/multicol/mixed-opacity-test.html:
        * fast/multicol/mixed-positioning-stacking-order.html:
        * fast/multicol/multicol-li-crash.html:
        * fast/multicol/newmulticol/adjacent-spanners.html:
        * fast/multicol/newmulticol/avoid-column-break-inside.html:
        * fast/multicol/newmulticol/balance-images.html:
        * fast/multicol/newmulticol/balance-maxheight1.html:
        * fast/multicol/newmulticol/balance-maxheight2.html:
        * fast/multicol/newmulticol/balance1.html:
        * fast/multicol/newmulticol/balance10.html:
        * fast/multicol/newmulticol/balance2.html:
        * fast/multicol/newmulticol/balance3.html:
        * fast/multicol/newmulticol/balance4.html:
        * fast/multicol/newmulticol/balance5.html:
        * fast/multicol/newmulticol/balance6.html:
        * fast/multicol/newmulticol/balance7.html:
        * fast/multicol/newmulticol/balance8.html:
        * fast/multicol/newmulticol/balance9.html:
        * fast/multicol/newmulticol/block-becomes-spanner-expected.html:
        * fast/multicol/newmulticol/block-becomes-spanner.html:
        * fast/multicol/newmulticol/break-after-expected.html:
        * fast/multicol/newmulticol/break-after.html:
        * fast/multicol/newmulticol/break-before.html:
        * fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html:
        * fast/multicol/newmulticol/breaks-2-columns-3.html:
        * fast/multicol/newmulticol/breaks-3-columns-3.html:
        * fast/multicol/newmulticol/cell-shrinkback.html:
        * fast/multicol/newmulticol/change-spanner-display-expected.html:
        * fast/multicol/newmulticol/change-spanner-display.html:
        * fast/multicol/newmulticol/change-spanner-parent-display-expected.html:
        * fast/multicol/newmulticol/change-spanner-parent-display.html:
        * fast/multicol/newmulticol/client-rects.html:
        * fast/multicol/newmulticol/clipping-expected.html:
        * fast/multicol/newmulticol/clipping-overflow-hidden-expected.html:
        * fast/multicol/newmulticol/clipping-overflow-hidden.html:
        * fast/multicol/newmulticol/clipping-top-overflow-expected.html:
        * fast/multicol/newmulticol/clipping-top-overflow.html:
        * fast/multicol/newmulticol/clipping.html:
        * fast/multicol/newmulticol/column-rules-fixed-height.html:
        * fast/multicol/newmulticol/columns-shorthand-parsing.html:
        * fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html:
        * fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb.html:
        * fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block.html:
        * fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html:
        * fast/multicol/newmulticol/compare-with-old-impl/clone-summary.html:
        * fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html:
        * fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box.html:
        * fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html:
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html:
        * fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html:
        * fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html:
        * fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html:
        * fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html:
        * fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child.html:
        * fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html:
        * fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html:
        * fast/multicol/newmulticol/direct-child-column-span-all.html:
        * fast/multicol/newmulticol/fixed-height-fill-auto-expected.html:
        * fast/multicol/newmulticol/fixed-height-fill-auto.html:
        * fast/multicol/newmulticol/fixed-height-fill-balance-2.html:
        * fast/multicol/newmulticol/fixed-height-fill-balance-expected.html:
        * fast/multicol/newmulticol/fixed-height-fill-balance.html:
        * fast/multicol/newmulticol/float-avoidance.html:
        * fast/multicol/newmulticol/float-multicol.html:
        * fast/multicol/newmulticol/float-paginate-complex.html:
        * fast/multicol/newmulticol/float-paginate-empty-lines.html:
        * fast/multicol/newmulticol/float-paginate.html:
        * fast/multicol/newmulticol/hide-box-horizontal-bt-expected.html:
        * fast/multicol/newmulticol/hide-box-horizontal-bt.html:
        * fast/multicol/newmulticol/hide-box-vertical-lr-expected.html:
        * fast/multicol/newmulticol/hide-box-vertical-lr.html:
        * fast/multicol/newmulticol/hide-box-vertical-rl-expected.html:
        * fast/multicol/newmulticol/hide-box-vertical-rl.html:
        * fast/multicol/newmulticol/insert-row-content1-expected.html:
        * fast/multicol/newmulticol/insert-row-content1.html:
        * fast/multicol/newmulticol/insert-row-content2-expected.html:
        * fast/multicol/newmulticol/insert-row-content2.html:
        * fast/multicol/newmulticol/insert-row-content3-expected.html:
        * fast/multicol/newmulticol/insert-row-content3.html:
        * fast/multicol/newmulticol/insert-row-content4-expected.html:
        * fast/multicol/newmulticol/insert-row-content4.html:
        * fast/multicol/newmulticol/insert-row-content5-expected.html:
        * fast/multicol/newmulticol/insert-row-content5.html:
        * fast/multicol/newmulticol/insert-row-content6-expected.html:
        * fast/multicol/newmulticol/insert-row-content6.html:
        * fast/multicol/newmulticol/insert-row-content7-expected.html:
        * fast/multicol/newmulticol/insert-row-content7.html:
        * fast/multicol/newmulticol/insert-row-content8-expected.html:
        * fast/multicol/newmulticol/insert-row-content8.html:
        * fast/multicol/newmulticol/insert-row-content9-expected.html:
        * fast/multicol/newmulticol/insert-row-content9.html:
        * fast/multicol/newmulticol/insert-spanner-child1-expected.html:
        * fast/multicol/newmulticol/insert-spanner-child1.html:
        * fast/multicol/newmulticol/insert-spanner-child2-expected.html:
        * fast/multicol/newmulticol/insert-spanner-child2.html:
        * fast/multicol/newmulticol/insert-spanner-child3-expected.html:
        * fast/multicol/newmulticol/insert-spanner-child3.html:
        * fast/multicol/newmulticol/insert-spanner1-expected.html:
        * fast/multicol/newmulticol/insert-spanner1.html:
        * fast/multicol/newmulticol/insert-spanner2-expected.html:
        * fast/multicol/newmulticol/insert-spanner2.html:
        * fast/multicol/newmulticol/insert-spanner3-expected.html:
        * fast/multicol/newmulticol/insert-spanner3.html:
        * fast/multicol/newmulticol/insert-spanner4-expected.html:
        * fast/multicol/newmulticol/insert-spanner4.html:
        * fast/multicol/newmulticol/insert-spanner5-expected.html:
        * fast/multicol/newmulticol/insert-spanner5.html:
        * fast/multicol/newmulticol/insert-spanner6-expected.html:
        * fast/multicol/newmulticol/insert-spanner6.html:
        * fast/multicol/newmulticol/insert-spanner7-expected.html:
        * fast/multicol/newmulticol/insert-spanner7.html:
        * fast/multicol/newmulticol/insert-spanner8-expected.html:
        * fast/multicol/newmulticol/insert-spanner8.html:
        * fast/multicol/newmulticol/layers-in-multicol.html:
        * fast/multicol/newmulticol/layers-split-across-columns.html:
        * fast/multicol/newmulticol/leading-and-trailing-margin-expected.html:
        * fast/multicol/newmulticol/leading-and-trailing-margin.html:
        * fast/multicol/newmulticol/leading-margin.html:
        * fast/multicol/newmulticol/line-grid-inside-columns.html:
        * fast/multicol/newmulticol/line-grid-into-columns.html:
        * fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block.html:
        * fast/multicol/newmulticol/orphans-and-widows-balance.html:
        * fast/multicol/newmulticol/positioned-split.html:
        * fast/multicol/newmulticol/positioned-with-constrained-height.html:
        * fast/multicol/newmulticol/progression-reverse-overflow.html:
        * fast/multicol/newmulticol/progression-reverse.html:
        * fast/multicol/newmulticol/remove-row-content1-expected.html:
        * fast/multicol/newmulticol/remove-row-content1.html:
        * fast/multicol/newmulticol/remove-row-content2-expected.html:
        * fast/multicol/newmulticol/remove-row-content2.html:
        * fast/multicol/newmulticol/remove-row-content3-expected.html:
        * fast/multicol/newmulticol/remove-row-content3.html:
        * fast/multicol/newmulticol/remove-row-content4-expected.html:
        * fast/multicol/newmulticol/remove-row-content4.html:
        * fast/multicol/newmulticol/remove-row-content5-expected.html:
        * fast/multicol/newmulticol/remove-row-content5.html:
        * fast/multicol/newmulticol/remove-row-content6-expected.html:
        * fast/multicol/newmulticol/remove-row-content6.html:
        * fast/multicol/newmulticol/remove-row-content7-expected.html:
        * fast/multicol/newmulticol/remove-row-content7.html:
        * fast/multicol/newmulticol/remove-row-content8-expected.html:
        * fast/multicol/newmulticol/remove-row-content8.html:
        * fast/multicol/newmulticol/remove-row-content9-expected.html:
        * fast/multicol/newmulticol/remove-row-content9.html:
        * fast/multicol/newmulticol/remove-spanner1-expected.html:
        * fast/multicol/newmulticol/remove-spanner1.html:
        * fast/multicol/newmulticol/remove-spanner2-expected.html:
        * fast/multicol/newmulticol/remove-spanner2.html:
        * fast/multicol/newmulticol/remove-spanner3-expected.html:
        * fast/multicol/newmulticol/remove-spanner3.html:
        * fast/multicol/newmulticol/remove-spanner4-expected.html:
        * fast/multicol/newmulticol/remove-spanner4.html:
        * fast/multicol/newmulticol/remove-spanner5-expected.html:
        * fast/multicol/newmulticol/remove-spanner5.html:
        * fast/multicol/newmulticol/remove-spanner6-expected.html:
        * fast/multicol/newmulticol/remove-spanner6.html:
        * fast/multicol/newmulticol/single-line.html:
        * fast/multicol/newmulticol/sole-spanner.html:
        * fast/multicol/newmulticol/span-between-text-expected.html:
        * fast/multicol/newmulticol/span-between-text.html:
        * fast/multicol/newmulticol/spanner-becomes-regular-block-expected.html:
        * fast/multicol/newmulticol/spanner-becomes-regular-block.html:
        * fast/multicol/newmulticol/spanner-first-expected.html:
        * fast/multicol/newmulticol/spanner-first.html:
        * fast/multicol/newmulticol/spanner-img-expected.html:
        * fast/multicol/newmulticol/spanner-img.html:
        * fast/multicol/newmulticol/spanner-inline-block-expected.html:
        * fast/multicol/newmulticol/spanner-inline-block.html:
        * fast/multicol/newmulticol/spanner-last-expected.html:
        * fast/multicol/newmulticol/spanner-last.html:
        * fast/multicol/newmulticol/spanner-nested-dynamic-expected.html:
        * fast/multicol/newmulticol/spanner-nested-dynamic.html:
        * fast/multicol/newmulticol/spanner-nested-expected.html:
        * fast/multicol/newmulticol/spanner-nested.html:
        * fast/multicol/newmulticol/spanner-pseudo-after1-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-after1.html:
        * fast/multicol/newmulticol/spanner-pseudo-after2-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-after2.html:
        * fast/multicol/newmulticol/spanner-pseudo-after3-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-after3.html:
        * fast/multicol/newmulticol/spanner-pseudo-after4-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-after4.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after1-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after1.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after2-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after2.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after3-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after3.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after4-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before-after4.html:
        * fast/multicol/newmulticol/spanner-pseudo-before1-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before1.html:
        * fast/multicol/newmulticol/spanner-pseudo-before2-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before2.html:
        * fast/multicol/newmulticol/spanner-pseudo-before3-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before3.html:
        * fast/multicol/newmulticol/spanner-pseudo-before4-expected.html:
        * fast/multicol/newmulticol/spanner-pseudo-before4.html:
        * fast/multicol/newmulticol/spanner-table-expected.html:
        * fast/multicol/newmulticol/spanner-table.html:
        * fast/multicol/newmulticol/spanner-with-margin-expected.html:
        * fast/multicol/newmulticol/spanner-with-margin.html:
        * fast/multicol/newmulticol/spanner1-expected.html:
        * fast/multicol/newmulticol/spanner1.html:
        * fast/multicol/newmulticol/spanner2-expected.html:
        * fast/multicol/newmulticol/spanner2.html:
        * fast/multicol/newmulticol/spanner3-expected.html:
        * fast/multicol/newmulticol/spanner3.html:
        * fast/multicol/newmulticol/spanner4-expected.html:
        * fast/multicol/newmulticol/spanner4.html:
        * fast/multicol/newmulticol/spanner5-expected.html:
        * fast/multicol/newmulticol/spanner5.html:
        * fast/multicol/newmulticol/spanner6-expected.html:
        * fast/multicol/newmulticol/spanner6.html:
        * fast/multicol/newmulticol/spanner7-expected.html:
        * fast/multicol/newmulticol/spanner7.html:
        * fast/multicol/newmulticol/spanner8-expected.html:
        * fast/multicol/newmulticol/spanner8.html:
        * fast/multicol/newmulticol/spanner9-expected.html:
        * fast/multicol/newmulticol/spanner9.html:
        * fast/multicol/newmulticol/trailing-margin-with-spanner-expected.html:
        * fast/multicol/newmulticol/trailing-margin-with-spanner.html:
        * fast/multicol/newmulticol/trailing-margin-with-spanner2-expected.html:
        * fast/multicol/newmulticol/trailing-margin-with-spanner2.html:
        * fast/multicol/newmulticol/unresolvable-percent-height-2.html:
        * fast/multicol/newmulticol/unresolvable-percent-height.html:
        * fast/multicol/newmulticol/unresolvable-percent-max-height-2.html:
        * fast/multicol/newmulticol/unresolvable-percent-max-height.html:
        * fast/multicol/offset-top-left.html:
        * fast/multicol/percent-height.html:
        * fast/multicol/positioned-outside-of-columns.html:
        * fast/multicol/scrolling-column-rules.html:
        * fast/multicol/tall-float-expected.html:
        * fast/multicol/tall-float.html:
        * fast/multicol/transform-inside-opacity.html:
        * fast/multicol/zoom-test-expected.html:
        * fast/multicol/zoom-test.html:

2014-05-16  Jer Noble  <jer.noble@apple.com>

        [Mac] naturalSize not updated when preload=metadata
        https://bugs.webkit.org/show_bug.cgi?id=132994

        Reviewed by Eric Carlson.

        * media/video-load-preload-metadata-naturalsize-expected.txt: Added.
        * media/video-load-preload-metadata-naturalsize.html: Added.

2014-05-16  Enrique Ocaña González  <eocanha@igalia.com>

        Unreviewed GTK gardening.

        Added some flaky tests to TestExpectations.

        * platform/gtk/TestExpectations:

2014-05-16  Piotr Grad  <p.grad@samsung.com>

        [Gtk] media/media-blocked-by-beforeload.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=89811

        Reviewed by Eric Carlson.

        Problem is that we cannot predict when 'error' event would be called,
        because is called async on 'source' element. Solution is to not log
        'loadedmetadata' and 'loadstart' events.

        * media/media-blocked-by-beforeload-expected.txt:
        * media/media-blocked-by-beforeload.html:

2014-05-16  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Push named flows in region to device pixel when painting.
        https://bugs.webkit.org/show_bug.cgi?id=132986

        Reviewed by Simon Fraser.

        Remove integral rounding when named flow sets the painting offset on the graphics context.
        Use device pixel snapping instead to ensure that we can paint on odd device pixel positions on retina displays. 

        * fast/regions/hidpi-region-with-auto-margin-on-subpixel-position-expected.html: Added.
        * fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html: Added.

2014-05-16  Kiran  <kiran.guduru@samsung.com>

        RTCDtmfSender default values need to be updated.
        https://bugs.webkit.org/show_bug.cgi?id=132952

        Reviewed by Eric Carlson.

        Added checks to test default, min value interToneGap
        and duration and max value for duration.
        (Spec does not specify any max value for inTertoneGap)

        * fast/mediastream/RTCPeerConnection-dtmf.html:

2014-05-15  Daniel Bates  <dabates@apple.com>

        ASSERT_NOT_REACHED() in DocumentOrderedMap::get() when removing SVG subtree
        https://bugs.webkit.org/show_bug.cgi?id=132669
        <rdar://problem/14931432>

        Reviewed by Brent Fulgham and Ryosuke Niwa.

        Add tests to ensure that we don't cause an assertion failure when removing an SVG element with a duplicate id.

        * svg/custom/change-id-of-use-during-removal-expected.txt: Added.
        * svg/custom/change-id-of-use-during-removal.html: Added.
        * svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath-expected.txt: Added.
        * svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html: Added.
        * svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref-expected.txt: Added.
        * svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree-expected.txt: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree-expected.html: Added.
        * svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html: Added.
        * svg/custom/remove-use-with-duplicate-id-referenced-by-later-use-expected.html: Added.
        * svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html: Added.

2014-05-15  Daniel Bates  <dabates@apple.com>

        SVG element may reference arbitrary DOM element before running its insertion logic
        https://bugs.webkit.org/show_bug.cgi?id=132757
        <rdar://problem/15703817>

        Reviewed by Ryosuke Niwa.

        Add tests to ensure that we don't cause an assertion failure when re-parenting an SVG subtree that
        contains an element with a duplicate id.

        * svg/custom/reparent-animate-element-expected.txt: Added.
        * svg/custom/reparent-animate-element.html: Added.
        * svg/custom/reparent-feimage-element-expected.txt: Added.
        * svg/custom/reparent-feimage-element.html: Added.
        * svg/custom/reparent-mpath-element-expected.txt: Added.
        * svg/custom/reparent-mpath-element.html: Added.
        * svg/custom/reparent-textpath-element-expected.txt: Added.
        * svg/custom/reparent-textpath-element.html: Added.
        * svg/custom/reparent-tref-element-expected.txt: Added.
        * svg/custom/reparent-tref-element.html: Added.
        * svg/custom/reparent-use-element-expected.txt: Added.
        * svg/custom/reparent-use-element.html: Added.

2014-05-15  Mark Hahnenberg  <mhahnenberg@apple.com>

        JSDOMWindow should not claim HasImpureGetOwnPropertySlot
        https://bugs.webkit.org/show_bug.cgi?id=132918

        Reviewed by Geoffrey Garen.

        We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the 
        blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding
        any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow 
        us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used 
        across the web.

        These tests trigger inline caching of window and window prototype properties.

        * js/cached-window-properties-expected.txt: Added.
        * js/cached-window-properties.html: Added.
        * js/cached-window-prototype-properties-expected.txt: Added.
        * js/cached-window-prototype-properties.html: Added.

2014-05-15  Alexey Proskuryakov  <ap@apple.com>

        Automatically zip document bundles used via File API
        https://bugs.webkit.org/show_bug.cgi?id=132713
        <rdar://problem/13397892>

        Actually land the tests.

        * fast/files/filereader-zip-bundle-expected.txt: Added.
        * fast/files/filereader-zip-bundle.html: Added.
        * fast/files/resources/document.rtfd: Added.
        * fast/files/resources/document.rtfd/TXT.rtf: Added.
        * http/tests/local/fileapi/resources/document.rtfd: Added.
        * http/tests/local/fileapi/resources/document.rtfd/TXT.rtf: Added.
        * http/tests/local/fileapi/upload-zip-bundle-as-blob-expected.txt: Added.
        * http/tests/local/fileapi/upload-zip-bundle-as-blob.html: Added.
        * platform/wk2/TestExpectations:

2014-05-15  Mark Hahnenberg  <mhahnenberg@apple.com>

        Move subframe name getter lookup later in JSDOMWindow::getOwnPropertySlot
        https://bugs.webkit.org/show_bug.cgi?id=132922

        Reviewed by Geoffrey Garen.

        In JSDOMWindow::getOwnPropertySlot, we currently look for the property on the JSDOMWindow, 
        then we search the window's subframes for name getters, then we look in the window's prototype 
        chain. Apparently we were doing the lookup in this order to be compatible with Mozilla, but 
        Mozilla no longer implements this behavior. Instead, they do the lookup on the prototype before 
        looking for subframe name getters. We should change this to match Mozilla. This has the convenient 
        side effect of allowing us to cache lookups in the window's prototype chain.

        * fast/dom/Window/window-function-frame-getter-precedence-expected.txt: Rebaseline to account
        for change in behavior.
        * fast/dom/Window/window-function-frame-getter-precedence.html:
        * http/tests/security/document-all-expected.txt: Rebaseline due to the presenece of a security check
        that was previously not done with the old behavior.
        * http/tests/security/window-named-proto-expected.txt: Ditto.
        * http/tests/security/window-named-valueOf-expected.txt: Ditto.
        * http/tests/security/xss-DENIED-window-name-alert.html: Changed test so it actually tests named getters.

2014-05-15  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r168893.
        https://bugs.webkit.org/show_bug.cgi?id=132957

        Lots of media tests still come to crash on EFL layout test
        (Requested by gyuyoung on #webkit).

        Reverted changeset:

        "LayoutTests: Unreviewed EFL gardening. Unskip media test both
        EFL WK1 and WK2."
        http://trac.webkit.org/changeset/168893

2014-05-15  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Add new test expectations after r168544
        https://bugs.webkit.org/show_bug.cgi?id=132908

        Unreviewed gardening

        * platform/efl/TestExpectations:
        * platform/efl/svg/foreignObject/svg-document-in-html-document-expected.txt:
        * platform/efl/svg/text/small-fonts-in-html5-expected.txt:
        * platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.
        * platform/efl/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.

2014-05-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        LayoutTests: Unreviewed EFL gardening. Unskip media test both EFL WK1 and WK2.
        Crash doesn't happen anymore.

        * platform/efl/TestExpectations:

2014-05-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r168750.
        https://bugs.webkit.org/show_bug.cgi?id=132935

        Caused repaint bugs (Requested by weinig on #webkit).

        Reverted changeset:

        "Text decorations do not contribute to visual overflow"
        https://bugs.webkit.org/show_bug.cgi?id=132773
        http://trac.webkit.org/changeset/168750

2014-05-14  Zalan Bujtas  <zalan@apple.com>

        Subpixel layout: Change Element.offset* client* scroll* return type to double.
        https://bugs.webkit.org/show_bug.cgi?id=132895

        Reviewed by Simon Fraser.

        Some test cases expect integral values, so the test content is updated accordingly.
        It mostly means adding Math.round() before comparing values in order to match pixelSnappedIntRect()
        functionality.

        * css3/calc/simple-calcs-prefixed.html: changed file format from Windows to Unix.
        * css3/calc/simple-calcs.html: changed file format from Windows to Unix.
        * cssom/subpixel-offsetleft-top-width-height-values-expected.txt: Added.
        * cssom/subpixel-offsetleft-top-width-height-values.html: Added.
        * editing/selection/drag-start-event-client-x-y.html: use floor as we compare the return value to a truncated integer.
        * editing/selection/mixed-editability-10.html:
        * fast/css/zoom-in-length-round-trip.html:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        * fast/forms/basic-buttons.html:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/mac/fast/scrolling/scroll-div-latched-div.html:
        * platform/mac/fast/scrolling/scroll-div-latched-mainframe.html:
        * platform/mac/fast/scrolling/scroll-select-bottom-test.html:
        * platform/mac/fast/scrolling/scroll-select-latched-mainframe.html:
        * platform/mac/fast/scrolling/scroll-select-latched-select.html:
        * resources/check-layout.js:

2014-05-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Report and mark new tests failing.
        * platform/gtk/editing/apply-style-iframe-crash-expected.txt: Added.
        Rebaseline after r168641.
        * platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
        Rebaseline after r168543.
        * platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
        Rebaseline after r168543.
        * platform/gtk/svg/hixie/mixed/010-expected.txt: Rebaseline after r168674.
        * platform/gtk/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.
        Rebaseline after r168350.
        * platform/gtk/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
        Rebaseline after r168674.

2014-05-14  Zalan Bujtas  <zalan@apple.com>

        Fix line ending style for the test.

        * editing/selection/drag-start-event-client-x-y.html:

2014-05-13  Jon Honeycutt  <jhoneycutt@apple.com>

        Revert "Don't dispatch 'beforeload' event inside FrameView::layout()",
        commit 84fe8cf6fbe8b5de9a06300ca3ef6d0ffc96948c, and associated
        follow-up fixes:

            "platform/mac/plugins/testplugin-onnew-onpaint.html failing after
                r168668", commit c17be3bf5127baf94310af4b4b9bf5a57d29aaf4
            "[Win] Unreviewed build fix after r168668.", commit
                4fa470ad12c38ee7d4c114541b6dd321181a8bc9

        The original merged patch appears to have caused a regression in
        fast/dom/HTMLObjectElement/object-as-frame.html.

        <https://bugs.webkit.org/show_bug.cgi?id=132886>

        Reviewed by Alexey Proskuryakov.

        * compositing/plugins/composited-plugin.html:
        * compositing/plugins/no-backing-store.html:
        * fast/dom/beforeload/flash-before-load.html:
        * fast/events/beforeload-assertion-expected.txt: Removed.
        * fast/events/beforeload-assertion.html: Removed.
        * fast/events/beforeload-iframe-crash-expected.txt: Removed.
        * fast/events/beforeload-iframe-crash.html: Removed.
        * fast/events/beforeload-input-time-crash-expected.txt: Removed.
        * fast/events/beforeload-input-time-crash.html: Removed.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
        * http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
        * http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
        * http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
        (testImpl.iframe.onload):
        (testImpl):
        * http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
        * platform/mac/plugins/supports-carbon-event-model.html:
        * platform/mac/plugins/testplugin-onnew-onpaint.html:
        * plugins/get-user-agent-with-null-npp-from-npp-new.html:
        * plugins/mouse-click-plugin-clears-selection.html:
        * plugins/netscape-plugin-map-data-to-src.html:
        * plugins/no-mime-with-valid-extension.html:
        * plugins/plugin-initiate-popup-window.html:
        * plugins/windowless_plugin_paint_test.html:
        * resources/plugin.js: Removed.

2014-05-14  Kiran  <kiran.guduru@samsung.com>

        alidation for getUserMedia() errorCallback is missing.
        https://bugs.webkit.org/show_bug.cgi?id=132901

        Reviewed by Darin Adler.

        This test checks for null values in getUserMedia errorCallback.

        * fast/mediastream/getusermedia.html:

2014-05-14  Alexey Proskuryakov  <ap@apple.com>

        Change line endings of some test files to LF to make it easier to commit and test changes.

        * css3/calc/simple-calcs.html:
        * css3/calc/simple-minmax.html:
        * css3/calc/transforms-scale-expected.html:
        * css3/calc/transforms-scale.html:
        * css3/calc/transforms-translate-expected.html:
        * css3/calc/transforms-translate.html:

2014-05-14  Alexey Proskuryakov  <ap@apple.com>

        Fix line ending style for the test (as an experiment).

        * css3/calc/simple-calcs-prefixed.html:

2014-05-13  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Assertion failure in some cases with inline blocks
        https://bugs.webkit.org/show_bug.cgi?id=132859

        Reviewed by Mihnea Ovidenie.

        Test that moving lines with inline blocks doesn't cause an assertion.

        * fast/regions/inline-block-shifted-region-expected.txt: Added.
        * fast/regions/inline-block-shifted-region.html: Added.

2014-05-13  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] line height grows around polygon and incorrectly causes text to wrap to next line
        https://bugs.webkit.org/show_bug.cgi?id=131622

        Reviewed by Bem Jones-Bey.

        * fast/shapes/shape-outside-floats/shape-outside-edge-case-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-edge-case.html: Added.

2014-05-13  Myles C. Maxfield  <litherum@gmail.com>

        Text decorations do not contribute to visual overflow
        https://bugs.webkit.org/show_bug.cgi?id=132773

        Reviewed by Darin Adler.

        This test makes sure that repaint rects are extended to include text decorations that may
        lie outside of the text layout rects. It compares text with an underline to text that has
        had underline applied to it in a timer.

        * fast/css3-text/css3-text-decoration/repaint/resources/Litherum.svg: Added. This font has a
        descent of 0 (so it will not intersect underlines)
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-expected.html: Added.
        Apply the underline without any timeout
        * fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html: Added.
        Apply the underline with a timeout.

2014-05-13  Jon Honeycutt  <jhoneycutt@apple.com>

        platform/mac/plugins/testplugin-onnew-onpaint.html failing after r168668
        <https://bugs.webkit.org/show_bug.cgi?id=132877>

        Reviewed by Brent Fulgham.

        * platform/mac/plugins/testplugin-onnew-onpaint.html:
        Make the test wait until plug-ins have loaded before finishing.

2014-05-13  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening

        Rebaseline affected tests after svg root element background repaint changes
        introduced in r168674.

        * platform/gtk/http/tests/misc/slow-loading-image-in-pattern-expected.txt:
        * platform/gtk/svg/custom/circle-move-invalidation-expected.txt:
        * platform/gtk/svg/custom/mouse-move-on-svg-container-expected.txt:
        * platform/gtk/svg/custom/mouse-move-on-svg-container-standalone-expected.txt:
        * platform/gtk/svg/custom/mouse-move-on-svg-root-expected.txt:
        * platform/gtk/svg/custom/mouse-move-on-svg-root-standalone-expected.txt:
        * platform/gtk/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt:
        * platform/gtk/svg/custom/svg-float-border-padding-expected.txt:
        * platform/gtk/svg/text/small-fonts-in-html5-expected.txt:

2014-05-13  Zalan Bujtas  <zalan@apple.com>

        REGRESSSION(r168528) Subpixel rendering: Selection rect is not positioned properly when SVG text is selected.
        https://bugs.webkit.org/show_bug.cgi?id=132868

        Reviewed by Dirk Schulze.

        Scale the selection rect. r168528 missed applying this final transform on the selection/painting rect.

        * svg/text/hidpi-text-selection-rect-position-expected.html: Added.
        * svg/text/hidpi-text-selection-rect-position.html: Added.

2014-05-13  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Regions] Add basic tests for inset flows into regions
        https://bugs.webkit.org/show_bug.cgi?id=132871

        Reviewed by Mihnea Ovidenie.

        * fast/regions/shape-outside-floats/regions-shape-outside-floats-inset-expected.html: Added.
        * fast/regions/shape-outside-floats/regions-shape-outside-floats-inset.html: Added.

2014-05-13  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>

        ASSERTION FAILED: leftCategory != CalcOther && rightCategory != CalcOther
        in WebCore::CSSCalcBinaryOperation::createSimplified
        https://bugs.webkit.org/show_bug.cgi?id=132870

        Added test contains calc() expressions with angle, time and frequency values,
        covering all the newly introduced unit types, each of which used to fail. 

        Reviewed by Darin Adler.

        * fast/css/calc-with-angle-time-frequency-expected.txt: Added.
        * fast/css/calc-with-angle-time-frequency.html: Added.

2014-05-13  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Rebaseline after r168575
        https://bugs.webkit.org/show_bug.cgi?id=132867

        Unreviewed gardening.

        * platform/efl-wk2/fast/css/input-search-padding-expected.png:
        * platform/efl/fast/css/css1_forward_compatible_parsing-expected.txt:
        * platform/efl/fast/css/first-line-text-decoration-expected.txt:
        * platform/efl/fast/css/h1-in-section-elements-expected.png:
        * platform/efl/fast/css/h1-in-section-elements-expected.txt:
        * platform/efl/fast/css/input-search-padding-expected.txt:
        * platform/efl/fast/css/word-space-extra-expected.txt:
        * platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/efl/fast/forms/searchfield-heights-expected.txt:
        * platform/efl/fast/forms/textAreaLineHeight-expected.txt:
        * platform/efl/fast/inline/continuation-outlines-expected.txt:
        * platform/efl/fast/inline/outline-continuations-expected.txt:
        * platform/efl/fast/invalid/nestedh3s-expected.txt:
        * platform/efl/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/efl/fast/table/014-expected.txt:
        * platform/efl/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
        * platform/efl/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/efl/mathml/presentation/mo-stretch-expected.png:
        * platform/efl/mathml/presentation/mo-stretch-expected.txt:
        * platform/efl/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
        * platform/efl/svg/hixie/error/012-expected.png:
        * platform/efl/svg/hixie/error/012-expected.txt:
        * platform/efl/svg/hixie/mixed/010-expected.txt:
        * platform/efl/svg/in-html/circle-expected.txt:
        * platform/efl/svg/wicd/rightsizing-grid-expected.txt:
        * platform/efl/svg/wicd/test-rightsizing-b-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/efl/tables/mozilla/bugs/bug113235-2-expected.txt:
        * platform/efl/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/efl/tables/mozilla/other/wa_table_tr_align-expected.txt:

2014-05-13  Kiran  <kiran.guduru@samsung.com>

        [MediaStream] MediaStream.addTrack Should not check for active state.
        Nhttps://bugs.webkit.org/show_bug.cgi?id=132558.

        Reviewed by Eric Carlson.

        MediaStream.addTrack method is checking for active state of a
        MediaStream, but it should not check for active state while adding a Track

        Removed check not to add tracks to ended stream:relative which forced tests to avoid this bug. 
        * fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
        * fast/mediastream/MediaStream-add-remove-tracks.html:

        New tests:
        * fast/mediastream/MediaStream-add-tracks-to-inactive-stream-expected.txt: Added.
        * fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html: Added.

2014-05-13  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening

        Rebaseline affected tests by changes to avoid increasing empty
        LayoutRects introduced at r168575.

        * platform/gtk/fast/css/css1_forward_compatible_parsing-expected.txt:
        * platform/gtk/fast/css/first-line-text-decoration-expected.txt:
        * platform/gtk/fast/css/h1-in-section-elements-expected.txt:
        * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
        * platform/gtk/fast/css/text-overflow-input-expected.txt:
        * platform/gtk/fast/css/word-space-extra-expected.txt:
        * platform/gtk/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/gtk/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/gtk/fast/forms/box-shadow-override-expected.txt:
        * platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
        * platform/gtk/fast/forms/fieldset-align-expected.txt:
        * platform/gtk/fast/forms/input-appearance-height-expected.txt:
        * platform/gtk/fast/forms/placeholder-position-expected.txt:
        * platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/gtk/fast/forms/textAreaLineHeight-expected.txt:
        * platform/gtk/fast/inline/continuation-outlines-expected.txt:
        * platform/gtk/fast/inline/continuation-outlines-with-layers-expected.txt:
        * platform/gtk/fast/inline/outline-continuations-expected.txt:
        * platform/gtk/fast/invalid/nestedh3s-expected.txt:
        * platform/gtk/fast/multicol/client-rects-expected.txt:
        * platform/gtk/fast/multicol/client-rects-spanners-complex-expected.txt:
        * platform/gtk/fast/multicol/client-rects-spanners-expected.txt:
        * platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/gtk/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/gtk/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/gtk/fast/regions/repaint/repaint-regions-overflow-expected.txt:
        * platform/gtk/fast/repaint/search-field-cancel-expected.txt:
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/gtk/fast/table/014-expected.txt:
        * platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt:
        * platform/gtk/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
        * platform/gtk/svg/custom/use-font-face-crash-expected.txt:
        * platform/gtk/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
        * platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug113235-2-expected.txt:
        * platform/gtk/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt:

2014-05-12  Mark Lam  <mark.lam@apple.com>

        WebKit2 on iOS needs to capture the main thread's floating point environment.
        <https://webkit.org/b/132755>

        Reviewed by Geoffrey Garen.

        * fast/workers/resources/worker-floating-point.js: Added.
        (runTest1):
        (doDiv):
        (runTest2):
        * fast/workers/worker-floating-point-expected.txt: Added.
        * fast/workers/worker-floating-point.html: Added.
        * js/floating-point-denormalized-expected.txt: Added.
        * js/floating-point-denormalized.html: Added.
        * js/script-tests/floating-point-denormalized.js: Added.

2014-05-12  Dirk Schulze  <krit@webkit.org>

        SVG root element accepts background color but fails to repaint it
        https://bugs.webkit.org/show_bug.cgi?id=63153

        Reviewed by Dean Jackson.

        Check that background color updates if the size of an outermost
        root SVG element changes.

        * svg/custom/svg-root-background-expected.png: Added.
        * svg/custom/svg-root-background-expected.txt: Added.
        * svg/custom/svg-root-background.html: Added.

2014-05-12  Jeffrey Pfau  <jpfau@apple.com>

        Unreviewed, fix mismatched test expectation.

        * webgl/many-contexts-expected.txt:

2014-05-06  Jon Honeycutt  <jhoneycutt@apple.com>

        Don't dispatch 'beforeload' event inside FrameView::layout()

        https://bugs.webkit.org/show_bug.cgi?id=132621
        <rdar://problem/15661470>

        This merges Blink revision 162073 with minor renaming and style
        changes. From that commit:

        Executing JavaScript code inside FrameView::layout() is problematic.
        e.g. an assertion failure tested in fast/events/beforeload-assertion.html.
        We should avoid it.

        This CL makes 'beforeload' event dispatching for plugins and iframes asynchronous,
        except plugin access from JavaScript code (HTMLPlugInElement::
        renderWidgetForJSBindings).

        Reviewed by Brent Fulgham.

        * compositing/plugins/composited-plugin.html:
        * compositing/plugins/no-backing-store.html:
        * fast/dom/beforeload/flash-before-load.html:
        * fast/events/beforeload-assertion-expected.txt: Added.
        * fast/events/beforeload-assertion.html: Added.
        * fast/events/beforeload-iframe-crash-expected.txt: Added.
        * fast/events/beforeload-iframe-crash.html: Added.
        * fast/events/beforeload-input-time-crash-expected.txt: Added.
        * fast/events/beforeload-input-time-crash.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
        * http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
        * http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
        * http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
        * http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
        * http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
        (testImpl.iframe.onload):
        (testImpl):
        * http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
        * platform/mac/plugins/supports-carbon-event-model.html:
        * plugins/get-user-agent-with-null-npp-from-npp-new.html:
        * plugins/mouse-click-plugin-clears-selection.html:
        * plugins/netscape-plugin-map-data-to-src.html:
        * plugins/no-mime-with-valid-extension.html:
        * plugins/plugin-initiate-popup-window.html:
        * plugins/windowless_plugin_paint_test.html:
        * resources/plugin.js: Added.
        (runAfterPluginLoad):

2014-05-12  Roger Fong  <roger_fong@apple.com>

        Unreviewed. Adjust expected result for test added in r168666.

        * webgl/many-contexts-expected.txt:

2014-05-12  Roger Fong  <roger_fong@apple.com>

        Limit number of active graphics contexts per web process.
        https://bugs.webkit.org/show_bug.cgi?id=132833.
        <rdar://problem/16888459>

        Reviewed by Dean Jackson.

        * webgl/many-contexts-expected.txt: Added.
        * webgl/many-contexts.html: Added.

2014-05-12  Dirk Schulze  <krit@webkit.org>

        <svg> with opacity and compositing double-applies its opacity
        https://bugs.webkit.org/show_bug.cgi?id=116856

        Reviewed by Simon Fraser.

        Test that opacity is not applied twice for composited inline SVG.

        * svg/custom/composited-svg-with-opacity-expected.html: Added.
        * svg/custom/composited-svg-with-opacity.html: Added.

2014-05-12  Dirk Schulze  <krit@webkit.org>

        SVG outline property is broken and inefficient
        https://bugs.webkit.org/show_bug.cgi?id=113666

        Reviewed by Dean Jackson.

        Patch by Erik Dahlström backported from Blink.

        Test stacking for outline properties. 'outline' should
        not draw above overlapping content anymore.
        Test outline drawing for text elements.

        * svg/custom/outline-stacking-expected.svg: Added.
        * svg/custom/outline-stacking.svg: Added.
        * svg/custom/rgba-color-outline-expected.html: Added.
        * svg/custom/rgba-color-outline.svg: Added.
        * svg/text/text-outline-expected.svg: Added.
        * svg/text/text-outline-rgba-expected.html: Added.
        * svg/text/text-outline-rgba.html: Added.
        * svg/text/text-outline.html: Added.
        * svg/text/textpath-outline-expected.svg: Added.
        * svg/text/textpath-outline.svg: Added.
        * svg/text/tspan-multiple-outline-expected.html: Added.
        * svg/text/tspan-multiple-outline.svg: Added.
        * svg/text/tspan-outline-2-expected.svg: Added.
        * svg/text/tspan-outline-2.svg: Added.
        * svg/text/tspan-outline-expected.svg: Added.
        * svg/text/tspan-outline.html: Added.

2014-05-09  Jon Honeycutt  <jhoneycutt@apple.com>

        REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots

        <https://bugs.webkit.org/show_bug.cgi?id=132207>
        <rdar://problem/16730393>

        Reviewed by Darin Adler.

        * editing/apply-style-iframe-crash-expected.txt:
        Rebased test result has one fewer new line.
        * platform/mac-wk1/TestExpectations:
        Remove test from list of expected failures.

2014-05-12  Alex Christensen  <achristensen@webkit.org>

        Implement EXT_shader_texture_lod in WebGL.
        https://bugs.webkit.org/show_bug.cgi?id=128985
        <rdar://problem/16111396>

        Based on Firefox patch by Vladimir Vukicevic.
        https://bug965848.bugzilla.mozilla.org/attachment.cgi?id=8367994

        Reviewed by Dean Jackson.

        * webgl/conformance/extensions/ext-shader-texture-lod-expected.txt: Added.
        * webgl/conformance/extensions/ext-shader-texture-lod.html: Added.
        * webgl/resources/webgl_test_files/conformance/extensions/ext-shader-texture-lod.html: Added.

2014-05-12  Martin Hock  <mhock@apple.com>

        Disallow drag and drop of non-displayable resources.
        https://bugs.webkit.org/show_bug.cgi?id=132745
        <rdar://problem/10562662>

        Reviewed by Alexey Proskuryakov.

        * http/tests/security/drag-drop-local-file-expected.txt: Added.
        * http/tests/security/drag-drop-local-file.html: Added.

2014-05-12  Radu Stavila  <stavila@adobe.com>

        fast/multicol/newmulticol/first-letter-create.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=132744

        Reviewed by Antti Koivisto.

        Modified test to not display anything as its only purpose is to ensure it doesn't crash.

        * TestExpectations:
        * fast/multicol/newmulticol/first-letter-create-expected.html:
        * fast/multicol/newmulticol/first-letter-create.html:

2014-05-12  Antti Koivisto  <antti@apple.com>

        REGRESSION (r159560): Text clips on tile border if line-height < font-size
        https://bugs.webkit.org/show_bug.cgi?id=132822

        Reviewed by Andreas Kling.

        * fast/text/simple-lines-range-low-line-height-expected.html: Added.
        * fast/text/simple-lines-range-low-line-height.html: Added.

2014-05-12  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Rebaseline after adding tests in r168350
        https://bugs.webkit.org/show_bug.cgi?id=132824

        Unreviewed gardening.

        * platform/efl/TestExpectations:
        * platform/efl/fast/multicol/client-rects-expected.txt:
        * platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt:
        * platform/efl/fast/multicol/client-rects-spanners-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/efl/svg/zoom/page/zoom-foreignObject-expected.txt:
        * platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.png:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
        * platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
        * platform/efl/svg/zoom/text/zoom-foreignObject-expected.txt:

2014-05-12  Radu Stavila  <stavila@adobe.com>

        Invalid information remaining in lineToRegion map of RenderFlowThread.
        https://bugs.webkit.org/show_bug.cgi?id=132690

        Reviewed by Antti Koivisto.

        Added test for crash caused by invalid information in the lineToRegion map.

        * fast/multicol/newmulticol/lines-region-map-crash-expected.html: Added.
        * fast/multicol/newmulticol/lines-region-map-crash.html: Added.

2014-05-12  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Adjust blending pixel test expectations
        https://bugs.webkit.org/show_bug.cgi?id=132737

        Reviewed by Mihnea Ovidenie.

        Changing failing gif file with with one pixel base64 data and make them different for the two tests,
        otherwise they might get cached and the gif animation is shared among multiple tests.
        Changing the incorrect expectations for *gif-color-2* and adjusting test expectation for *gif-color-1*
        * css3/blending/background-blend-mode-gif-color-2.html:
        * css3/blending/background-blend-mode-gif-color.html:
        * css3/blending/resources/squares.gif: Removed.
        * platform/mac/css3/blending/background-blend-mode-gif-color-2-expected.png:
        * platform/mac/css3/blending/background-blend-mode-gif-color-expected.png:
 
        * platform/mac-wk1/TestExpectations:
        The background-blend-mode-gif-color-2 does not pass on WK1: the git animation doesn't get started.

        * platform/mac/TestExpectations: Adding bugs to the excepted blending tests.

        Adjusting this test to avoid scrollbars. Adjusting test expectations.
        * css3/blending/blend-mode-overflow-expected.txt: Removed.
        * css3/blending/blend-mode-overflow.html:
        * platform/mac/css3/blending/blend-mode-overflow-expected.png:
        * platform/mac/css3/blending/blend-mode-overflow-expected.txt:
        
        Adding pixel expectations for newly added tests:
        * platform/mac/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer1-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer2-expected.png: Added.
        * platform/mac/css3/blending/blend-mode-isolation-turn-on-self-painting-layer-expected.png: Added.

        Adjusting pixel tests after removing non separable blend modes.
        * platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
        * platform/mac/css3/blending/blend-mode-simple-expected.png:
        * platform/mac/css3/blending/effect-background-blend-mode-expected.png:
        * platform/mac/css3/blending/effect-background-blend-mode-tiled-expected.png:

2014-05-09  Myles C. Maxfield  <litherum@gmail.com>

        [Mac] [iOS] Underlines are too low
        https://bugs.webkit.org/show_bug.cgi?id=132770

        Reviewed by Darin Adler.

        See per-file descriptions.

        * fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html: Made
        test more robust so it does not barely clip underlines, but rather gives them a couple
        pixels of wiggle room.
        * fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Not only does this test
        underline thickness, but it also tests underline position. Updated this test to not expect
        incorrect results.

2014-05-11  Antti Koivisto  <antti@apple.com>

        Text with simple line layout not getting pushed below float when there is not enough space for it
        https://bugs.webkit.org/show_bug.cgi?id=126991

        Reviewed by Andreas Kling.

        * fast/text/simple-lines-intruding-wide-float-dynamic-expected.html: Added.
        * fast/text/simple-lines-intruding-wide-float-dynamic.html: Added.
        * fast/text/simple-lines-intruding-wide-float-expected.html: Added.
        * fast/text/simple-lines-intruding-wide-float.html: Added.

2014-05-10  Alexey Proskuryakov  <ap@apple.com>

        Multiple svg-in-object-placeholder-height tests fail
        https://bugs.webkit.org/show_bug.cgi?id=132791

        * TestExpectations: Skipped them, the tests take a long time before they fail.

2014-05-10  Darin Adler  <darin@apple.com>

        REGRESSION (r166853): fast/preloader/document-write.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=130942

        Reviewed by Anders Carlsson.

        * platform/mac/TestExpectations: Turned the test back on.

2014-05-09  Dean Jackson  <dino@apple.com>

        -webkit-filter prevents rendering at retina scale
        https://bugs.webkit.org/show_bug.cgi?id=93471

        Reviewed by Dirk Schulze.

        New tests for filters at high resolutions. The image used
        has a crosshatch at the pixel level, so any scale changes
        are visible (such as going from 2x to 1x). All the actual
        filters are no-ops so they can be compared to an element
        without a filter in the -expected version.

        * fast/hidpi/filters-blur-expected.html: Added.
        * fast/hidpi/filters-blur.html: Added.
        * fast/hidpi/filters-hue-rotate-expected.html: Added.
        * fast/hidpi/filters-hue-rotate.html: Added.
        * fast/hidpi/filters-invert-expected.html: Added.
        * fast/hidpi/filters-invert.html: Added.
        * fast/hidpi/filters-multiple-expected.html: Added.
        * fast/hidpi/filters-multiple.html: Added.
        * fast/hidpi/filters-reference-expected.html: Added.
        * fast/hidpi/filters-reference.html: Added.
        * fast/hidpi/filters-shadow-expected.html: Added.
        * fast/hidpi/filters-shadow.html: Added.
        * fast/hidpi/resources/color-grid.png: Added.
        * fast/hidpi/resources/ensure-hidpi.js: Added.
        (runTest):
        (scaleFactorIsSet):
        * platform/mac-wk2/TestExpectations: Skip some of these on WK2 Mac.
        See webkit.org/b/132766.

2014-05-10  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Empty rects should remain empty after integrally enclosing them.
        https://bugs.webkit.org/show_bug.cgi?id=132753
        <rdar://problem/16846801>

        Reviewed by Simon Fraser.

        This patch ensures that empty LayoutRects remain empty after converting to integral enclosing rect.
        LayoutRects with fractional position get expanded even if they are empty. This makes rectangle
        operations unreliable and can result in undesired side effects.

        1px -> 0px progressions.

        * platform/mac-mountainlion/fast/forms/fieldset-align-expected.txt:
        * platform/mac-mountainlion/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
        * platform/mac/fast/css/css1_forward_compatible_parsing-expected.txt:
        * platform/mac/fast/css/first-line-text-decoration-expected.txt:
        * platform/mac/fast/css/h1-in-section-elements-expected.txt:
        * platform/mac/fast/css/word-space-extra-expected.txt:
        * platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/mac/fast/forms/fieldset-align-expected.txt:
        * platform/mac/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/fast/inline/continuation-outlines-expected.txt:
        * platform/mac/fast/inline/continuation-outlines-with-layers-expected.txt:
        * platform/mac/fast/inline/outline-continuations-expected.txt:
        * platform/mac/fast/invalid/nestedh3s-expected.txt:
        * platform/mac/fast/multicol/client-rects-expected.txt:
        * platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
        * platform/mac/fast/multicol/client-rects-spanners-expected.txt:
        * platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/mac/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/mac/fast/table/014-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/mac/mathml/presentation/mo-stretch-expected.txt:
        * platform/mac/svg/custom/use-font-face-crash-expected.txt:
        * platform/mac/svg/wicd/rightsizing-grid-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug113235-2-expected.txt:
        * platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:

2014-05-09  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r168518): Multiple tests for workers in blobs assert
        https://bugs.webkit.org/show_bug.cgi?id=132728

        Reviewed by Geoffrey Garen.

        * platform/mac/TestExpectations: Unskip the tests.

2014-05-09  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>

        ASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY()
        https://bugs.webkit.org/show_bug.cgi?id=121682

        Reviewed by Dirk Schulze.

        Merge Blink r172126 by Erik Dahlström.

        * platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
        * platform/mac/svg/text/non-bmp-positioning-lists-expected.txt: Added.
        * svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.png: Added.
        * svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
        * svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg: Added.
        * svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png: Added.
        * svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
        * svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg: Added.
        * svg/animations/animate-viewport-overflow-2-expected.txt: Added.
        * svg/animations/animate-viewport-overflow-2.html: Added.
        * svg/animations/animate-viewport-overflow-expected.txt: Added.
        * svg/animations/animate-viewport-overflow.html: Added.
        * svg/in-html/overflow-repaint-expected.txt: Added.
        * svg/in-html/overflow-repaint.html: Added.
        * svg/in-html/overflow-svg-root-attr-expected.html: Added.
        * svg/in-html/overflow-svg-root-attr.html: Added.
        * svg/in-html/overflow-svg-root-expected.html: Added.
        * svg/in-html/overflow-svg-root-style-expected.html: Added.
        * svg/in-html/overflow-svg-root-style.html: Added.
        * svg/in-html/overflow-svg-root.html: Added.
        * svg/overflow/overflow-on-outermost-svg-element-horizontal-auto-expected.html: Added.
        * svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt:
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Copied from LayoutTests/platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml:
        * svg/overflow/overflow-on-outermost-svg-element-vertical-auto-expected.html: Added.
        * svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg: Added.
        * svg/overflow/overflow-scroll-on-outermost-svg-element-expected.txt: Added.
        * svg/overflow/overflow-scroll-on-outermost-svg-element.svg: Added.
        * svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg: Added.
        * svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg: Added.
        * svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg: Added.
        * svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg: Added.

2014-05-09  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r168448): fast/multicol/newmulticol/first-letter-create.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=132744

        * TestExpectations: Marked as such.

2014-05-09  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Move background-blend-mode tests from fast/repaint to css3/blending and remove the -webkit- prefix
        https://bugs.webkit.org/show_bug.cgi?id=132741

        Reviewed by Mihnea Ovidenie.

        Remove the -webkit prefix from comments:
        * css3/blending/background-blend-mode-property-expected.txt:
        * css3/blending/script-tests/background-blend-mode-property.js:

        Move the background-blend-mode test from fast/repaint to css3/blending.
        This is not required to be a repaint test. It works well as a regular reftest too.
        * css3/blending/background-blend-mode-image-color-dynamic-expected.html: Added.
        * css3/blending/background-blend-mode-image-color-dynamic.html: Added.
        * fast/repaint/background-blend-mode-image-color-dynamic-expected.html: Removed.
        * fast/repaint/background-blend-mode-image-color-dynamic.html: Removed.
        * fast/repaint/resources/ducky.png: Removed.

2014-05-09  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r168095): 1-pixel gap between adjacent selection inlines
        https://bugs.webkit.org/show_bug.cgi?id=132474
        <rdar://problem/16797394>

        Reviewed by David Hyatt.

        This patch changes text selection rectangle calculation from integral to device
        pixel snapping. It ensures that selection rect painting matches box boundaries for inline elements.
        Directional rounding (horizontal only atm) is moved out from Font class and now accessible
        to all the painting code. RTL snapping strategy is changed from floor to round to match ltr behavior.
        However this patch does not address all the integral snapping across inline elements. There are
        a few places where we still calculate enclosing rects where snapping is sufficient.

        * fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines-expected.html: Added.
        * fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines.html: Added.
        * platform/mac/editing/selection/mixed-editability-10-expected.txt: progression.
        * platform/mac/fast/forms/cursor-at-editable-content-boundary-expected.txt: progression.
        * platform/mac/platform/mac/editing/input/caret-primary-bidi-expected.txt: Added. change in rounding strategy.
        * platform/mac/svg/text/caret-in-svg-text-expected.txt: Added. progression + change in rounding strategy.

2014-05-09  Martin Hodovan  <mhodovan@inf.u-szeged.hu>

        ASSERTION FAILED: !m_code || m_code == defaultExceptionCode
        in WebCore::constructQualifiedName
        https://bugs.webkit.org/show_bug.cgi?id=132343

        'Remove bad assertion in SVGSMILElement's constructQualifiedName() by passing
        IGNORE_EXCEPTION instead ASSERT_NO_EXCEPTION to Document::parseQualifiedName().
        The constructQualifiedName() function handles parseQualifiedName() failures
        propertly by returning early so there is no reason to assert on parsing
        failures.'

        Blink merge: http://src.chromium.org/viewvc/blink?view=revision&revision=173564
        Based on the patch made by Christophe Dumez <ch.dumez@samsung.com>.

        Reviewed by Dirk Schulze.

        * svg/custom/bad-attributeName-crash-expected.txt: Added.
        * svg/custom/bad-attributeName-crash.html: Added.

2014-05-08  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r168518): Multiple tests for workers in blobs assert
        https://bugs.webkit.org/show_bug.cgi?id=132728

        * platform/mac/TestExpectations: Skipped for now.

2014-05-08  Praveen R Jadhav  <praveen.j@samsung.com>

        [EFL] Enable MEDIA_STREAM for EFL port
        https://bugs.webkit.org/show_bug.cgi?id=132648

        Reviewed by Gyuyoung Kim.

        Updated webaudio test case expectation after enabling MEDIA_STREAM

        * platform/efl/TestExpectations:

2014-05-08  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r168498.
        https://bugs.webkit.org/show_bug.cgi?id=132714

        broke Mavericks WK2 (Requested by litherum on #webkit).

        Reverted changeset:

        "http/tests/security/xss-DENIED-xsl-document-redirect.xml
        fails with NetworkProcess"
        https://bugs.webkit.org/show_bug.cgi?id=132523
        http://trac.webkit.org/changeset/168498

2014-05-08  Myles C. Maxfield  <mmaxfield@apple.com>

        http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=132523

        Reviewed by Alexey Proskuryakov.

        Two tests have been rebaselined, and re-enable test that now passes

        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: The test describes
        that success causes an ErrorHandler to run, but there was no ErrorHandler line in the
        expected output. This now gets printed.
        * http/tests/security/xss-DENIED-xsl-document-redirect-expected.txt: Expecting logging
        output on failed redirection
        * platform/mac-wk2/TestExpectations: Re-enable test that now passes.

2014-05-08  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] Shapes do not resolve dimensions specified in viewport units
        https://bugs.webkit.org/show_bug.cgi?id=124052

        Reviewed by Dirk Schulze.

        * css3/masking/clip-path-polygon-viewport-units-expected.html: Added.
        * css3/masking/clip-path-polygon-viewport-units.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html: Added.

2014-05-08  Rik Cabanier  <cabanier@adobe.com>

        Add support for drawFocusIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=132584

        Reviewed by Dirk Schulze.

        * fast/canvas/draw-focus-if-needed-expected.txt: Added.
        * fast/canvas/draw-focus-if-needed.html: Added.

2014-05-08  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Removing -webkit- prefixes for mix-blend-mode and isolation from layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=132680

        Reviewed by Mihnea Ovidenie.

        * css3/blending/blend-mode-accelerated-parent-overflow-hidden.html:
        * css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html:
        * css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-append-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending.html:
        * css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation.html:
        * css3/blending/blend-mode-isolation-flags-turn-off-blending.html:
        * css3/blending/blend-mode-isolation-flags-turn-off-stacking-context.html:
        * css3/blending/blend-mode-isolation-flags-turn-on-blending.html:
        * css3/blending/blend-mode-isolation-flags-turn-on-stacking-context.html:
        * css3/blending/blend-mode-isolation-overflow-hidden.html:
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html:
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html:
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html:
        * css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html:
        * css3/blending/blend-mode-overflow.html:
        * css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html:
        * css3/blending/repaint/blend-mode-turn-off-isolation.html:
        * css3/blending/svg-blend-color-burn.html:
        * css3/blending/svg-blend-darken.html:
        * css3/blending/svg-blend-difference.html:
        * css3/blending/svg-blend-exclusion.html:
        * css3/blending/svg-blend-layer-mask.html:
        * css3/blending/svg-blend-lighten.html:
        * css3/blending/svg-blend-normal.html:
        * css3/blending/svg-blend-overlay.html:
        * css3/blending/svg-isolation-default.html:
        * css3/blending/svg-isolation-simple.html:

2014-05-08  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Rebaseline after enabling new multi-column mode (r168046)
        https://bugs.webkit.org/show_bug.cgi?id=132679

        Unreviewed gardening.

        * platform/efl/css3/unicode-bidi-isolate-basic-expected.png:
        * platform/efl/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.png:
        * platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
        * platform/efl/fast/line-grid/line-grid-inside-columns-expected.png:
        * platform/efl/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/efl/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/efl/fast/multicol/block-axis-horizontal-bt-expected.png:
        * platform/efl/fast/multicol/block-axis-horizontal-bt-expected.txt:
        * platform/efl/fast/multicol/block-axis-horizontal-tb-expected.png:
        * platform/efl/fast/multicol/block-axis-horizontal-tb-expected.txt:
        * platform/efl/fast/multicol/block-axis-vertical-lr-expected.png:
        * platform/efl/fast/multicol/block-axis-vertical-lr-expected.txt:
        * platform/efl/fast/multicol/block-axis-vertical-rl-expected.txt:
        * platform/efl/fast/multicol/border-padding-pagination-expected.png:
        * platform/efl/fast/multicol/border-padding-pagination-expected.txt:
        * platform/efl/fast/multicol/client-rects-expected.png:
        * platform/efl/fast/multicol/client-rects-expected.txt:
        * platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
        * platform/efl/fast/multicol/client-rects-spanners-expected.txt: Added.
        * platform/efl/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/efl/fast/multicol/column-count-with-rules-expected.txt:
        * platform/efl/fast/multicol/column-rules-expected.png:
        * platform/efl/fast/multicol/column-rules-expected.txt:
        * platform/efl/fast/multicol/column-rules-stacking-expected.txt:
        * platform/efl/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/efl/fast/multicol/float-avoidance-expected.txt:
        * platform/efl/fast/multicol/float-multicol-expected.txt:
        * platform/efl/fast/multicol/float-paginate-complex-expected.txt:
        * platform/efl/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/efl/fast/multicol/float-paginate-expected.txt:
        * platform/efl/fast/multicol/layers-in-multicol-expected.txt:
        * platform/efl/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/efl/fast/multicol/margin-collapse-expected.txt:
        * platform/efl/fast/multicol/max-height-columns-block-expected.png:
        * platform/efl/fast/multicol/max-height-columns-block-expected.txt:
        * platform/efl/fast/multicol/nested-columns-expected.png:
        * platform/efl/fast/multicol/nested-columns-expected.txt:
        * platform/efl/fast/multicol/newmulticol/client-rects-expected.txt: Added.
        * platform/efl/fast/multicol/overflow-across-columns-expected.png:
        * platform/efl/fast/multicol/overflow-across-columns-expected.txt:
        * platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.png:
        * platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/efl/fast/multicol/overflow-unsplittable-expected.png:
        * platform/efl/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/efl/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/efl/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-lr-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/efl/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/efl/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/efl/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/efl/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/efl/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/efl/fast/multicol/pagination/TopToBottom-tb-expected.txt:
        * platform/efl/fast/multicol/positioned-split-expected.txt:
        * platform/efl/fast/multicol/positive-leading-expected.png:
        * platform/efl/fast/multicol/positive-leading-expected.txt:
        * platform/efl/fast/multicol/scrolling-column-rules-expected.txt: Added.
        * platform/efl/fast/multicol/scrolling-overflow-expected.png:
        * platform/efl/fast/multicol/scrolling-overflow-expected.txt:
        * platform/efl/fast/multicol/shrink-to-column-height-for-pagination-expected.txt:
        * platform/efl/fast/multicol/single-line-expected.txt:
        * platform/efl/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
        * platform/efl/fast/multicol/span/anonymous-before-child-parent-crash-expected.txt:
        * platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.png:
        * platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.txt:
        * platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
        * platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
        * platform/efl/fast/multicol/span/clone-flexbox-expected.txt:
        * platform/efl/fast/multicol/span/clone-summary-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/efl/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/efl/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/efl/fast/multicol/span/span-as-nested-inline-block-child-expected.txt:
        * platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/efl/fast/multicol/table-margin-collapse-expected.txt:
        * platform/efl/fast/multicol/table-vertical-align-expected.txt:
        * platform/efl/fast/multicol/unsplittable-inline-block-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
        * platform/efl/fast/multicol/vertical-lr/border-padding-pagination-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/column-rules-expected.png:
        * platform/efl/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-avoidance-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/nested-columns-expected.png:
        * platform/efl/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/efl/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
        * platform/efl/fast/multicol/vertical-rl/border-padding-pagination-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/column-rules-expected.png:
        * platform/efl/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-avoidance-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/rule-style-expected.txt:
        * platform/efl/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
        * platform/efl/fast/overflow/paged-x-div-expected.txt:
        * platform/efl/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/efl/fast/overflow/paged-x-on-root-expected.png:
        * platform/efl/fast/overflow/paged-x-on-root-expected.txt:
        * platform/efl/fast/overflow/paged-x-with-column-gap-expected.png:
        * platform/efl/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/efl/fast/overflow/paged-y-div-expected.txt:
        * platform/efl/fast/overflow/paged-y-on-root-expected.png:
        * platform/efl/fast/overflow/paged-y-on-root-expected.txt:
        * platform/efl/fast/repaint/multicol-repaint-expected.png:
        * platform/efl/fast/repaint/multicol-repaint-expected.txt:

2014-05-08  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GTK] Enable skipped http/tests/media/hls/video-controls-live-stream.html
        https://bugs.webkit.org/show_bug.cgi?id=132329

        Reviewed by Eric Carlson.

        Tweaked test, created GTK results, unskipped in GTK and moved the
        current general expectations to be mac only.

        * http/tests/media/hls/video-controls-live-stream-expected.txt:
        Moved.
        * http/tests/media/hls/video-controls-live-stream.html: Dump tree
        and check status of the timelime.
        * media/media-controls.js:
        (dumpMediaControlsTree): Added to dump the shadow dom tree.
        * platform/gtk/TestExpectations: Unskipped video-controls-live-stream.
        * platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
        * platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:
        Moved from
        LayoutTests/http/tests/media/hls/video-controls-live-stream-expected.txt
        and rebaselined.

2014-05-08  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Content overflowing a fixed positioned region is clipped
        https://bugs.webkit.org/show_bug.cgi?id=118607

        Reviewed by Andrei Bucur.

        Fixed by the overflow in regions work, add test to prevent future regressions.

        * fast/regions/fixed-pos-region-overflow-content-expected.html: Added.
        * fast/regions/fixed-pos-region-overflow-content.html: Added.

2014-05-08  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint
        https://bugs.webkit.org/show_bug.cgi?id=131436

        Reviewed by Dirk Schulze.

        * css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt: Added.
        * css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added.
        * css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html: Added.
        * css3/blending/repaint/blend-mode-turn-off-isolation.html: Added.

2014-05-08  Manuel Rego Casasnovas  <rego@igalia.com>

        REGRESSION (r167652): SelectionState is not set properly for non leaf objects in pages with regions
        https://bugs.webkit.org/show_bug.cgi?id=132493

        Reviewed by David Hyatt.

        * TestExpectations: Marked
        fast/regions/cssom/region-range-for-box-crash.html as crashing on
        debug due to regression detected in bug #131982.
        * fast/regions/selection/crash-select-all-expected.txt: Added.
        * fast/regions/selection/crash-select-all.html: Added.

2014-05-08  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Can't select content within the area of the floating box when clip-path is applied
        https://bugs.webkit.org/show_bug.cgi?id=131375

        Reviewed by Dirk Schulze.

        * fast/masking/clip-path-selection-expected.txt: Added.
        * fast/masking/clip-path-selection.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-clip-path-selection-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html: Added.

2014-05-07  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Blending doesn't work if the parent stacking context is not a self painting layer
        https://bugs.webkit.org/show_bug.cgi?id=130891

        Reviewed by Dean Jackson.

        Removed position:relative which forced tests to avoid this bug. 
        * css3/blending/blend-mode-accelerated-parent-overflow-hidden.html:
        * css3/blending/blend-mode-clip-accelerated-blending-canvas.html:
        * css3/blending/blend-mode-clip-accelerated-blending-child.html:
        * css3/blending/blend-mode-clip-accelerated-blending-with-siblings.html:
        * css3/blending/blend-mode-clip-accelerated-transformed-blending.html:

        New tests:
        * css3/blending/blend-mode-isolation-accelerated-overflow-hidden-expected.txt: Added.
        * css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html: Added.
        * css3/blending/blend-mode-isolation-overflow-hidden-expected.html: Added.
        * css3/blending/blend-mode-isolation-overflow-hidden.html: Added.
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer-expected.txt: Added.
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html: Added.
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer1-expected.txt: Added.
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html: Added.
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer2-expected.txt: Added.
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html: Added.
        * css3/blending/blend-mode-isolation-turn-on-self-painting-layer-expected.txt: Added.
        * css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html: Added.

2014-05-06  Myles C. Maxfield  <mmaxfield@apple.com>

        Dragging text from one paragraph to another does not render as expected
        https://bugs.webkit.org/show_bug.cgi?id=132633

        Reviewed by Darin Adler and Ryosuke Niwa.

        The problem occurs when dragging text that includes a <p> into an editable
        area that has a <p> as a parent.

        * editing/pasteboard/drag-drop-paragraph-crasher-expected.txt: Added.
        * editing/pasteboard/drag-drop-paragraph-crasher.html: Added.

2014-05-07  Dean Jackson  <dino@apple.com>

        Using a fill pattern much larger than actual canvas reliably segfaults browser
        https://bugs.webkit.org/show_bug.cgi?id=132635

        Reviewed by Simon Fraser.

        Test case that makes a huge canvas and tries to create a pattern out of it.

        * fast/canvas/pattern-too-large-to-create-expected.html: Added.
        * fast/canvas/pattern-too-large-to-create.html: Added.

2014-05-07  Geoffrey Garen  <ggaren@apple.com>

        REGRESSION (r161429?): Frequent crashes on media/track/media-element-enqueue-event-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=117756

        Reviewed by Mark Hahnenberg.

        Re-enabled this test because it doesn't seem to crash anymore.

        * media/track/media-element-enqueue-event-crash.html: Reduced the number
        of test runs because otherwise this test often times out.

        * platform/mac/TestExpectations: Re-enable this test because I ran it
        for about a minute on my Mac Pro without crashing.

2014-05-07  Radu Stavila  <stavila@adobe.com>

        Use after free in WebCore::RenderObject::nextSibling / WebCore::RenderBoxModelObject::moveChildrenTo
        https://bugs.webkit.org/show_bug.cgi?id=132625

        Reviewed by David Hyatt.

        Added test for special case which might cause use after free.

        * fast/multicol/newmulticol/first-letter-create-expected.html: Added.
        * fast/multicol/newmulticol/first-letter-create.html: Added.

2014-05-07  Chris Fleizach  <cfleizach@apple.com>

        AX: aria-expanded changes are not communicated to clients
        https://bugs.webkit.org/show_bug.cgi?id=132642

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/expanded-notification-expected.txt: Added.
        * platform/mac/accessibility/expanded-notification.html: Added.

2014-05-07  Christophe Dumez  <ch.dumez@samsung.com>

        [HTML] Default argument to HTMLTableElement.insertRow() should be -1
        https://bugs.webkit.org/show_bug.cgi?id=132651

        Reviewed by Alexey Proskuryakov.

        Add layout test to test that the default argument to HTMLTableElement.insertRow()
        is -1.

        * fast/dom/HTMLTableElement/insertRow-default-argument-expected.txt: Added.
        * fast/dom/HTMLTableElement/insertRow-default-argument.html: Added.

2014-05-07  Chris Fleizach  <cfleizach@apple.com>

        AX: AXSelectTextWithCriteria should support capitalize/lowercase/uppercase
        https://bugs.webkit.org/show_bug.cgi?id=132622

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/select-text-expected.txt:
        * platform/mac/accessibility/select-text.html:

2014-05-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Share mac/editing/spelling/editing-multiple-words-with-markers.html with other platforms
        https://bugs.webkit.org/show_bug.cgi?id=132649

        Reviewed by Ryosuke Niwa.

        This test does not verify autocorrection feature which is only implemented
        by Mac. Other WebKit ports might be interested in running it due to
        verification of spelling markers after merging two misspelled words.

        Additionally, add the test case confirming spelling markers
        before any selection change.

        Due to bug 125689, this test starts using asynchronous spellchecking.

        * editing/spelling/editing-multiple-words-with-markers-expected.txt:
        Renamed from platform/mac/editing/spelling/editing-multiple-words-with-markers-expected.txt
        * editing/spelling/editing-multiple-words-with-markers.html:
        Renamed from platform/mac/editing/spelling/editing-multiple-words-with-markers.html

        * platform/gtk/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        Mark editing-multiple-words-with-markers.html as failing since those
        platforms didn't turn on asynchronous spellchecking.

2014-05-06  Antti Koivisto  <antti@apple.com>

        REGRESSION: Animated GIF inside compositing layer never resumes animation when scrolled back into view
        https://bugs.webkit.org/show_bug.cgi?id=132608

        Reviewed by Simon Fraser.

        * fast/repaint/animation-after-layer-scroll-expected.txt: Added.
        * fast/repaint/animation-after-layer-scroll.html: Added.

2014-05-07  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Remove runtime feature
        https://bugs.webkit.org/show_bug.cgi?id=132382

        Reviewed by Benjamin Poulain.

        Remove set of WebKitCSSGridLayoutEnabled preference.
        Remove fast/css-grid-layout/grid-disabled.html patch as the setting is not available anymore.

        * fast/css-grid-layout/anonymous-grid-items-expected.html:
        * fast/css-grid-layout/anonymous-grid-items.html:
        * fast/css-grid-layout/auto-content-resolution-columns.html:
        * fast/css-grid-layout/auto-content-resolution-rows.html:
        * fast/css-grid-layout/breadth-size-resolution-grid.html:
        * fast/css-grid-layout/calc-resolution-grid-item.html:
        * fast/css-grid-layout/containing-block-grids.html:
        * fast/css-grid-layout/display-grid-set-get.html:
        * fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html:
        * fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
        * fast/css-grid-layout/flex-content-resolution-columns.html:
        * fast/css-grid-layout/flex-content-resolution-rows.html:
        * fast/css-grid-layout/flex-content-sized-column-use-available-width.html:
        * fast/css-grid-layout/flex-content-sized-columns-resize.html:
        * fast/css-grid-layout/floating-empty-grids.html:
        * fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
        * fast/css-grid-layout/grid-auto-columns-rows-update.html:
        * fast/css-grid-layout/grid-auto-flow-get-set.html:
        * fast/css-grid-layout/grid-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-auto-flow-update.html:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
        * fast/css-grid-layout/grid-disabled-expected.txt: Removed.
        * fast/css-grid-layout/grid-disabled.html: Removed.
        * fast/css-grid-layout/grid-dynamic-updates-relayout.html:
        * fast/css-grid-layout/grid-element-border-grid-item.html:
        * fast/css-grid-layout/grid-element-border-padding-grid-item.html:
        * fast/css-grid-layout/grid-element-change-columns-repaint.html:
        * fast/css-grid-layout/grid-element-change-rows-repaint.html:
        * fast/css-grid-layout/grid-element-empty-row-column.html:
        * fast/css-grid-layout/grid-element-min-max-height.html:
        * fast/css-grid-layout/grid-element-min-max-width.html:
        * fast/css-grid-layout/grid-element-padding-grid-item.html:
        * fast/css-grid-layout/grid-element-padding-margin.html:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:
        * fast/css-grid-layout/grid-element-shrink-to-fit.html:
        * fast/css-grid-layout/grid-item-addition-auto-placement-update.html:
        * fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
        * fast/css-grid-layout/grid-item-area-get-set.html:
        * fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
        * fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
        * fast/css-grid-layout/grid-item-change-column-repaint.html:
        * fast/css-grid-layout/grid-item-change-row-repaint.html:
        * fast/css-grid-layout/grid-item-column-row-get-set.html:
        * fast/css-grid-layout/grid-item-end-after-get-set.html:
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows.html:
        * fast/css-grid-layout/grid-item-margin-resolution.html:
        * fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
        * fast/css-grid-layout/grid-item-negative-indexes.html:
        * fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html:
        * fast/css-grid-layout/grid-item-negative-position-resolution.html:
        * fast/css-grid-layout/grid-item-order-auto-flow-resolution.html:
        * fast/css-grid-layout/grid-item-order-paint-order.html:
        * fast/css-grid-layout/grid-item-position-changed-dynamic.html:
        * fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
        * fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
        * fast/css-grid-layout/grid-item-spanning-resolution.html:
        * fast/css-grid-layout/grid-item-start-before-get-set.html:
        * fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
        * fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html:
        * fast/css-grid-layout/grid-preferred-logical-widths.html:
        * fast/css-grid-layout/grid-strict-ordering-crash.html:
        * fast/css-grid-layout/grid-template-areas-get-set.html:
        * fast/css-grid-layout/grid-template-shorthand-get-set.html:
        * fast/css-grid-layout/implicit-columns-auto-resolution.html:
        * fast/css-grid-layout/implicit-position-dynamic-change.html:
        * fast/css-grid-layout/implicit-rows-auto-resolution.html:
        * fast/css-grid-layout/minmax-fixed-logical-height-only.html:
        * fast/css-grid-layout/minmax-fixed-logical-width-only.html:
        * fast/css-grid-layout/minmax-max-content-resolution-columns.html:
        * fast/css-grid-layout/minmax-max-content-resolution-rows.html:
        * fast/css-grid-layout/minmax-min-content-column-resolution-columns.html:
        * fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
        * fast/css-grid-layout/minmax-spanning-resolution-columns.html:
        * fast/css-grid-layout/minmax-spanning-resolution-rows.html:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
        * fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/non-grid-columns-rows-get-set.html:
        * fast/css-grid-layout/non-grid-element-repeat-get-set.html:
        * fast/css-grid-layout/non-named-grid-line-get-set.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html:
        * fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html:
        * fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html:
        * fast/css-grid-layout/percent-padding-margin-resolution-grid-item.html:
        * fast/css-grid-layout/percent-resolution-grid-item.html:
        * fast/css-grid-layout/place-cell-by-index.html:
        * fast/css-grid-layout/should-not-collapse-anonymous-blocks.html:
        * ietestcenter/css3/grid/grid-column-002.htm:
        * ietestcenter/css3/grid/testRunnerEnableGrid.js: Removed.

2014-05-07  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening

        Avoid duplicated expectations and remove failure flag for fixed
        js/dom/basic-weakmap.html test.

        * platform/gtk/TestExpectations:

2014-05-06  Rik Cabanier  <cabanier@adobe.com>

        Calling createPattern with a broken image must throw an invalidstate error
        https://bugs.webkit.org/show_bug.cgi?id=132407

        Reviewed by Darin Adler.

        * canvas/philip/tests/2d.pattern.image.broken-expected.txt:
        * canvas/philip/tests/2d.pattern.image.broken.html:
        * canvas/philip/tests/2d.pattern.image.incomplete.empty-expected.txt:
        * canvas/philip/tests/2d.pattern.image.incomplete.empty.html:
        * fast/canvas/canvas-empty-image-pattern-expected.txt:
        * fast/dom/gc-9-expected.txt:
        * fast/dom/gc-9.html:
        * platform/mac/canvas/philip/tests/2d.pattern.image.broken-expected.txt: Removed.
        * platform/mac/canvas/philip/tests/2d.pattern.image.incomplete.empty-expected.txt: Removed.

2014-05-06  Christophe Dumez  <ch.dumez@samsung.com>

        [HTML] Default argument to HTMLTableRowElement.insertCell() should be -1
        https://bugs.webkit.org/show_bug.cgi?id=132615

        Reviewed by Darin Adler.

        Add layout test to test that the default argument to
        HTMLTableRowElement.insertCell() is -1.

        * fast/dom/HTMLTableRowElement/insertCell-default-argument-expected.txt: Added.
        * fast/dom/HTMLTableRowElement/insertCell-default-argument.html: Added.

2014-05-06  Oliver Hunt  <oliver@apple.com>

        Can't make a booking at virginamerica.com
        https://bugs.webkit.org/show_bug.cgi?id=132626

        Reviewed by Geoffrey Garen.

        Add testcase to make sure that we are silently ignoring usage
        of prototype setters and the prototype itself. We dump a warning
        to the console as throwing an exception breaks sites that used
        to rely on essentially no-op behavior.

        * fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent-expected.txt: Added.
        * fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent.html: Added.

2014-05-06  David Hyatt  <hyatt@apple.com>

        Begin Removal of Old Multi-Column Code.
        https://bugs.webkit.org/show_bug.cgi?id=132480

        Reviewed by Andreas Kling.

        * platform/mac/fast/multicol/client-rects-expected.png:
        * platform/mac/fast/multicol/client-rects-expected.txt:
        * platform/mac/fast/multicol/client-rects-spanners-complex-expected.png:
        * platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
        * platform/mac/fast/multicol/client-rects-spanners-expected.png:
        * platform/mac/fast/multicol/client-rects-spanners-expected.txt:
        * platform/mac/fast/multicol/newmulticol/client-rects-expected.png:
        * platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:

2014-05-06  Eric Carlson  <eric.carlson@apple.com>

        [Mac] make metadata cue attributes consistent
        https://bugs.webkit.org/show_bug.cgi?id=132610

        Reviewed by Jer Noble.

        * http/tests/media/track-in-band-hls-metadata-expected.txt:
        * http/tests/media/track-in-band-hls-metadata.html:

2014-05-06  Mark Hahnenberg  <mhahnenberg@apple.com>

        Roll out r167889

        Rubber stamped by Geoff Garen.

        It broke some websites.

        * js/regress/delete-a-few-properties-then-get-by-id-expected.txt:
        * js/regress/delete-a-few-properties-then-get-by-id.html:
        * js/regress/script-tests/delete-a-few-properties-then-get-by-id.js:
        (MyObject): Deleted.
        (foo): Deleted.

2014-05-06  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening

        Rebaseline affected tests by the modifications done to
        inline SVG sizing behavior introduced on r168350.

        * platform/gtk/svg/custom/bug45331-expected.txt:
        * platform/gtk/svg/custom/external-paintserver-reference-expected.txt:
        * platform/gtk/svg/custom/junk-data-expected.txt:
        * platform/gtk/svg/custom/linking-base-external-reference-expected.txt:
        * platform/gtk/svg/custom/missing-xlink-expected.txt:
        * platform/gtk/svg/custom/path-bad-data-expected.txt:
        * platform/gtk/svg/custom/use-font-face-crash-expected.txt:
        * platform/gtk/svg/foreignObject/svg-document-in-html-document-expected.txt:
        * platform/gtk/svg/hixie/error/012-expected.txt:
        * platform/gtk/svg/in-html/circle-expected.txt:
        * platform/gtk/svg/transforms/animated-path-inside-transformed-html-expected.txt:
        * platform/gtk/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
        * platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
        * platform/gtk/svg/wicd/test-rightsizing-b-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-foreignObject-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
        * platform/gtk/svg/zoom/text/zoom-foreignObject-expected.txt:

2014-05-06  Christophe Dumez  <ch.dumez@samsung.com>

        [HTML] Default argument to HTMLTableSectionElement.insertRow() should be -1
        https://bugs.webkit.org/show_bug.cgi?id=132570

        Reviewed by Darin Adler.

        Add layout test to test that the default argument to
        HTMLTableSectionElement.insertRow() is -1.

        * fast/dom/HTMLTableSectionElement/insertRow-default-argument-expected.txt: Added.
        * fast/dom/HTMLTableSectionElement/insertRow-default-argument.html: Added.

2014-05-06  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Optimize the number of regions invalidations
        https://bugs.webkit.org/show_bug.cgi?id=132611

        Reviewed by David Hyatt.

        Because there are less region invalidations there are less repaints
        of the flow threads.

        * fast/regions/repaint/repaint-regions-overflow-expected.txt:

2014-05-06  Chris Fleizach  <cfleizach@apple.com>

        AX: VoiceOver does not announce text changes for content editable regions in Safari
        https://bugs.webkit.org/show_bug.cgi?id=132577

        Reviewed by Mario Sanchez Prada.

        * accessibility/content-editable-set-inner-text-generates-axvalue-notification-expected.txt: Added.
        * accessibility/content-editable-set-inner-text-generates-axvalue-notification.html: Added.

2014-05-06  Dirk Schulze  <krit@webkit.org>

        [SVG2] Share "on"- event attributes with HTMLElement
        https://bugs.webkit.org/show_bug.cgi?id=132604

        Reviewed by Mihnea Ovidenie.

        Test that the "on" event attributes supported by HTMLElement are
        supported by SVGElement as well.

        * fast/dom/event-attribute-availability-expected.txt:
        * fast/dom/script-tests/event-attribute-availability.js:

2014-05-06  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Rename all the tests css3/compositing to css3/blending
        https://bugs.webkit.org/show_bug.cgi?id=132606

        Reviewed by Andrei Bucur.

        * css3/blending: Renamed from LayoutTests/css3/compositing.

2014-05-06  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Rename layout tests css3/compositing to css3/blending
        https://bugs.webkit.org/show_bug.cgi?id=132578

        Reviewed by Andrei Bucur.

        * css3/blending: Renamed from css3/compositing.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-sim/css3/blending: Renamed from platform/ios-sim/css3/compositing
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/mac/css3/blending: Renamed from platform/mac/css3/compositing.
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:

2014-05-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Share mac/editing/spelling/delete-into-misspelled-word.html with other platforms
        https://bugs.webkit.org/show_bug.cgi?id=132561

        Reviewed by Darin Adler.

        This test does not use Mac specific features and
        can be run by other platforms as well.

        Due to bug 125689, this test starts using asynchronous spellchecking.

        * editing/spelling/delete-into-misspelled-word-expected.txt:
        Renamed from LayoutTests/platform/mac/editing/spelling/delete-into-misspelled-word-expected.txt
        * editing/spelling/delete-into-misspelled-word.html:
        Renamed from LayoutTests/platform/mac/editing/spelling/delete-into-misspelled-word.html

        * platform/gtk/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        Mark delete-into-misspelled-word.html as failing since those
        platforms didn't turn on asynchronous spellchecking.

2014-05-05  Dirk Schulze  <krit@webkit.org>

        Adapt inline SVG sizing behavior to Firefox and Blink
        https://bugs.webkit.org/show_bug.cgi?id=132569

        Reviewed by Dean Jackson.

        The new sizing behavior for inline SVG causes different DRT outputs for about 40 test cases.
        This is expected but for most tests an improvement since the SVGs fit into the documents
        and scrollbars disappear or the general size gets smaller.
        Some tests needed to be updated. The size was either not set at all or not properly.

        svg-in-object.js and svg-inline.js contain dozens of new tests to check the correct sizing
        behavior.

        The tests were written by David Vest from Opera as part of CR 308992.

        Many of the -expected updates are caused by SVG size changes in turn
        affecting where line breaks are inserted.

        * TestExpectations:
        * accessibility/svg-image-expected.txt:
        * css3/flexbox/flexitem.html:
        * fast/css/infinite-floating-value-expected.txt:
        * fast/css/remove-fixed-resizer-crash-expected.txt:
        * fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt:
        * fast/repaint/moving-shadow-on-container.html:
        * fast/repaint/moving-shadow-on-path.html:
        * fast/repaint/svg-layout-root-style-attr-update.html:
        * fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html:
        * fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html:
        * http/tests/xmlviewer/dumpAsText/svg-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/batik/paints/patternRegions-positioned-objects-expected.txt:
        * platform/mac/svg/batik/text/longTextOnPath-expected.txt:
        * platform/mac/svg/batik/text/textDecoration-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textLength-expected.txt:
        * platform/mac/svg/batik/text/textOnPath-expected.txt:
        * platform/mac/svg/batik/text/textPosition-expected.txt:
        * platform/mac/svg/batik/text/verticalText-expected.txt:
        * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
        * platform/mac/svg/custom/bug45331-expected.txt:
        * platform/mac/svg/custom/junk-data-expected.txt:
        * platform/mac/svg/custom/missing-xlink-expected.txt:
        * platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Removed.
        * platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
        * platform/mac/svg/custom/path-bad-data-expected.txt:
        * platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
        * platform/mac/svg/custom/use-font-face-crash-expected.txt:
        * platform/mac/svg/foreignObject/svg-document-in-html-document-expected.txt:
        * platform/mac/svg/hixie/error/012-expected.txt:
        * platform/mac/svg/hixie/intrinsic/001-expected.png: Removed.
        * platform/mac/svg/hixie/intrinsic/001-expected.txt: Removed.
        * platform/mac/svg/hixie/intrinsic/002-expected.png: Removed.
        * platform/mac/svg/hixie/intrinsic/002-expected.txt: Removed.
        * platform/mac/svg/in-html/circle-expected.txt:
        * platform/mac/svg/text/non-bmp-positioning-lists-expected.txt:
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
        * platform/mac/svg/wicd/rightsizing-grid-expected.txt:
        * platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
        * platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt:
        * platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt:
        * platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
        * platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt:
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt:
        * svg/animations/animate-css-xml-attributeType-expected.txt:
        * svg/as-image/image-respects-deviceScaleFactor.html:
        * svg/as-image/image-respects-pageScaleFactor.html:
        * svg/as-image/svg-as-image-with-relative-size-expected.html:
        * svg/as-image/svg-as-relative-image.html:
        * svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt: Added.
        * svg/as-object/sizing/svg-in-object-placeholder-height-auto.html: Added.
        * svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt: Added.
        * svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html: Added.
        * svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt: Added.
        * svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html: Added.
        * svg/as-object/sizing/svg-in-object.js: Added.
        (.):
        (.addAttr):
        (.generateSVGURI):
        (buildDemo):
        (.doCombinationTestRecursive):
        (doCombinationTest):
        (debugHint):
        (.debugHint):
        (testSVGInObjectWithPlaceholderHeightAttr.):
        (testSVGInObjectWithPlaceholderHeightAttr):
        * svg/css/composite-shadow-example.html:
        * svg/css/composite-shadow-with-opacity.html:
        * svg/css/max-width-2.html:
        * svg/css/stars-with-shadow.html:
        * svg/custom/absolute-sized-content-with-resources.xhtml:
        * svg/custom/altglyph.svg:
        * svg/custom/document-all-includes-svg-expected.txt:
        * svg/custom/external-paintserver-reference-expected.txt:
        * svg/custom/external-paintserver-reference.svg:
        * svg/custom/get-text-element-transform-crash-expected.txt:
        * svg/custom/linking-base-external-reference-expected.txt:
        * svg/custom/linking-base-external-reference.xhtml:
        * svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.txt: Removed.
        * svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml: Removed.
        * svg/custom/object-sizing-height-50p-on-target-svg-expected.txt: Removed.
        * svg/custom/object-sizing-height-50p-on-target-svg.xhtml: Removed.
        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Removed.
        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.txt: Removed.
        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml: Removed.
        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Removed.
        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml: Removed.
        * svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
        * svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Removed.
        * svg/custom/object-sizing-width-50p-on-target-svg-expected.txt: Removed.
        * svg/custom/object-sizing-width-50p-on-target-svg.xhtml: Removed.
        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Removed.
        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml: Removed.
        * svg/custom/pending-resource-after-removal.xhtml:
        * svg/custom/percentage-of-html-parent.xhtml:
        * svg/custom/relative-sized-content-with-resources.xhtml:
        * svg/custom/relative-sized-content.xhtml:
        * svg/custom/relative-sized-deep-shadow-tree-content.xhtml:
        * svg/custom/relative-sized-image.xhtml:
        * svg/custom/relative-sized-inner-svg.xhtml:
        * svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml:
        * svg/custom/relative-sized-shadow-tree-content.xhtml:
        * svg/custom/relative-sized-use-on-symbol.xhtml:
        * svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml:
        * svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt:
        * svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
        * svg/custom/use-invalid-html-expected.txt:
        * svg/custom/window-named-item-lookup-expected.txt:
        * svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt:
        * svg/dom/parent-view-layout-crash-expected.txt:
        * svg/dom/stylesheet-candidate-node-crash-main-expected.txt:
        * svg/dom/svg-root-lengths.html:
        * svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt:
        * svg/hixie/intrinsic/001-expected.png: Removed.
        * svg/hixie/intrinsic/001-expected.txt: Removed.
        * svg/hixie/intrinsic/001.html: Removed.
        * svg/hixie/intrinsic/002-expected.png: Removed.
        * svg/hixie/intrinsic/002-expected.txt: Removed.
        * svg/hixie/intrinsic/002.html: Removed.
        * svg/hixie/intrinsic/resources/001.svg: Removed.
        * svg/hixie/intrinsic/resources/002.svg: Removed.
        * svg/in-html/sizing/svg-inline-expected.txt: Added.
        * svg/in-html/sizing/svg-inline.html: Added.
        * svg/in-html/sizing/svg-inline.js: Added.
        (.):
        (setupSVGElement):
        (buildDemo):
        (.doCombinationTestRecursive):
        (doCombinationTest):
        (debugHint):
        (.debugHint):
        * svg/path-arc-invalid-expected.txt:
        * svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
        * svg/text/append-text-node-to-tspan.html:
        * svg/text/kerning.svg:
        * svg/text/modify-text-node-in-tspan.html:
        * svg/text/multichar-glyph.svg:
        * svg/text/remove-text-node-from-tspan.html:
        * svg/text/remove-tspan-from-text.html:
        * svg/text/svg-rtl-text-crash-expected.txt:
        * svg/text/text-block-child-crash-expected.txt:
        * svg/transforms/animated-path-inside-transformed-html.xhtml:
        * svg/transforms/svg-css-transforms-clip-path.xhtml:
        * svg/transforms/transform-origin-css-property.xhtml:
        * svg/zoom/page/zoom-foreignObject.svg:
        * svg/zoom/page/zoom-svg-as-relative-image.html:
        * svg/zoom/text/zoom-foreignObject.svg:

2014-05-05  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Add tests using blending and isolation for body and html elements.
        https://bugs.webkit.org/show_bug.cgi?id=132325

        Reviewed by Dirk Schulze.

        * css3/compositing/blend-mode-body-child-background-color-expected.html: Added.
        * css3/compositing/blend-mode-body-child-background-color.html: Added.
        * css3/compositing/blend-mode-body-child-expected.html: Added.
        * css3/compositing/blend-mode-body-child-isolate-background-color-expected.html: Added.
        * css3/compositing/blend-mode-body-child-isolate-background-color.html: Added.
        * css3/compositing/blend-mode-body-child-isolate-html-background-color-expected.html: Added.
        * css3/compositing/blend-mode-body-child-isolate-html-background-color.html: Added.
        * css3/compositing/blend-mode-body-child.html: Added.
        * css3/compositing/blend-mode-body-element-expected.html: Added.
        * css3/compositing/blend-mode-body-element.html: Added.
        * css3/compositing/blend-mode-html-element-screen-expected.html: Added.
        * css3/compositing/blend-mode-html-element-screen.html: Added.

2014-05-05  Andreas Kling  <akling@apple.com>

        Mark http/tests/media/hls/video-controls-live-stream.html as WontFix on Mountain Lion.
        <https://webkit.org/b/132491>

        * platform/mac/TestExpectations:

2014-05-05  Andreas Kling  <akling@apple.com>

        REGRESSION (r168256): ASSERTION FAILED: (buffer + m_length) == position loading vanityfair.com article.
        <https://webkit.org/b/168256>
        <rdar://problem/16816316>

        Reviewed by Geoffrey Garen.

        * fast/dom/getElementById-with-rope-string-arg-expected.txt: Added.
        * fast/dom/getElementById-with-rope-string-arg.html: Added.

2014-05-05  Benjamin Poulain  <benjamin@webkit.org>

        Clean up Image Document and tweak the layout and viewport
        https://bugs.webkit.org/show_bug.cgi?id=132552

        Reviewed by Anders Carlsson.

        * svg/custom/anchor-on-use-expected.svg:

2014-05-05  Christophe Dumez  <ch.dumez@samsung.com>

        Named element cache can become invalid during HTMLCollection::updateNamedElementCache()
        https://bugs.webkit.org/show_bug.cgi?id=132575

        Reviewed by Ryosuke Niwa.

        Add layout test to verify that HTMLCollection::updateNamedElementCache() is no longer
        crashing for collections of selected options.

        * fast/dom/htmlcollection-selectedOptions-namedItem-crash-expected.txt: Added.
        * fast/dom/htmlcollection-selectedOptions-namedItem-crash.html: Added.

2014-05-05  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Webkit-blend-mode fails for accelerated parent with overflow:hidden
        https://bugs.webkit.org/show_bug.cgi?id=126160

        Reviewed by Dean Jackson.

        * css3/compositing/blend-mode-accelerated-parent-overflow-hidden-expected.html: Added.
        * css3/compositing/blend-mode-accelerated-parent-overflow-hidden.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-canvas-expected.txt: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-canvas.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-child-expected.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-child.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-double-expected.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-double.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-with-siblings-expected.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-blending-with-siblings.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-transformed-blending-expected.html: Added.
        * css3/compositing/blend-mode-clip-accelerated-transformed-blending.html: Added.
        * css3/compositing/blend-mode-clip-rect-accelerated-blending.html: Added.
        * css3/compositing/blend-mode-clip-rect-accelerated-blending-expected.html: Added.
        * css3/compositing/blend-mode-isolation-accelerated-overflow-hidden-expected.txt:

2014-05-05  Dirk Schulze  <krit@webkit.org>

        AX: tabindex support in SVG2
        https://bugs.webkit.org/show_bug.cgi?id=130212

        Reviewed by Chris Fleizach.

        Add test for tabindex on various SVG elements. Negative tests included.

        Test is based upon a test from Erik Dahlström. Modified to test all SVGGraphicsElements.

        * svg/custom/tabindex-order-expected.txt: Added.
        * svg/custom/tabindex-order.html: Added.
        * accessibility/svg-group-element-with-title.html: Give group element a role.
        * platform/gtk/svg/custom/linking-uri-01-b-expected.txt:
        * platform/ios-sim/svg/custom/linking-uri-01-b-expected.txt:
        * platform/mac/svg/custom/linking-uri-01-b-expected.txt:

2014-05-05  Beth Dakin  <bdakin@apple.com>

        REGRESSION (r168244): compositing/visibility/visibility-image-layers-dynamic.html 
        failing.
        https://bugs.webkit.org/show_bug.cgi?id=132551

        Reviewed by Tim Horton.

        This just needed a re-baseline after all. The bounds have increased in size 
        because the size of the layer tree dump effects the bounds! So now that we are 
        printing out anchor points, the bound increase by 15 pixels for every new anchor 
        point print-out.

        Should not longer be marked failing.
        * TestExpectations:

        Added comment to the test.
        * compositing/visibility/visibility-image-layers-dynamic.html:

        Re-baseline.
        * platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:

2014-05-05  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Move fast/repaint tests to css3/compositing/repaint
        https://bugs.webkit.org/show_bug.cgi?id=132567

        Reviewed by Mihnea Ovidenie.

        * css3/compositing/repaint/blend-mode-isolate-stacking-context-expected.txt: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context-expected.txt.
        * css3/compositing/repaint/blend-mode-isolate-stacking-context.html: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context.html.
        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:

2014-05-05  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Remove regionLayoutUpdate event
        https://bugs.webkit.org/show_bug.cgi?id=132564

        Reviewed by Simon Fraser.

        Removed test for regionLayoutUpdate event.

        * fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes.html: Removed.

2014-05-05  Rik Cabanier  <cabanier@adobe.com>

        Enhance IDL compiler so it supports unrestricted float and double
        https://bugs.webkit.org/show_bug.cgi?id=132460

        Reviewed by Dirk Schulze.

        * canvas/philip/tests/2d.gradient.linear.nonfinite.html:
        * canvas/philip/tests/2d.gradient.object.invalidoffset.html:
        * canvas/philip/tests/2d.gradient.radial.nonfinite.html:
        * canvas/philip/tests/2d.imageData.get.nonfinite.html:
        * canvas/philip/tests/2d.imageData.put.nonfinite.html:
        * canvas/philip/tests/2d.missingargs-expected.txt:
        * canvas/philip/tests/2d.missingargs.html:
        * fast/canvas/canvas-getImageData-invalid-expected.txt:
        * fast/canvas/canvas-putImageData-expected.txt:
        * fast/canvas/canvas-putImageData.js:
        * fast/canvas/linearGradient-infinite-values-expected.txt:
        * fast/canvas/radialGradient-infinite-values-expected.txt:
        * fast/canvas/script-tests/canvas-getImageData-invalid.js:
        * fast/canvas/script-tests/linearGradient-infinite-values.js:
        * fast/canvas/script-tests/radialGradient-infinite-values.js:
        * platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:

2014-05-05  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Elements with overflow:auto are not painted inside regions when following a float
        https://bugs.webkit.org/show_bug.cgi?id=131161

        Reviewed by David Hyatt.

        Added test for an overflow:auto element being flowed after a float.

        * fast/regions/overflow-auto-after-float-expected.html: Added.
        * fast/regions/overflow-auto-after-float.html: Added.

2014-05-05  Andrei Bucur  <abucur@adobe.com>

        [CSSRegions] Slider displayed wrong in regions
        https://bugs.webkit.org/show_bug.cgi?id=132243

        Reviewed by Mihnea Ovidenie.

        Tests that the thumb of positioned slider inside regions is correctly painted.

        * fast/regions/positioned-slider-in-regions-expected.html: Added.
        * fast/regions/positioned-slider-in-regions.html: Added.

2014-05-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Unreviewed. New GTK baseline for media/media-controls-clone.html.

        * platform/gtk/TestExpectations: Removed from the expectations.
        * platform/gtk/media/media-controls-clone-expected.png:
        * platform/gtk/media/media-controls-clone-expected.txt: New
        baseline.

2014-05-05  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] ASSERT when hovering over region
        https://bugs.webkit.org/show_bug.cgi?id=128809

        Reviewed by Mihnea Ovidenie.

        Add a test verifying we're not trying to hit-test a box inside a region
        where it's not contained.

        * fast/regions/hit-test-box-non-containing-region-expected.txt: Added.
        * fast/regions/hit-test-box-non-containing-region.html: Added.

2014-05-04  Andreas Kling  <akling@apple.com>

        Unreviewed, rolling out r168254.

        Very crashy on debug JSC tests.

        Reverted changeset:

        "jsSubstring() should be lazy"
        https://bugs.webkit.org/show_bug.cgi?id=132556
        http://trac.webkit.org/changeset/168254

2014-05-04  Filip Pizlo  <fpizlo@apple.com>

        jsSubstring() should be lazy
        https://bugs.webkit.org/show_bug.cgi?id=132556

        Reviewed by Andreas Kling.
        
        These tests get 35-50% faster.

        * js/regress/script-tests/substring-concat-weird.js: Added.
        (foo):
        * js/regress/script-tests/substring-concat.js: Added.
        (foo):
        * js/regress/script-tests/substring.js: Added.
        (foo):
        * js/regress/substring-concat-expected.txt: Added.
        * js/regress/substring-concat-weird-expected.txt: Added.
        * js/regress/substring-concat-weird.html: Added.
        * js/regress/substring-concat.html: Added.
        * js/regress/substring-expected.txt: Added.
        * js/regress/substring.html: Added.

2014-05-04  Andreas Kling  <akling@apple.com>

        Mark compositing/visibility/visibility-image-layers-dynamic.html as failing after r168244.

        * TestExpectations:

2014-05-04  Beth Dakin  <bdakin@apple.com>

        Even more re-baselining for anchor point after 
        http://trac.webkit.org/changeset/168244

        * platform/mac-mountainlion/compositing/contents-opaque/control-layer-expected.txt:
        * platform/mac/compositing/contents-opaque/control-layer-expected.txt:

2014-05-04  Beth Dakin  <bdakin@apple.com>

        Additional re-baselining for anchor point after 
        http://trac.webkit.org/changeset/168244

        * compositing/contents-opaque/control-layer-expected.txt:
        * css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts-expected.txt:
        * css3/compositing/blend-mode-ancestor-clipping-layer-expected.txt:
        * css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
        * css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
        * css3/compositing/blend-mode-with-accelerated-sibling-expected.txt:
        * css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
        * css3/filters/filtered-compositing-descendant-expected.txt:

2014-05-04  Beth Dakin  <bdakin@apple.com>

        Top content inset: Margin tiles should not display in the inset area when pinned 
        to the top of the page
        https://bugs.webkit.org/show_bug.cgi?id=132535
        -and corresponding-
        <rdar://problem/16613039>

        Reviewed by Simon Fraser.

        Anchor point!

        * compositing/absolute-inside-out-of-view-fixed-expected.txt:
        * compositing/animation/filling-animation-overlap-at-end-expected.txt:
        * compositing/animation/filling-animation-overlap-expected.txt:
        * compositing/animation/layer-for-filling-animation-expected.txt:
        * compositing/backing/backface-visibility-in-3dtransformed-expected.txt:
        * compositing/backing/no-backing-for-clip-expected.txt:
        * compositing/backing/no-backing-for-clip-overhang-expected.txt:
        * compositing/backing/no-backing-for-clip-overlap-expected.txt:
        * compositing/backing/no-backing-for-perspective-expected.txt:
        * compositing/bounds-in-flipped-writing-mode-expected.txt:
        * compositing/clip-child-by-non-stacking-ancestor-expected.txt:
        * compositing/columns/ancestor-clipped-in-paginated-expected.txt:
        * compositing/columns/clipped-in-paginated-expected.txt:
        * compositing/columns/composited-columns-expected.txt:
        * compositing/columns/composited-columns-vertical-rl-expected.txt:
        * compositing/columns/composited-in-paginated-expected.txt:
        * compositing/columns/composited-in-paginated-rl-expected.txt:
        * compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt:
        * compositing/columns/composited-lr-paginated-repaint-expected.txt:
        * compositing/columns/composited-nested-columns-expected.txt:
        * compositing/columns/composited-rl-paginated-repaint-expected.txt:
        * compositing/columns/hittest-composited-in-paginated-expected.txt:
        * compositing/columns/rotated-in-paginated-expected.txt:
        * compositing/columns/untransformed-composited-in-paginated-expected.txt:
        * compositing/contents-opaque/background-clip-expected.txt:
        * compositing/contents-opaque/background-color-expected.txt:
        * compositing/contents-opaque/body-background-painted-expected.txt:
        * compositing/contents-opaque/body-background-skipped-expected.txt:
        * compositing/contents-opaque/filter-expected.txt:
        * compositing/contents-opaque/hidden-with-visible-child-expected.txt:
        * compositing/contents-opaque/hidden-with-visible-text-expected.txt:
        * compositing/contents-opaque/layer-opacity-expected.txt:
        * compositing/contents-opaque/layer-transform-expected.txt:
        * compositing/contents-opaque/overflow-hidden-child-layers-expected.txt:
        * compositing/contents-opaque/visibility-hidden-expected.txt:
        * compositing/contents-scale/animating-expected.txt:
        * compositing/contents-scale/rounded-contents-scale-expected.txt:
        * compositing/contents-scale/scaled-ancestor-expected.txt:
        * compositing/contents-scale/simple-scale-expected.txt:
        * compositing/contents-scale/z-translate-expected.txt:
        * compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
        * compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt:
        * compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
        * compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt:
        * compositing/geometry/ancestor-overflow-change-expected.txt:
        * compositing/geometry/bounds-clipped-composited-child-expected.txt:
        * compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
        * compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
        * compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
        * compositing/geometry/bounds-ignores-hidden-expected.txt:
        * compositing/geometry/clip-expected.txt:
        * compositing/geometry/clip-inside-expected.txt:
        * compositing/geometry/composited-in-columns-expected.txt:
        * compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
        * compositing/geometry/flipped-writing-mode-expected.txt:
        * compositing/geometry/foreground-layer-expected.txt:
        * compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
        * compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
        * compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
        * compositing/geometry/limit-layer-bounds-fixed-expected.txt:
        * compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
        * compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt:
        * compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
        * compositing/geometry/limit-layer-bounds-positioned-expected.txt:
        * compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
        * compositing/geometry/limit-layer-bounds-transformed-expected.txt:
        * compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
        * compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt:
        * compositing/geometry/preserve-3d-switching-expected.txt:
        * compositing/iframes/become-composited-nested-iframes-expected.txt:
        * compositing/iframes/become-overlapped-iframe-expected.txt:
        * compositing/iframes/composited-parent-iframe-expected.txt:
        * compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
        * compositing/iframes/connect-compositing-iframe-expected.txt:
        * compositing/iframes/connect-compositing-iframe2-expected.txt:
        * compositing/iframes/connect-compositing-iframe3-expected.txt:
        * compositing/iframes/enter-compositing-iframe-expected.txt:
        * compositing/iframes/iframe-resize-expected.txt:
        * compositing/iframes/iframe-size-from-zero-expected.txt:
        * compositing/iframes/invisible-nested-iframe-hide-expected.txt:
        * compositing/iframes/overlapped-iframe-expected.txt:
        * compositing/iframes/overlapped-iframe-iframe-expected.txt:
        * compositing/iframes/overlapped-nested-iframes-expected.txt:
        * compositing/iframes/page-cache-layer-tree-expected.txt:
        * compositing/iframes/scrolling-iframe-expected.txt:
        * compositing/images/clip-on-directly-composited-image-expected.txt:
        * compositing/layer-creation/animation-overlap-with-children-expected.txt:
        * compositing/layer-creation/fixed-position-and-transform-expected.txt:
        * compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
        * compositing/layer-creation/fixed-position-out-of-view-expected.txt:
        * compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
        * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
        * compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
        * compositing/layer-creation/fixed-position-under-transform-expected.txt:
        * compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt:
        * compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
        * compositing/layer-creation/overflow-scroll-overlap-expected.txt:
        * compositing/layer-creation/overlap-animation-clipping-expected.txt:
        * compositing/layer-creation/overlap-animation-expected.txt:
        * compositing/layer-creation/overlap-child-layer-expected.txt:
        * compositing/layer-creation/overlap-clipping-expected.txt:
        * compositing/layer-creation/overlap-transformed-3d-expected.txt:
        * compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
        * compositing/layer-creation/overlap-transformed-layer-expected.txt:
        * compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
        * compositing/layer-creation/overlap-transforms-expected.txt:
        * compositing/layer-creation/rotate3d-overlap-expected.txt:
        * compositing/layer-creation/scroll-partial-update-expected.txt:
        * compositing/layer-creation/spanOverlapsCanvas-expected.txt:
        * compositing/layer-creation/stacking-context-overlap-expected.txt:
        * compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
        * compositing/layer-creation/translatez-overlap-expected.txt:
        * compositing/masks/mask-layer-size-expected.txt:
        * compositing/overflow-trumps-transform-style-expected.txt:
        * compositing/overflow/clip-descendents-expected.txt:
        * compositing/overflow/content-gains-scrollbars-expected.txt:
        * compositing/overflow/content-loses-scrollbars-expected.txt:
        * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt:
        * compositing/overflow/overflow-scrollbar-layers-expected.txt:
        * compositing/overflow/resize-painting-expected.txt:
        * compositing/plugins/no-backing-store-expected.txt:
        * compositing/plugins/small-to-large-composited-plugin-expected.txt:
        * compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt:
        * compositing/regions/fixed-in-named-flow-expected.txt:
        * compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt:
        * compositing/regions/fixed-in-named-flow-from-outflow-expected.txt:
        * compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt:
        * compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt:
        * compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt:
        * compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt:
        * compositing/regions/fixed-transformed-in-named-flow-expected.txt:
        * compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt:
        * compositing/repaint/fixed-background-scroll-expected.txt:
        * compositing/repaint/positioned-movement-expected.txt:
        * compositing/repaint/repaint-on-layer-grouping-change-expected.txt:
        * compositing/repaint/resize-repaint-expected.txt:
        * compositing/rtl/rtl-absolute-expected.txt:
        * compositing/rtl/rtl-absolute-overflow-expected.txt:
        * compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
        * compositing/rtl/rtl-fixed-expected.txt:
        * compositing/rtl/rtl-fixed-overflow-expected.txt:
        * compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
        * compositing/rtl/rtl-relative-expected.txt:
        * compositing/tiled-layers-hidpi-expected.txt:
        * compositing/visibility/layer-visible-content-expected.txt:
        * platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
        * platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
        * platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt:
        * platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt:
        * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
        * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
        * platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
        * platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
        * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
        * platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt:
        * platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt:
        * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
        * platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt:
        * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt:
        * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
        * platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
        * platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
        * platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt:
        * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
        * platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
        * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
        * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
        * platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt:
        * platform/mac/compositing/canvas/accelerated-canvas-compositing-expected.txt:
        * platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
        * platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
        * platform/mac/compositing/iframes/resizer-expected.txt:
        * platform/mac/compositing/images/direct-image-object-fit-expected.txt:
        * platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
        * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
        * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
        * platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
        * platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
        * platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt:
        * platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
        * platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
        * platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
        * platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
        * platform/mac/compositing/tiling/huge-layer-img-expected.txt:
        * platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
        * platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
        * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
        * platform/mac/compositing/video/video-object-fit-expected.txt:
        * platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
        * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
        * platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
        * platform/mac/compositing/visible-rect/animated-expected.txt:
        * platform/mac/compositing/visible-rect/animated-from-none-expected.txt:
        * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
        * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
        * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt:
        * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
        * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
        * platform/mac/compositing/visible-rect/nested-transform-expected.txt:
        * platform/mac/compositing/visible-rect/scrolled-expected.txt:

2014-05-03  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: optimize direct / indirect adjacent's traversal backtracking
        https://bugs.webkit.org/show_bug.cgi?id=132319

        Reviewed by Benjamin Poulain.

        * fast/selectors/backtracking-adjacent-expected.txt: Added.
        * fast/selectors/backtracking-adjacent.html: Added.

2014-05-03  Andreas Kling  <akling@apple.com>

        Invalidate scrollbars when custom scrollbar style changes dynamically.
        <https://webkit.org/b/132529>

        Reviewed by Antti Koivisto.

        * fast/css/scrollbar-dynamic-style-change-expected.html: Added.
        * fast/css/scrollbar-dynamic-style-change.html: Added.

2014-05-03  Simon Fraser  <simon.fraser@apple.com>

        [UI-side compositing] Assertion in PlatformCAFilters::setFiltersOnLayer with animated reference filter
        https://bugs.webkit.org/show_bug.cgi?id=132528
        <rdar://problem/16671660>

        Reviewed by Tim Horton.
        
        Make the animation duration a little longer to cause bug 132528 to reproduce more
        reliably. The test does notifyDone() from an animation start event, so this doesn't
        increase test duration.

        * css3/filters/crash-filter-animation-invalid-url.html:

2014-05-03  Simon Fraser  <simon.fraser@apple.com>

        Very fuzzy layers under non-decompasable matrices
        https://bugs.webkit.org/show_bug.cgi?id=132516
        <rdar://problem/16717478>

        Reviewed by Sam Weinig.
        
        Compare scaling under non-decomposable and decomposable matrices.

        * compositing/contents-scale/non-decomposable-matrix-expected.html: Added.
        * compositing/contents-scale/non-decomposable-matrix.html: Added.

2014-05-03  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Add hidpi fieldset/legend test case to check fieldset's cliprect when legend text is present.
        https://bugs.webkit.org/show_bug.cgi?id=132524

        Reviewed by Simon Fraser.

        This is the hidpi test for r168221. (Fieldset legend has a horizontal line 
        through, when the fieldset is painted on odd device pixel position.)

        * fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present-expected.html: Added.
        * fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present.html: Added.

2014-05-02  Zalan Bujtas  <zalan@apple.com>

        [Mac] Unreviewed gardening.

        Cliprect does not cover textarea properly on certain subpixel positions.

        * platform/mac/TestExpectations:

2014-05-02  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Don't create backing store for -webkit-overflow-scrolling:touch that can't scroll
        https://bugs.webkit.org/show_bug.cgi?id=132487
        <rdar://problem/16758041>

        Reviewed by Sam Weinig.
        
        These are all progressions, and show that we make layers in fewer cases.

        * platform/ios-sim/compositing/overflow/iframe-inside-overflow-clipping-expected.txt:
        * platform/ios-sim/compositing/overflow/overflow-auto-with-touch-no-overflow-expected.txt:
        * platform/ios-sim/compositing/overflow/overflow-overlay-with-touch-no-overflow-expected.txt:
        * platform/ios-sim/compositing/overflow/overflow-scroll-with-touch-no-overflow-expected.txt:
        * platform/ios-sim/compositing/overflow/subpixel-overflow-expected.txt:

2014-05-02  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r168150.
        https://bugs.webkit.org/show_bug.cgi?id=132471

        This test is still broken (Requested by ap on #webkit).

        Reverted changeset:

        "REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-
        event-target.xhtml assert and flakey"
        https://bugs.webkit.org/show_bug.cgi?id=93812
        http://trac.webkit.org/changeset/168150

2014-05-02  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Remove support for non-separable blend modes from background-blend-mode
        https://bugs.webkit.org/show_bug.cgi?id=132327

        Reviewed by Dean Jackson.

        * css3/compositing/background-blend-mode-gif-color-2.html:
        * css3/compositing/background-blend-mode-gif-color.html:
        * css3/compositing/background-blend-mode-gradient-color.html:
        * css3/compositing/background-blend-mode-gradient-gradient.html:
        * css3/compositing/background-blend-mode-gradient-image.html:
        * css3/compositing/background-blend-mode-image-color.html:
        * css3/compositing/background-blend-mode-image-image.html:
        * css3/compositing/background-blend-mode-image-svg.html:
        * css3/compositing/background-blend-mode-multiple-background-layers.html:
        * css3/compositing/background-blend-mode-property-expected.txt:
        * css3/compositing/background-blend-mode-property-parsing-expected.txt:
        * css3/compositing/background-blend-mode-svg-color.html:
        * css3/compositing/effect-background-blend-mode-tiled.html:
        * css3/compositing/effect-background-blend-mode.html:
        * css3/compositing/script-tests/background-blend-mode-property-parsing.js:
        * css3/compositing/script-tests/background-blend-mode-property.js:
        * platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.txt:
        * platform/mac/css3/compositing/background-blend-mode-gif-color-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-gif-color-expected.txt:
        * platform/mac/css3/compositing/background-blend-mode-gradient-color-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-gradient-gradient-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-gradient-image-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-image-color-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-image-color-expected.txt:
        * platform/mac/css3/compositing/background-blend-mode-image-image-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-image-image-expected.txt:
        * platform/mac/css3/compositing/background-blend-mode-image-svg-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-multiple-background-layers-expected.png:
        * platform/mac/css3/compositing/background-blend-mode-svg-color-expected.png:

2014-05-01  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-event-target.xhtml assert and flakey
        https://bugs.webkit.org/show_bug.cgi?id=93812

        This is most likely fixed, unmarking the test.

        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:

2014-05-01  Simon Fraser  <simon.fraser@apple.com>

        Don't always make backing store for -webkit-backface-visibility:hidden
        https://bugs.webkit.org/show_bug.cgi?id=132420

        Reviewed by Sam Weinig.
        
        Dump layers for elements with backface-visibility: hidden with various types
        of ancestors.

        * compositing/backing/backface-visibility-expected.txt: Added.
        * compositing/backing/backface-visibility-in-3dtransformed-expected.txt: Added.
        * compositing/backing/backface-visibility-in-3dtransformed.html: Added.
        * compositing/backing/backface-visibility-in-transformed-expected.txt: Added.
        * compositing/backing/backface-visibility-in-transformed.html: Added.
        * compositing/backing/backface-visibility.html: Added.
        * inspector-protocol/layers/layers-anonymous.html: Don't use backface-visibility
        for force a layer.

2014-05-01  Brent Fulgham  <bfulgham@apple.com>

        Fix handling of attributes prior to compiling shader
        https://bugs.webkit.org/show_bug.cgi?id=132430

        Reviewed by Dean Jackson.

        * fast/canvas/webgl/gl-bind-attrib-location-before-compile-test-expected.txt: Added.
        * fast/canvas/webgl/gl-bind-attrib-location-before-compile-test.html: Added.

2014-05-01  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make selection gaps painting subpixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=132169

        Reviewed by Simon Fraser.

        Push selection gaps painting to device pixel boundaries instead of integral CSS pixel positions.

        * fast/inline/hidpi-selection-gap-on-subpixel-position-expected.html: Added.
        * fast/inline/hidpi-selection-gap-on-subpixel-position.html: Added. : &nbsp is needed to make
        this test pass on WK2. Font rendering reports differences. 0.9 transparency is added so that
        text selection code does modify the color's alpha channel and I can properly match it.

2014-05-01  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Clamping the number of repetitions in repeat()
        https://bugs.webkit.org/show_bug.cgi?id=131023

        Reviewed by Brent Fulgham.

        Test to ensure the number of repetitions used in the repeat() function
        is clamped to 10K.

        * fast/css-grid-layout/grid-element-repeat-max-repetitions-expected.txt: Added.
        * fast/css-grid-layout/grid-element-repeat-max-repetitions.html: Added.

2014-05-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167964.
        https://bugs.webkit.org/show_bug.cgi?id=132431

        Memory improvements should not regress memory usage (Requested
        by olliej on #webkit).

        Reverted changeset:

        "Don't hold on to parameter BindingNodes forever"
        https://bugs.webkit.org/show_bug.cgi?id=132360
        http://trac.webkit.org/changeset/167964

2014-05-01  Alexey Proskuryakov  <ap@apple.com>

        fast/multicol/fixed-stack.html failing since introduction.
        https://bugs.webkit.org/show_bug.cgi?id=132421

        * TestExpectations: Changed expectation from Skip to ImageOnyFailure

2014-05-01  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.
        Rebaseline affected tests by the new multi-column mode that was
        enabled on r168046, and later modified on r168076 and r168088.


        * platform/gtk/TestExpectations: Include two new flaky tests after
        the new multi-colum mode and remove expectations for the ones that
        now pass.

        * platform/gtk/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/gtk/fast/block/float/float-not-removed-from-next-sibling4-expected.png:
        * platform/gtk/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
        * platform/gtk/fast/borders/border-antialiasing-expected.txt:
        * platform/gtk/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/gtk/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/gtk/fast/multicol/block-axis-horizontal-bt-expected.txt:
        * platform/gtk/fast/multicol/block-axis-horizontal-tb-expected.txt:
        * platform/gtk/fast/multicol/block-axis-vertical-lr-expected.txt:
        * platform/gtk/fast/multicol/block-axis-vertical-rl-expected.txt:
        * platform/gtk/fast/multicol/border-padding-pagination-expected.png:
        * platform/gtk/fast/multicol/border-padding-pagination-expected.txt:
        * platform/gtk/fast/multicol/client-rects-expected.png:
        * platform/gtk/fast/multicol/client-rects-expected.txt:
        * platform/gtk/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
        * platform/gtk/fast/multicol/client-rects-spanners-expected.txt: Added.
        * platform/gtk/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/gtk/fast/multicol/column-count-with-rules-expected.txt:
        * platform/gtk/fast/multicol/column-rules-expected.png:
        * platform/gtk/fast/multicol/column-rules-expected.txt:
        * platform/gtk/fast/multicol/column-rules-stacking-expected.png:
        * platform/gtk/fast/multicol/column-rules-stacking-expected.txt:
        * platform/gtk/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/gtk/fast/multicol/float-avoidance-expected.txt:
        * platform/gtk/fast/multicol/float-multicol-expected.png:
        * platform/gtk/fast/multicol/float-multicol-expected.txt:
        * platform/gtk/fast/multicol/float-paginate-complex-expected.txt:
        * platform/gtk/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/gtk/fast/multicol/float-paginate-expected.txt:
        * platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
        * platform/gtk/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/gtk/fast/multicol/margin-collapse-expected.txt:
        * platform/gtk/fast/multicol/max-height-columns-block-expected.png:
        * platform/gtk/fast/multicol/max-height-columns-block-expected.txt:
        * platform/gtk/fast/multicol/nested-columns-expected.png:
        * platform/gtk/fast/multicol/nested-columns-expected.txt:
        * platform/gtk/fast/multicol/newmulticol/client-rects-expected.png: Added.
        * platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/gtk/fast/multicol/overflow-across-columns-expected.txt:
        * platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.png:
        * platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/gtk/fast/multicol/overflow-unsplittable-expected.png:
        * platform/gtk/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/gtk/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-bt-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-lr-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-rl-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/gtk/fast/multicol/pagination/BottomToTop-tb-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/gtk/fast/multicol/pagination/LeftToRight-bt-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/LeftToRight-lr-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/LeftToRight-lr-expected.txt:
        * platform/gtk/fast/multicol/pagination/LeftToRight-rl-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/gtk/fast/multicol/pagination/LeftToRight-tb-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-bt-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-lr-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-rl-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/gtk/fast/multicol/pagination/RightToLeft-tb-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/gtk/fast/multicol/pagination/TopToBottom-bt-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/gtk/fast/multicol/pagination/TopToBottom-lr-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/gtk/fast/multicol/pagination/TopToBottom-rl-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/gtk/fast/multicol/pagination/TopToBottom-tb-expected.png: Added.
        * platform/gtk/fast/multicol/pagination/TopToBottom-tb-expected.txt:
        * platform/gtk/fast/multicol/positioned-split-expected.txt:
        * platform/gtk/fast/multicol/positive-leading-expected.png:
        * platform/gtk/fast/multicol/positive-leading-expected.txt:
        * platform/gtk/fast/multicol/scrolling-overflow-expected.txt:
        * platform/gtk/fast/multicol/shadow-breaking-expected.png:
        * platform/gtk/fast/multicol/shadow-breaking-expected.txt:
        * platform/gtk/fast/multicol/shrink-to-column-height-for-pagination-expected.png: Added.
        * platform/gtk/fast/multicol/shrink-to-column-height-for-pagination-expected.txt:
        * platform/gtk/fast/multicol/single-line-expected.txt:
        * platform/gtk/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
        * platform/gtk/fast/multicol/span/anonymous-before-child-parent-crash-expected.txt:
        * platform/gtk/fast/multicol/span/anonymous-split-block-crash-expected.png:
        * platform/gtk/fast/multicol/span/anonymous-split-block-crash-expected.txt:
        * platform/gtk/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/gtk/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
        * platform/gtk/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
        * platform/gtk/fast/multicol/span/clone-flexbox-expected.txt:
        * platform/gtk/fast/multicol/span/clone-summary-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.png:
        * platform/gtk/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-child-generated-content-expected.png:
        * platform/gtk/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.png:
        * platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-nested-columns-child-expected.png:
        * platform/gtk/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/gtk/fast/multicol/span/span-as-nested-inline-block-child-expected.txt:
        * platform/gtk/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/gtk/fast/multicol/table-margin-collapse-expected.txt:
        * platform/gtk/fast/multicol/table-vertical-align-expected.txt:
        * platform/gtk/fast/multicol/unsplittable-inline-block-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
        * platform/gtk/fast/multicol/vertical-lr/border-padding-pagination-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/column-rules-expected.png:
        * platform/gtk/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-avoidance-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.png:
        * platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/gtk/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
        * platform/gtk/fast/multicol/vertical-rl/border-padding-pagination-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/column-rules-expected.png:
        * platform/gtk/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-avoidance-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.png:
        * platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/rule-style-expected.txt:
        * platform/gtk/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
        * platform/gtk/fast/overflow/paged-x-div-expected.txt:
        * platform/gtk/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/gtk/fast/overflow/paged-x-on-root-expected.txt:
        * platform/gtk/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/gtk/fast/overflow/paged-y-div-expected.txt:
        * platform/gtk/fast/overflow/paged-y-on-root-expected.txt:
        * platform/gtk/fast/repaint/multicol-repaint-expected.png:
        * platform/gtk/fast/repaint/multicol-repaint-expected.txt:

2014-05-01  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Inline text selection painting should not snap to integral CSS pixel position.
        https://bugs.webkit.org/show_bug.cgi?id=132164

        Reviewed by Darin Adler.

        Inline text selection painting now snaps to device pixels. It uses the same rounding logic as
        other painting functions.

        * fast/inline/hidpi-select-inline-on-subpixel-position-expected.html: Added.
        * fast/inline/hidpi-select-inline-on-subpixel-position.html: Added.

2014-05-01  Rik Cabanier  <cabanier@adobe.com>

        Calling createPattern with a broken image must throw an invalidstate error
        https://bugs.webkit.org/show_bug.cgi?id=132407

        Reviewed by Dirk Schulze.

        * canvas/philip/tests/2d.imageData.create2.nonfinite.html:
        * fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
        * fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:

2014-05-01  Andreas Kling  <akling@apple.com>

        Skip fast/multicol/fixed-stack.html
        <https://webkit.org/b/132421>

        * TestExpectations:

2014-04-30  David Hyatt  <hyatt@apple.com>

        REGRESSION (r168046): [New Multicolumn] LeftToRight-rl.html (and all the other reversed/block-axis pagination tests) fail
        https://bugs.webkit.org/show_bug.cgi?id=132419

        Reviewed by Andreas Kling.

        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:

2014-04-30  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Some accerated overflow-scroll doesn't scroll correctly
        https://bugs.webkit.org/show_bug.cgi?id=132375

        Reviewed by Tim Horton.
        
        New test that dumps compositing layers on iOS so we can see the sizes of the
        scroll layers that get created.
        
        * compositing/overflow/subpixel-overflow-expected.txt: Added.
        * compositing/overflow/subpixel-overflow.html: Added.
        * platform/ios-sim/compositing/overflow/subpixel-overflow-expected.txt: Added.
        * platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
        This is a progression; the old code failed to take the scrollbar width into
        account, and the new code does.


2014-04-30  Simon Fraser  <simon.fraser@apple.com>

        Rebaseline compositing/overflow tests for iOS.

        * platform/ios-sim/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
        * platform/ios-sim/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
        * platform/ios-sim/compositing/overflow/content-gains-scrollbars-expected.txt:
        * platform/ios-sim/compositing/overflow/fixed-position-ancestor-clip-expected.txt:
        * platform/ios-sim/compositing/overflow/overflow-scroll-expected.txt:
        * platform/ios-sim/compositing/overflow/overflow-scrollbar-layers-expected.txt:
        * platform/ios-sim/compositing/overflow/remove-overflow-crash2-expected.txt:
        * platform/ios-sim/compositing/overflow/scrollbar-painting-expected.txt:
        * platform/ios-sim/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt:
        * platform/ios-sim/compositing/overflow/scrolling-without-painting-expected.txt:
        * platform/ios-sim/compositing/overflow/textarea-scroll-touch-expected.txt:
        * platform/ios-sim/compositing/overflow/updating-scrolling-content-expected.txt:

2014-04-30  David Hyatt  <hyatt@apple.com>

        REGRESSION (r168046): [New Multicolumn] Painting order is wrong for columns and fixed positioned elements
        https://bugs.webkit.org/show_bug.cgi?id=132377

        Reviewed by Simon Fraser.

        * compositing/columns/composited-nested-columns-expected.txt:
        * fast/multicol/fixed-stack-expected.html: Added.
        * fast/multicol/fixed-stack.html: Added.
        * fast/multicol/flipped-blocks-border-after-expected.txt:
        * fast/multicol/progression-reverse-expected.txt:
        * fast/multicol/single-line-expected.txt:
        * fast/multicol/vertical-lr/rules-with-border-before-expected.txt:
        * fast/multicol/vertical-rl/rule-style-expected.txt:
        * fast/multicol/vertical-rl/rules-with-border-before-expected.txt:
        * platform/mac/fast/multicol/client-rects-expected.txt:
        * platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
        * platform/mac/fast/multicol/client-rects-spanners-expected.txt:
        * platform/mac/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/column-count-with-rules-expected.txt:
        * platform/mac/fast/multicol/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/layers-in-multicol-expected.txt:
        * platform/mac/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/mac/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/mac/fast/multicol/table-vertical-align-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:

2014-04-30  Roger Fong  <roger_fong@apple.com>

        Enable snapshot tests on mac wk2.
        https://bugs.webkit.org/show_bug.cgi?id=131871.

        Reviewed by Darin Adler.

        * platform/mac-wk2/TestExpectations:
        * platform/mac-wk2/plugins/snapshotting/autoplay-dominant-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/autoplay-plugin-blocked-by-image-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/autoplay-plugin-blocked-by-image-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-after-delay-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/quicktime-plugin-snapshotted-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/restart-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/set-plugin-size-to-tiny-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/simple-expected.txt:
        * platform/mac-wk2/plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image-expected.txt:
        * plugins/snapshotting/autoplay-dominant.html:
        * plugins/snapshotting/autoplay-plugin-blocked-by-image.html:
        * plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html:
        * plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html:
        * plugins/snapshotting/autoplay-similar-to-dominant.html:
        * plugins/snapshotting/quicktime-plugin-snapshotted.html:
        * plugins/snapshotting/restart.html:
        * plugins/snapshotting/set-plugin-size-to-tiny.html:
        * plugins/snapshotting/simple.html:
        * plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:

2014-04-30  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Enable new multi-column mode
        https://bugs.webkit.org/show_bug.cgi?id=131825

        Reviewed by Simon Fraser.

        * compositing/columns/composited-columns-expected.txt:
        * compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt:
        * compositing/columns/composited-nested-columns-expected.txt:
        * compositing/columns/hittest-composited-in-paginated-expected.txt:
        * fast/dom/Element/getBoundingClientRect-expected.txt:
        * fast/dom/Element/getBoundingClientRect.html:
        * fast/multicol/flipped-blocks-border-after-expected.txt:
        * fast/multicol/pagination-h-horizontal-bt-expected.txt:
        * fast/multicol/pagination-h-horizontal-tb-expected.txt:
        * fast/multicol/pagination-h-vertical-lr-expected.txt:
        * fast/multicol/pagination-h-vertical-rl-expected.txt:
        * fast/multicol/pagination-v-horizontal-bt-expected.txt:
        * fast/multicol/pagination-v-horizontal-tb-expected.txt:
        * fast/multicol/pagination-v-vertical-lr-expected.txt:
        * fast/multicol/pagination-v-vertical-rl-expected.txt:
        * fast/multicol/progression-reverse-expected.txt:
        * fast/multicol/single-line-expected.txt:
        * fast/multicol/span/before-child-anonymous-column-block-expected.txt:
        * fast/multicol/span/generated-child-split-flow-crash-expected.txt:
        * fast/multicol/vertical-lr/rules-with-border-before-expected.txt:
        * fast/multicol/vertical-rl/rule-style-expected.txt:
        * fast/multicol/vertical-rl/rules-with-border-before-expected.txt:
        * platform/mac/css3/unicode-bidi-isolate-basic-expected.png:
        * platform/mac/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/mac/fast/block/float/float-not-removed-from-next-sibling4-expected.png:
        * platform/mac/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
        * platform/mac/fast/borders/border-antialiasing-expected.png:
        * platform/mac/fast/borders/border-antialiasing-expected.txt:
        * platform/mac/fast/line-grid/line-align-left-edges-expected.png:
        * platform/mac/fast/line-grid/line-align-right-edges-expected.png:
        * platform/mac/fast/line-grid/line-grid-contains-value-expected.png:
        * platform/mac/fast/line-grid/line-grid-floating-expected.png:
        * platform/mac/fast/line-grid/line-grid-inside-columns-expected.png:
        * platform/mac/fast/line-grid/line-grid-inside-columns-expected.txt:
        * platform/mac/fast/line-grid/line-grid-into-columns-expected.png:
        * platform/mac/fast/line-grid/line-grid-into-columns-expected.txt:
        * platform/mac/fast/line-grid/line-grid-into-floats-expected.png:
        * platform/mac/fast/line-grid/line-grid-positioned-expected.png:
        * platform/mac/fast/multicol/block-axis-horizontal-bt-expected.txt:
        * platform/mac/fast/multicol/block-axis-horizontal-tb-expected.txt:
        * platform/mac/fast/multicol/block-axis-vertical-lr-expected.txt:
        * platform/mac/fast/multicol/block-axis-vertical-rl-expected.txt:
        * platform/mac/fast/multicol/border-padding-pagination-expected.png:
        * platform/mac/fast/multicol/border-padding-pagination-expected.txt:
        * platform/mac/fast/multicol/client-rects-expected.png:
        * platform/mac/fast/multicol/client-rects-expected.txt:
        * platform/mac/fast/multicol/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/column-count-with-rules-expected.txt:
        * platform/mac/fast/multicol/column-rules-expected.png:
        * platform/mac/fast/multicol/column-rules-expected.txt:
        * platform/mac/fast/multicol/column-rules-stacking-expected.txt:
        * platform/mac/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/mac/fast/multicol/float-avoidance-expected.txt:
        * platform/mac/fast/multicol/float-multicol-expected.txt:
        * platform/mac/fast/multicol/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/float-paginate-empty-lines-expected.txt:
        * platform/mac/fast/multicol/float-paginate-expected.txt:
        * platform/mac/fast/multicol/layers-in-multicol-expected.png:
        * platform/mac/fast/multicol/layers-in-multicol-expected.txt:
        * platform/mac/fast/multicol/layers-split-across-columns-expected.txt:
        * platform/mac/fast/multicol/margin-collapse-expected.txt:
        * platform/mac/fast/multicol/max-height-columns-block-expected.png:
        * platform/mac/fast/multicol/max-height-columns-block-expected.txt:
        * platform/mac/fast/multicol/nested-columns-expected.png:
        * platform/mac/fast/multicol/nested-columns-expected.txt:
        * platform/mac/fast/multicol/overflow-across-columns-expected.txt:
        * platform/mac/fast/multicol/overflow-across-columns-percent-height-expected.txt:
        * platform/mac/fast/multicol/overflow-unsplittable-expected.txt:
        * platform/mac/fast/multicol/paginate-block-replaced-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.txt:
        * platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.txt:
        * platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.txt:
        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.txt:
        * platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.txt:
        * platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.txt:
        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.txt:
        * platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.txt:
        * platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.txt:
        * platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.txt:
        * platform/mac/fast/multicol/positioned-split-expected.txt:
        * platform/mac/fast/multicol/positive-leading-expected.txt:
        * platform/mac/fast/multicol/scrolling-overflow-expected.png:
        * platform/mac/fast/multicol/scrolling-overflow-expected.txt:
        * platform/mac/fast/multicol/shadow-breaking-expected.png:
        * platform/mac/fast/multicol/shadow-breaking-expected.txt:
        * platform/mac/fast/multicol/shrink-to-column-height-for-pagination-expected.txt:
        * platform/mac/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
        * platform/mac/fast/multicol/span/anonymous-before-child-parent-crash-expected.txt:
        * platform/mac/fast/multicol/span/anonymous-split-block-crash-expected.png:
        * platform/mac/fast/multicol/span/anonymous-split-block-crash-expected.txt:
        * platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/mac/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
        * platform/mac/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
        * platform/mac/fast/multicol/span/clone-flexbox-expected.txt:
        * platform/mac/fast/multicol/span/clone-summary-expected.txt:
        * platform/mac/fast/multicol/span/generated-child-split-flow-crash-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-removal-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.png:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.png:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.txt:
        * platform/mac/fast/multicol/span/span-as-nested-inline-block-child-expected.txt:
        * platform/mac/fast/multicol/span/span-margin-collapsing-expected.txt:
        * platform/mac/fast/multicol/table-margin-collapse-expected.txt:
        * platform/mac/fast/multicol/table-vertical-align-expected.txt:
        * platform/mac/fast/multicol/unsplittable-inline-block-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
        * platform/mac/fast/multicol/vertical-lr/border-padding-pagination-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/column-count-with-rules-expected.png:
        * platform/mac/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/column-rules-expected.png:
        * platform/mac/fast/multicol/vertical-lr/column-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-avoidance-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-multicol-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/float-paginate-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/nested-columns-expected.png:
        * platform/mac/fast/multicol/vertical-lr/nested-columns-expected.txt:
        * platform/mac/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
        * platform/mac/fast/multicol/vertical-rl/border-padding-pagination-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/column-count-with-rules-expected.png:
        * platform/mac/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/column-rules-expected.png:
        * platform/mac/fast/multicol/vertical-rl/column-rules-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-avoidance-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-multicol-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/float-paginate-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/nested-columns-expected.png:
        * platform/mac/fast/multicol/vertical-rl/nested-columns-expected.txt:
        * platform/mac/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
        * platform/mac/fast/overflow/paged-x-div-expected.png:
        * platform/mac/fast/overflow/paged-x-div-expected.txt:
        * platform/mac/fast/overflow/paged-x-div-with-column-gap-expected.png:
        * platform/mac/fast/overflow/paged-x-div-with-column-gap-expected.txt:
        * platform/mac/fast/overflow/paged-x-on-root-expected.png:
        * platform/mac/fast/overflow/paged-x-on-root-expected.txt:
        * platform/mac/fast/overflow/paged-x-with-column-gap-expected.png:
        * platform/mac/fast/overflow/paged-x-with-column-gap-expected.txt:
        * platform/mac/fast/overflow/paged-y-div-expected.png:
        * platform/mac/fast/overflow/paged-y-div-expected.txt:
        * platform/mac/fast/overflow/paged-y-on-root-expected.png:
        * platform/mac/fast/overflow/paged-y-on-root-expected.txt:
        * platform/mac/fast/repaint/multicol-repaint-expected.png:
        * platform/mac/fast/repaint/multicol-repaint-expected.txt:

2014-04-30  Chris Fleizach  <cfleizach@apple.com>

        AX: Make "contenteditable" regions into AXTextAreas
        https://bugs.webkit.org/show_bug.cgi?id=132379

        Reviewed by Mario Sanchez Prada.

        * accessibility/content-editable-as-textarea.html: Added.
        * platform/mac-mountainlion/accessibility/content-editable-as-textarea-expected.txt: Added.
        * platform/mac/accessibility/content-editable-as-textarea-expected.txt: Added.

2014-04-30  David Kilzer  <ddkilzer@apple.com>

        Move iphone-simulator test results landed in r167402 to the correct directory

        * platform/ios-sim/media/media-document-controls-size-expected.txt: Renamed from LayoutTests/platform/iphone-simulator/media/media-document-controls-size-expected.txt.
        * platform/ios-sim/media/media-document-controls-size.html: Renamed from LayoutTests/platform/iphone-simulator/media/media-document-controls-size.html.

2014-04-30  Alexey Proskuryakov  <ap@apple.com>

        compositing/repaint/repaint-on-layer-grouping-change.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=132385

        * platform/mac/TestExpectations: Marked as such.

2014-04-29  David Hyatt  <hyatt@apple.com>

        Fix test up so that it looks the same as it did before my landing in r167965.

        * fast/multicol/mixed-positioning-stacking-order.html:

2014-04-29  Simon Fraser  <simon.fraser@apple.com>

        Remove Settings::compositedScrollingForFramesEnabled
        https://bugs.webkit.org/show_bug.cgi?id=132352

        Reviewed by Andreas Kling.

        * compositing/iframes/iframe-composited-scrolling-expected.txt: Removed.
        * compositing/iframes/iframe-composited-scrolling.html: Removed.

2014-04-29  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Implement support for compositing
        https://bugs.webkit.org/show_bug.cgi?id=132298
        
        Reviewed by Simon Fraser.
    
        Minor pixel test changes based off how we flip now.

        * platform/mac/fast/multicol/block-axis-horizontal-bt-expected.png:
        * platform/mac/fast/multicol/block-axis-horizontal-tb-expected.png:
        * platform/mac/fast/multicol/block-axis-vertical-lr-expected.png:
        * platform/mac/fast/multicol/block-axis-vertical-rl-expected.png:
        * platform/mac/fast/multicol/border-padding-pagination-expected.png:
        * platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
        * platform/mac/fast/multicol/client-rects-spanners-expected.txt:
        * platform/mac/fast/multicol/column-break-with-balancing-expected.png:
        * platform/mac/fast/multicol/column-count-with-rules-expected.png:
        * platform/mac/fast/multicol/column-rules-expected.png:
        * platform/mac/fast/multicol/column-rules-stacking-expected.png:
        * platform/mac/fast/multicol/columns-shorthand-parsing-expected.png:
        * platform/mac/fast/multicol/float-avoidance-expected.png:
        * platform/mac/fast/multicol/float-multicol-expected.png:
        * platform/mac/fast/multicol/float-paginate-complex-expected.png:
        * platform/mac/fast/multicol/float-paginate-empty-lines-expected.png:
        * platform/mac/fast/multicol/float-paginate-expected.png:
        * platform/mac/fast/multicol/layers-in-multicol-expected.png:
        * platform/mac/fast/multicol/layers-split-across-columns-expected.png:
        * platform/mac/fast/multicol/margin-collapse-expected.png:
        * platform/mac/fast/multicol/max-height-columns-block-expected.png:
        * platform/mac/fast/multicol/nested-columns-expected.png:
        * platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/mac/fast/multicol/overflow-across-columns-expected.png:
        * platform/mac/fast/multicol/overflow-across-columns-percent-height-expected.png:
        * platform/mac/fast/multicol/overflow-unsplittable-expected.png:
        * platform/mac/fast/multicol/paginate-block-replaced-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
        * platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
        * platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
        * platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
        * platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
        * platform/mac/fast/multicol/positioned-split-expected.png:
        * platform/mac/fast/multicol/positive-leading-expected.png:
        * platform/mac/fast/multicol/scrolling-overflow-expected.png:
        * platform/mac/fast/multicol/shadow-breaking-expected.png:
        * platform/mac/fast/multicol/single-line-expected.png:
        * platform/mac/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
        * platform/mac/fast/multicol/span/anonymous-split-block-crash-expected.png:
        * platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.png:
        * platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
        * platform/mac/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.png:
        * platform/mac/fast/multicol/span/span-as-immediate-columns-child-removal-expected.png:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.png:
        * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.png:
        * platform/mac/fast/multicol/span/span-as-nested-inline-block-child-expected.png:
        * platform/mac/fast/multicol/span/span-margin-collapsing-expected.png:
        * platform/mac/fast/multicol/table-margin-collapse-expected.png:
        * platform/mac/fast/multicol/table-vertical-align-expected.png:
        * platform/mac/fast/multicol/unsplittable-inline-block-expected.png:
        * platform/mac/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
        * platform/mac/fast/multicol/vertical-lr/column-break-with-balancing-expected.png:
        * platform/mac/fast/multicol/vertical-lr/column-count-with-rules-expected.png:
        * platform/mac/fast/multicol/vertical-lr/column-rules-expected.png:
        * platform/mac/fast/multicol/vertical-lr/float-avoidance-expected.png:
        * platform/mac/fast/multicol/vertical-lr/float-multicol-expected.png:
        * platform/mac/fast/multicol/vertical-lr/float-paginate-complex-expected.png:
        * platform/mac/fast/multicol/vertical-lr/float-paginate-expected.png:
        * platform/mac/fast/multicol/vertical-lr/nested-columns-expected.png:
        * platform/mac/fast/multicol/vertical-lr/unsplittable-inline-block-expected.png:
        * platform/mac/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
        * platform/mac/fast/multicol/vertical-rl/column-break-with-balancing-expected.png:
        * platform/mac/fast/multicol/vertical-rl/column-count-with-rules-expected.png:
        * platform/mac/fast/multicol/vertical-rl/column-rules-expected.png:
        * platform/mac/fast/multicol/vertical-rl/float-avoidance-expected.png:
        * platform/mac/fast/multicol/vertical-rl/float-multicol-expected.png:
        * platform/mac/fast/multicol/vertical-rl/float-paginate-complex-expected.png:
        * platform/mac/fast/multicol/vertical-rl/float-paginate-expected.png:
        * platform/mac/fast/multicol/vertical-rl/nested-columns-expected.png:
        * platform/mac/fast/multicol/vertical-rl/unsplittable-inline-block-expected.png:

2014-04-29  Oliver Hunt  <oliver@apple.com>

        Don't hold on to parameter BindingNodes forever
        https://bugs.webkit.org/show_bug.cgi?id=132360

        Reviewed by Geoffrey Garen.

        We don't regenerate the parameter string anymore, so these tests now
        match the original input.

        * js/destructuring-assignment-expected.txt:

2014-04-28  Roger Fong  <roger_fong@apple.com>

        Plugins hidden by images should autoplay.
        https://bugs.webkit.org/show_bug.cgi?id=132222.
        <rdar://problem/16653536>

        Reviewed by Jon Lee and Darin Adler.

        * platform/mac-wk2/plugins/snapshotting/autoplay-plugin-blocked-by-image-expected.txt: Added.
        * platform/mac-wk2/plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image-expected.txt: Added.
        * platform/mac-wk2/plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image-expected.txt: Added.
        * plugins/snapshotting/autoplay-plugin-blocked-by-image.html: Added.
        * plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html: Added.
        * plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html: Added.

2014-04-29  Andreas Kling  <akling@apple.com>

        REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
        <https://webkit.org/b/132322>

        Remove the part of js/dom/basic-weakmap.html that expects deterministic behavior
        from our non-deterministic GC.

        Rubber-stamped by Phil Pizlo.

        * TestExpectations:
        * js/dom/basic-weakmap-expected.txt:
        * js/dom/script-tests/basic-weakmap.js:

2014-04-29  Geoffrey Garen  <ggaren@apple.com>

        String.prototype.trim removes U+200B from strings.
        https://bugs.webkit.org/show_bug.cgi?id=130184

        Reviewed by Michael Saboff.

        * js/script-tests/string-trim.js:
        * js/string-trim-expected.txt:

2014-04-29  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
        https://bugs.webkit.org/show_bug.cgi?id=111613
        <rdar://problem/13407093>

        * platform/mac/TestExpectations: Remove test expectation, now that the bug is fixed.

2014-04-29  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
        https://bugs.webkit.org/show_bug.cgi?id=132322

        * TestExpectations:
        Mark the test as flaky.

2014-04-29  Manuel Rego Casasnovas  <rego@igalia.com>

        REGRESSION (r167879): Heap-use-after-free in WebCore::RenderFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=132337

        Reviewed by Simon Fraser.

        From Blink r154582 by <jchaffraix@chromium.org>

        Add new layout test to check that removing a child doesn't cause a crash
        in OrderIterator.

        * fast/flexbox/order-iterator-crash-expected.txt: Added.
        * fast/flexbox/order-iterator-crash.html: Added.

2014-04-29  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] off-by-one error in Shape::createRasterShape()
        https://bugs.webkit.org/show_bug.cgi?id=132154

        Reviewed by Bem Jones-Bey.

        Change two tests that had incorrect X values to account for the off-by-one
        in Shape::createRasterShape().

        * fast/shapes/shape-outside-floats/shape-outside-insert-svg-shape.html:
        * fast/shapes/shape-outside-floats/shape-outside-linear-gradient-expected.html:

2014-04-29  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] complex calc args for inset round vanish
        https://bugs.webkit.org/show_bug.cgi?id=132293

        Reviewed by Bem Jones-Bey.

        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:

2014-04-29  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] complex calc values for shape-margin return null for computed style
        https://bugs.webkit.org/show_bug.cgi?id=132313

        Reviewed by Bem Jones-Bey.

        * fast/shapes/parsing/parsing-shape-margin.html:

2014-04-29  Chris Fleizach  <cfleizach@apple.com>

        AX: Row span info is wrong for table cells when a footer section is placed above a body section
        https://bugs.webkit.org/show_bug.cgi?id=131832

        Reviewed by Mario Sanchez Prada.

        * accessibility/table-with-footer-section-above-body-expected.txt: Added.
        * accessibility/table-with-footer-section-above-body.html: Added.

2014-04-29  Chris Fleizach  <cfleizach@apple.com>

        AX: SpeechSynthesisUtterance cannot addEventListener
        https://bugs.webkit.org/show_bug.cgi?id=132321

        Reviewed by Mario Sanchez Prada.

        * platform/mac/fast/speechsynthesis/speech-synthesis-speak.html:

2014-04-29  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] shape-outside polygon fails when first vertex is 0,0
        https://bugs.webkit.org/show_bug.cgi?id=132132

        Reviewed by Bem Jones-Bey.

        * fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html: Added.

2014-04-29  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Fix getClientRects() for content nodes
        https://bugs.webkit.org/show_bug.cgi?id=117407

        Reviewed by David Hyatt.

        Tests verifying getClientRects works correctly in different situations.

        * fast/regions/cssom/client-rects-fixed-content-expected.txt: Added.
        * fast/regions/cssom/client-rects-fixed-content.html: Added.
        * fast/regions/cssom/client-rects-forced-breaks-expected.txt: Added.
        * fast/regions/cssom/client-rects-forced-breaks.html: Added.
        * fast/regions/cssom/client-rects-inline-complex-expected.txt: Added.
        * fast/regions/cssom/client-rects-inline-complex.html: Added.
        * fast/regions/cssom/client-rects-inline-expected.txt: Added.
        * fast/regions/cssom/client-rects-inline.html: Added.
        * fast/regions/cssom/client-rects-nested-regions-expected.txt: Added.
        * fast/regions/cssom/client-rects-nested-regions.html: Added.
        * fast/regions/cssom/client-rects-positioned-expected.txt: Added.
        * fast/regions/cssom/client-rects-positioned.html: Added.
        * fast/regions/cssom/client-rects-relative-position-expected.txt: Added.
        * fast/regions/cssom/client-rects-relative-position.html: Added.
        * fast/regions/cssom/client-rects-simple-block-expected.txt: Added.
        * fast/regions/cssom/client-rects-simple-block.html: Added.
        * fast/regions/cssom/client-rects-transforms-expected.txt: Added.
        * fast/regions/cssom/client-rects-transforms.html: Added.
        * fast/regions/cssom/client-rects-unsplittable-float-expected.txt: Added.
        * fast/regions/cssom/client-rects-unsplittable-float.html: Added.
        * fast/regions/resources/helper.js: 
        (testClientRects): Function that compares the actual client rects for an
        element to a list of expected client rects.

2014-04-29  Andrei Bucur  <abucur@adobe.com>

        Store the containing region map inside the flow thread
        https://bugs.webkit.org/show_bug.cgi?id=131647

        Reviewed by Mihnea Ovidenie.

        Add a test that verifies the containing region map is properly cleared
        when the region chain changes.

        * fast/regions/inline-strike-through-expected.txt: Added.
        * fast/regions/inline-strike-through.html: Added.

2014-04-29  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed EFL gardening.

        Removed remaining editing/pasteboard which are already skipped.

        * platform/efl/TestExpectations:

2014-04-29  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Flagged some tests.

2014-04-28  Benjamin Poulain  <benjamin@webkit.org>

        SelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth-child() is non-filtering
        https://bugs.webkit.org/show_bug.cgi?id=132311

        Reviewed by Andreas Kling.

        * fast/selectors/several-nth-child-expected.txt: Added.
        * fast/selectors/several-nth-child.html: Added.

2014-04-28  Yusuke Suzuki  <utatane.tea@gmail.com>

        CSS JIT: backtracking with current / parent element for child
        https://bugs.webkit.org/show_bug.cgi?id=132057

        Reviewed by Benjamin Poulain.

        Calculate appropriate backtracking start height from the closest
        descendant. And at first, we use it for a simple optimization.

        1. When backtracking start height equals to current height, we
        can simply jump to a descendant element check phase.
        2. When backtracking start height equals to current height + 1, we
        can simply jump to a descendant element traversing phase.

        We can apply this optimization to fragments with adjacent combinators.
        But, in the meantime, we start to implement it for a fragment with
        child combinator.

        * fast/selectors/backtracking-child-combinator-with-tail-expected.txt: Added.
        * fast/selectors/backtracking-child-combinator-with-tail.html: Added.
        * fast/selectors/backtracking-child-combinator-without-tail-expected.txt: Added.
        * fast/selectors/backtracking-child-combinator-without-tail.html: Added.

2014-04-28  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed EFL gardening.

        Skip editing/pasteboard which EFL port does not support.

        * platform/efl-wk1/TestExpectations:
        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:

2014-04-28  Ryosuke Niwa  <rniwa@webkit.org>

        Layout Test fast/events/shadow-event-path[-2].html is failing
        https://bugs.webkit.org/show_bug.cgi?id=132238

        Add the file that was supposed to be committed in r167840.

        * TestExpectations:
        * fast/events/resources/shadow-event-path-shared.js: Added.

2014-04-28  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
        https://bugs.webkit.org/show_bug.cgi?id=132297

        * platform/wk2/TestExpectations:
        Skip the test.

2014-04-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167871.
        https://bugs.webkit.org/show_bug.cgi?id=132290

        broke a newmulticol test (spanner-nested-dynamic) (Requested
        by thorton on #webkit).

        Reverted changeset:

        "Store the containing region map inside the flow thread"
        https://bugs.webkit.org/show_bug.cgi?id=131647
        http://trac.webkit.org/changeset/167871

2014-04-28  Mark Hahnenberg  <mhahnenberg@apple.com>

        Deleting properties poisons objects
        https://bugs.webkit.org/show_bug.cgi?id=131551

        Reviewed by Oliver Hunt.

        New JS regress test. We're ~3.5x faster on this microbenchmark now.

        * js/regress/delete-a-few-properties-then-get-by-id-expected.txt: Added.
        * js/regress/delete-a-few-properties-then-get-by-id.html: Added.
        * js/regress/script-tests/delete-a-few-properties-then-get-by-id.js: Added.
        (MyObject):
        (foo):

2014-04-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Flagged some tests.

2014-04-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Flagged some tests.

2014-04-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Unreviewed GTK gardening. Adding failure expectations for 6
        failing and flaky tests. Removed 1.

        * platform/gtk/TestExpectations:

2014-04-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GTK] Review media bugs flags
        https://bugs.webkit.org/show_bug.cgi?id=132246

        Reviewed by Philippe Normand.

        * platform/gtk/TestExpectations: Review flags of the GTK media
        bugs.

2014-04-27  Andrei Bucur  <abucur@adobe.com>

        Store the containing region map inside the flow thread
        https://bugs.webkit.org/show_bug.cgi?id=131647

        Reviewed by Mihnea Ovidenie.

        Add a test that verifies the containing region map is properly cleared
        when the region chain changes.

        * fast/regions/inline-strike-through-expected.txt: Added.
        * fast/regions/inline-strike-through.html: Added.

2014-04-27  Darin Adler  <darin@apple.com>

        REGRESSION (r159345): The hover state for links in the top navigation of Yahoo.com doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=132241
        rdar://problem/16501924

        Reviewed by Andreas Kling.

        * fast/text/simple-lines-hover-underline-expected.html: Added.
        * fast/text/simple-lines-hover-underline.html: Added.

        * fast/text/simple-lines-hover.html: Removed an unneeded style element with a style rule that
        does nothing.

2014-04-27  Praveen R Jadhav  <praveen.j@samsung.com>

        [MediaStream] .ended shouldn't be part of MediaStream IDL
        https://bugs.webkit.org/show_bug.cgi?id=132104

        Reviewed by Eric Carlson.

        .ended is not part of MediaStream IDL. Updated test case.

        * fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
        * fast/mediastream/MediaStream-add-remove-tracks.html:

2014-04-27  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (167840): Layout Test fast/events/shadow-event-path[-2].html is failing

        * TestExpectations:
        Mark as failing until the shared JS file can be recovered.

2014-04-27  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK gardening. Adding failure expectations for 6 failing reference tests.

        * platform/gtk/TestExpectations:

2014-04-26  Alexey Proskuryakov  <ap@apple.com>

        Local files should not be allowed to read pasteboard data during drag
        https://bugs.webkit.org/show_bug.cgi?id=131767

        Reviewed by Sam Weinig.

        * fast/files/local-file-drag-security-expected.txt: Added.
        * fast/files/local-file-drag-security.html: Added.
        * platform/wk2/TestExpectations:

2014-04-24  Darin Adler  <darin@apple.com>

        REGRESSION (r164133): Selection doesn't paint when scrolling some pages
        https://bugs.webkit.org/show_bug.cgi?id=132172

        Reviewed by Brent Fulgham.

        * fast/dynamic/remove-invisible-node-inside-selection-expected.html: Added.
        * fast/dynamic/remove-invisible-node-inside-selection.html: Added.
        * fast/dynamic/remove-node-inside-selection-expected.html: Added.
        * fast/dynamic/remove-node-inside-selection.html: Added.

2014-04-25  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r167689): Hovering file name in a file input causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=132214

        Reviewed by Andreas Kling.

        Add a regression test.

        * fast/events/shadow-event-path-2-expected.txt: Added.
        * fast/events/shadow-event-path-2.html: Added.
        * fast/events/shadow-event-path.html:

2014-04-25  Oliver Hunt  <oliver@apple.com>

        Need earlier cell test
        https://bugs.webkit.org/show_bug.cgi?id=132211

        Reviewed by Mark Lam.

        Tests

        * js/regress/polymorphic-array-call-expected.txt: Added.
        * js/regress/polymorphic-array-call.html: Added.
        * js/regress/script-tests/polymorphic-array-call.js: Added.
        (func.C.this.m):
        (func.C):
        (func):

2014-04-11  Jer Noble  <jer.noble@apple.com>

        Support "Live" streams in media controls.
        https://bugs.webkit.org/show_bug.cgi?id=131390

        Reviewed by Brent Fulgham.

        * http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
        * http/tests/media/hls/video-controls-live-stream.html: Added.
        * http/tests/media/resources/hls/test-live.php: Added.
        * http/tests/media/resources/hls/test-vod.m3u8: Added.
        * http/tests/media/resources/hls/test.ts: Added.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
        * platform/mac/fast/layers/video-layer-expected.txt:
        * platform/mac/media/media-controls-clone-expected.txt:
        * platform/wincairo/TestExpectations:

2014-04-25  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots
        https://bugs.webkit.org/show_bug.cgi?id=132207

        * platform/mac-wk1/TestExpectations:
        Mark as failing in WebKit1.

2014-04-25  Javier Fernandez  <jfernandez@igalia.com>

        REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
        https://bugs.webkit.org/show_bug.cgi?id=132194

        Reviewed by Martin Robinson.

        * TestExpectations: Unskip fast/css-grid-layout/grid-template-shorthand-get-set.html.

2014-04-25  David Hyatt  <hyatt@apple.com>

        Column rules not respecting scroll offsets.
        https://bugs.webkit.org/show_bug.cgi?id=109683

        Reviewed by Dean Jackson.

        * fast/multicol/scrolling-column-rules.html: Added.
        * platform/mac/fast/multicol/scrolling-column-rules-expected.png: Added.
        * platform/mac/fast/multicol/scrolling-column-rules-expected.txt: Added.

2014-04-23  Jon Honeycutt  <jhoneycutt@apple.com>

        Crash applying editing commands from iframe onload event

        <https://bugs.webkit.org/show_bug.cgi?id=132103>
        <rdar://problem/15696351>

        Reviewed by Darin Adler.

        * editing/apply-style-iframe-crash-expected.txt: Added.
        * editing/apply-style-iframe-crash.html: Added.

2014-04-25  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] fast/multicol/hit-test-* layout tests all fail
        https://bugs.webkit.org/show_bug.cgi?id=132081

        Reviewed by Dean Jackson.

        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Added.

2014-04-25  Tim Horton  <timothy_horton@apple.com>

        REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
        https://bugs.webkit.org/show_bug.cgi?id=132194

        * TestExpectations:
        Skip the test on debug testers.
        Also unmark js/slow-stress/new-spread.html because it is fixed (https://bugs.webkit.org/show_bug.cgi?id=132022)

2014-04-24  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Add support for offsetLeft and offsetTop.
        https://bugs.webkit.org/show_bug.cgi?id=132080

        Reviewed by Andrei Bucur.

        * fast/multicol/client-rects-spanners-complex.html: Added.
        * fast/multicol/client-rects-spanners.html:
        * fast/multicol/offset-top-left-expected.txt: Added.
        * fast/multicol/offset-top-left.html: Added.
        * platform/mac/fast/multicol/client-rects-spanners-complex-expected.png: Added.
        * platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt: Added.

2014-04-25  Brent Fulgham  <bfulgham@apple.com>

        ScrollingCoordinator is unaware of topContentInset
        https://bugs.webkit.org/show_bug.cgi?id=132158
        <rdar://problem/16706152>

        Reviewed by Darin Adler.

        * platform/mac/fast/scrolling/scroll-select-bottom-test-expected.txt: Added.
        * platform/mac/fast/scrolling/scroll-select-bottom-test.html: Added.

2014-04-25  Miyoung Shin  <myid.shin@samsung.com>

        Web process is crashed during dispatching touchEvent created by JS.
        https://bugs.webkit.org/show_bug.cgi?id=113225

        Reviewed by Benjamin Poulain.

        TouchEvent created by JS should have the necessary attributes
        of touches, targetTouches and changedTouches.
        It should be verified weather there are touchLists before dispatching touch event.

        * fast/events/touch/create-touch-event-without-touchList-expected.txt: Added.
        * fast/events/touch/create-touch-event-without-touchList.html: Added.

2014-04-25  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Overflow selection doesn't work properly
        https://bugs.webkit.org/show_bug.cgi?id=130715

        Reviewed by David Hyatt.

        Added tests for hit-testing and painting selection gaps in the region's overflow area.

        * fast/regions/selection-in-overflow-expected.html: Added.
        * fast/regions/selection-in-overflow-hit-testing-expected.html: Added.
        * fast/regions/selection-in-overflow-hit-testing.html: Added.
        * fast/regions/selection-in-overflow.html: Added.
        * fast/regions/selection-in-text-after-overflow-hit-testing-expected.html: Added.
        * fast/regions/selection-in-text-after-overflow-hit-testing.html: Added.

2014-04-25  Enrique Ocaña González  <eocanha@igalia.com>

        Unreviewed GTK gardening.

        Added test expectations for the following flaky tests:

        * platform/gtk/TestExpectations:
            fast/loader/submit-form-while-parsing-2.html
            css3/calc/transitions-dependent.html
            fast/dom/adopt-node-crash-2.html
            fast/multicol/span/span-as-immediate-columns-child-dynamic.html
            platform/gtk/editing/pasteboard/middle-button-paste.html

2014-04-25  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Implementation of the grid-template shorthand.
        https://bugs.webkit.org/show_bug.cgi?id=128980

        Reviewed by Darin Adler.

        Layout Test for the basic functionality of the grid-template shorthand. It was
        also added a new javascript file with some utility functions.

        This shorthand sets the values for the grid-template-columns,
        grid-template-rows and grid-template-areas, so the implementation
        tries to reuse as much available parsing functions as possible.

        * fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt: Added.
        * fast/css-grid-layout/grid-template-shorthand-get-set.html: Added.
        * fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js: Added.
        (testGridDefinitionsValues):
        (testGridDefinitionsSetJSValues):
        (testNonGridDefinitionsSetJSValues):
        (checkGridDefinitionsSetJSValues):
        (testGridDefinitionsSetBadJSValues):

2014-04-25  Antoine Quint  <graouts@webkit.org>

        Implement Array.prototype.find()
        https://bugs.webkit.org/show_bug.cgi?id=130966

        Reviewed by Oliver Hunt.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/array-find-expected.txt: Added.
        * js/array-find.html: Added.
        * js/array-findIndex-expected.txt: Added.
        * js/array-findIndex.html: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/array-find.js: Added.
        * js/script-tests/array-findIndex.js: Added.

2014-04-25  Ion Rosca  <rosca@adobe.com>

        Incomplete body painting when using blend modes
        https://bugs.webkit.org/show_bug.cgi?id=131889

        Reviewed by Simon Fraser.

        * css3/compositing/blend-mode-with-body-expected.html: Added.
        * css3/compositing/blend-mode-with-body.html: Added.

2014-04-24  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167441.
        https://bugs.webkit.org/show_bug.cgi?id=132152

        Caused full screen regressions on vimeo, youtube, and others.
        (Requested by jernoble on #webkit).

        Reverted changeset:

        "Fullscreen media controls are unusable in pagination mode"
        https://bugs.webkit.org/show_bug.cgi?id=131705
        http://trac.webkit.org/changeset/167441

2014-04-24  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Clipping on text areas when shifted by one device pixel.
        https://bugs.webkit.org/show_bug.cgi?id=132008

        Reviewed by Darin Adler.

        Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
        other theme controls are still on integral size/positions.

        * fast/forms/hidpi-textarea-on-subpixel-position-expected.html: Added.
        * fast/forms/hidpi-textarea-on-subpixel-position.html: Added.
        * platform/mac-wk2/TestExpectations: Due to defective RenderLayer cliprect calculation (WK2 only): webkit.org/b/132100

2014-04-24  Eduardo Lima Mitev  <elima@igalia.com>

        Unreviewed GTK gardening

        * platform/gtk/TestExpectations: Updated a few expectations entries

2014-04-24  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.
        Update expectations after removal of environment variable
        XVFB_SCREEN_DEPTH=8 from the GTK Release bot.

        * platform/gtk/TestExpectations:

2014-04-24  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Client rects don't work with column spans.
        https://bugs.webkit.org/show_bug.cgi?id=132131

        Reviewed by Dean Jackson.

        * fast/multicol/client-rects-spanners.html: Added.
        * platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
        * platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.

2014-04-24  Alexey Proskuryakov  <ap@apple.com>

        Test that we correctly process ArrayBufferView slices in WebCrypto
        https://bugs.webkit.org/show_bug.cgi?id=132087

        Reviewed by Brent Fulgham.

        * crypto/subtle/array-buffer-view-offset-expected.txt: Added.
        * crypto/subtle/array-buffer-view-offset.html: Added.

2014-04-24  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>

        ASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
        https://bugs.webkit.org/show_bug.cgi?id=131097

        Reviewed by Darin Adler.

        Test added.

        * svg/animations/smil-animation-max-attribute-zero-crash-expected.txt: Added.
        * svg/animations/smil-animation-max-attribute-zero-crash.svg: Added.

2014-04-24  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Update baselines after r167568
        https://bugs.webkit.org/show_bug.cgi?id=132125

        Unreviewed EFL gardening.

        * platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Added.
        * platform/efl/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
        * platform/efl/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
        * platform/efl/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
        * platform/efl/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
        * platform/efl/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
        * platform/efl/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
        * platform/efl/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
        * platform/efl/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
        * platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
        * platform/efl/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
        * platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
        * platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
        * platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
        * platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.

2014-04-23  Praveen R Jadhav  <praveen.j@samsung.com>

        [MediaStream] Implement MediaStream active attribute
        https://bugs.webkit.org/show_bug.cgi?id=131973

        Reviewed by Eric Carlson.

        MediaStream .onended attribute will be replaced with .active attribute.
        Patch updates the test case to verify the .active attribute.

        * fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
        * fast/mediastream/MediaStream-add-remove-tracks.html:

2014-04-23  Alexey Proskuryakov  <ap@apple.com>

        Eliminate internals.setMockScrollbarsEnabled()
        https://bugs.webkit.org/show_bug.cgi?id=132085

        Reviewed by Tim Horton.

        Remove calls, all of which were resetting it to true (which is the default, and
        the only value that makes sense).

        * compositing/geometry/fixed-position.html:
        * compositing/geometry/horizontal-scroll-composited.html:
        * compositing/geometry/vertical-scroll-composited.html:
        * compositing/iframes/resources/scrollgrandchild-inner.html:
        * compositing/overflow/fixed-position-ancestor-clip.html:
        * compositing/resources/mock_scrollbars.js: Removed.
        * css3/filters/blur-filter-page-scroll-parents.html:
        * css3/filters/blur-filter-page-scroll-self.html:
        * css3/filters/blur-filter-page-scroll.html:
        * fast/dom/window-scroll-scaling.html:
        * fast/events/touch/gesture/gesture-scrollbar.html:
        * fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html:
        * fast/sub-pixel/transformed-iframe-copy-on-scroll.html:
        * media/video-controls-rendering.html:
        * media/video-zoom.html:
        * scrollingcoordinator/resources/non-fast-scrollable-region-testing.js:

2014-04-23  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Crasher when clearing out a flow thread in multicolumn layout.
        https://bugs.webkit.org/show_bug.cgi?id=132069

        Reviewed by Dean Jackson.

        * fast/multicol/inline-children-crash-expected.txt: Added.
        * fast/multicol/inline-children-crash.html: Added.

2014-04-23  Morten Stenshorne  <mstensho@opera.com>

        REGRESSION (Safari 6 - ToT): Incorrectly assumes that RenderStyle data can be shared
        https://bugs.webkit.org/show_bug.cgi?id=113058

        Reviewed by David Hyatt.

        * fast/css/identical-logical-height-decl-expected.html: Added.
        * fast/css/identical-logical-height-decl.html: Added.

2014-04-23  Lorenzo Tilve  <ltilve@igalia.com>

        [GTK] Unreviewed GTK gardening
        https://bugs.webkit.org/show_bug.cgi?id=132058

        * platform/gtk/TestExpectations:

2014-04-23  Morten Stenshorne  <mstensho@opera.com>

        [New Multicolumn] fast/multicol/overflow-content.html displays red
        https://bugs.webkit.org/show_bug.cgi?id=131809

        Reviewed by David Hyatt.

        * fast/multicol/break-in-columns-before-spanner-expected.html: Added.
        * fast/multicol/break-in-columns-before-spanner.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/overflow-content-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html: Added.

2014-04-23  Morten Stenshorne  <mstensho@opera.com>

        Overflow propagation broken in BTT and RTL writing-modes
        https://bugs.webkit.org/show_bug.cgi?id=113781

        Reviewed by David Hyatt.

        * fast/css/overflow-btt-border-after-expected.txt: Added.
        * fast/css/overflow-btt-border-after.html: Added.
        * fast/css/overflow-rtl-border-after-expected.txt: Added.
        * fast/css/overflow-rtl-border-after.html: Added.
        * fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
        * platform/gtk/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
        * platform/mac/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
        Removed incorrect screenshots that now differ from the actual (correct) rendering.

2014-04-23  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed EFL gardening.

        * platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.png: Removed.
        * platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.txt: Removed.
        * platform/efl-wk1/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Removed.
        * platform/efl-wk1/fast/block/basic/020-expected.txt: Removed.
        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:
        * platform/efl/css3/flexbox/flexbox-baseline-expected.png: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.png.
        * platform/efl/css3/flexbox/flexbox-baseline-expected.txt: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.txt.
        * platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Renamed from LayoutTests/platform/efl-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt.

2014-04-23  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Add expectations of new added tests.
        https://bugs.webkit.org/show_bug.cgi?id=132052

        Unreviewed EFL gardening.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/fast/repaint/spanner-with-margin-expected.txt: Added. Rebaseline after r167439

2014-04-22  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Refactoring editing/selection/13804.html
        https://bugs.webkit.org/show_bug.cgi?id=131986

        Reviewed by Darin Adler.

        This test does not need pixel baselines (MAC, EFL, GTK) to just
        check whether spelling marker appears on 'adf'.

        According to bug 125688, the test starts using asynchronous
        spellchecking.

        Since the test mostly verifies spelling behaviour, it was moved
        to editing/spelling directory.
        Its name was changed to spelling-backward.html.

        * editing/selection/13804.html: Removed.
        * editing/spelling/spelling-backward-expected.txt: Added, renamed from editing/selection/13804.html.
        * editing/spelling/spelling-backward.html: Added.

        * platform/efl/editing/selection/13804-expected.png: Removed.
        * platform/efl/editing/selection/13804-expected.txt: Removed.
        * platform/gtk/editing/selection/13804-expected.png: Removed.
        * platform/gtk/editing/selection/13804-expected.txt: Removed.
        * platform/mac/editing/selection/13804-expected.png: Removed.
        * platform/mac/editing/selection/13804-expected.txt: Removed.
        Get rid of platform specific expectation.

        * platform/gtk/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        Mark spelling-backward.html as failure due to missing asynchronous spellchecking.

2014-04-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed EFL gardening. media tests has been broken since r166395 on both EFL wk1 and wk2.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:

2014-04-22  Andreas Kling  <akling@apple.com>

        Skip fast/events/ghostly-mousemoves-in-subframe.html on Mac/WK1.

        * platform/mac-wk1/TestExpectations:

2014-04-22  Zalan Bujtas  <zalan@apple.com>

        Do not paint border image when the border rect is empty.
        https://bugs.webkit.org/show_bug.cgi?id=131988

        Reviewed by Darin Adler.

        http://trac.webkit.org/changeset/167351 introduced an early return when border
        rect is empty. This patch ensures that border image is not painted either in that case.

        * fast/css/padding-margin-negative-border-expected.html: Borders in -expected.html does not get painted either, just
        ensure that they are explicitly different colors.
        * fast/css/padding-margin-negative-border.html:

2014-04-22  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
        https://bugs.webkit.org/show_bug.cgi?id=131949

        Reviewed by Darin Adler.

        Add a test that dumps the event target and the related target of every mouse event
        when dispatched inside an input element inside a details element.

        This catches the regression as well as other bugs I encountered while fixing the bug.

        We need a WK2 specific results because WK1 mac results contain an extra fake mouse move event.

        * fast/events/shadow-event-path-expected.txt: Added.
        * fast/events/shadow-event-path.html: Added.
        * platform/mac-wk2/fast/events/shadow-event-expected.txt: Added.

2014-04-22  Ryosuke Niwa  <rniwa@webkit.org>

        Rollout r156635 since the old behavior was intentional.

        * editing/caret/selection-with-caret-type-progress-expected.txt: Removed.
        * editing/caret/selection-with-caret-type-progress.html: Removed.

2014-04-22  Andreas Kling  <akling@apple.com>

        REGRESSION (r151839): Subframe keeps getting mousemove events with the same coordinates after hiding a hovered element.
        <https://webkit.org/b/131974>
        <rdar://problem/15907469>

        Add a test that triggers the weirdness where removing the renderer from
        a hovered element in a subframe would leave the subframe's EventHandler
        in a state where it could dispatch fake mousemove events with stale
        coordinates in response to style recalc.

        Note that the final 500ms delay is because fake mousemove events are
        sent on 250ms delay timers so we need to give it some time to catch up.

        Reviewed by Benjamin Poulain.

        * fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
        * fast/events/ghostly-mousemoves-in-subframe.html: Added.
        * platform/mac-wk2/fast/events/resources/ghostly-mousemoves-in-subframe-the-actual-subframe.html: Added.

2014-04-22  Tim Horton  <timothy_horton@apple.com>

        REGRESSION: JSRegress's js/slow-stress/new-spread.html fails sometimes
        https://bugs.webkit.org/show_bug.cgi?id=132022
        <rdar://problem/16690671>

        * TestExpectations:
        Mark the test as flaky pass/fail/timeout, because that's what it is.

2014-04-21  Myles C. Maxfield  <mmaxfield@apple.com>

        [OS X] Glyph spacing for system fonts may be incorrect
        https://bugs.webkit.org/show_bug.cgi?id=131967

        Reviewed by Simon Fraser.

        Updating test to be more robust.

        * fast/forms/search/intrinsic-search-width-with-decoration-border-padding-expected.txt:
        * fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html:

2014-04-22  Manuel Rego Casasnovas  <rego@igalia.com>

        REGRESSION (r167652): Broke fast/regions/cssom/region-range-for-box-crash.html in debug mode
        https://bugs.webkit.org/show_bug.cgi?id=131982

        Reviewed by David Hyatt.

        * TestExpectations: Unskip fast/regions/cssom/region-range-for-box-crash.html.

2014-04-22  Brent Fulgham  <bfulgham@apple.com>

        Check (rather than assume) element is a RenderTableSection before using it
        https://bugs.webkit.org/show_bug.cgi?id=121858

        Reviewed by David Kilzer.

        * fast/table/table-insert-object-before-td-crash-expected.txt: Added.
        * fast/table/table-insert-object-before-td-crash.html: Added.

2014-04-22  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] fast/multicol/multicol-with-child-renderLayer-for-input.html puts the textfield in the wrong place
        https://bugs.webkit.org/show_bug.cgi?id=131808

        Reviewed by Brady Eidson.

        * fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html: Added.

2014-04-22  Zalan Bujtas  <zalan@apple.com>

        border-style: double rendered as solid when combined with border-radius
        https://bugs.webkit.org/show_bug.cgi?id=131927

        Reviewed by Simon Fraser.

        BorderEdge::getDoubleBorderStripeWidths() should return the calculated inner, outer border widths. 

        * fast/borders/hidpi-double-border-with-border-radius-always-produce-solid-line-expected.html: Added.
        * fast/borders/hidpi-double-border-with-border-radius-always-produce-solid-line.html: Added.

2014-04-22  Manuel Rego Casasnovas  <rego@igalia.com>

        Unreviewed gardening.

        * TestExpectations: fast/regions/cssom/region-range-for-box-crash.html is crashing on debug mode after r167652.

2014-04-22  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Regions] Selection highlight doesn't match DOM selection
        https://bugs.webkit.org/show_bug.cgi?id=131511

        Reviewed by David Hyatt.

        Add new test to check highlight of render objects moved under RenderNamedFlowThread in the render tree.

        Updated some tests to avoid issues with selection gap filling in the new implementation.

        * fast/regions/selection/selecting-text-including-region-expected.html: Added.
        * fast/regions/selection/selecting-text-including-region.html: Added.
        * fast/regions/selection/selecting-text-through-different-region-flows-2-expected.html: Updated.
        * fast/regions/selection/selecting-text-through-different-region-flows-2.html: Updated.
        * fast/regions/selection/selection-direction-expected.html: Updated.
        * fast/regions/selection/selection-direction.html: Updated.

2014-04-21  Brent Fulgham  <bfulgham@apple.com>

        [Mac] After a horizontal overflow scroll with a mechanical wheel mouse, vertical scrolling no longer works
        https://bugs.webkit.org/show_bug.cgi?id=131960
        <rdar://problem/16142100>

        Reviewed by Darin Adler.

        * platform/mac/fast/scrolling/scroll-div-no-latching-expected.txt: Added.
        * platform/mac/fast/scrolling/scroll-div-no-latching.html: Added.

2014-04-21  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r166784): Gradient at background of iCloud login page doesn’t go all the way to the bottom
        https://bugs.webkit.org/show_bug.cgi?id=131924

        Computing tile dimension for contain/cover requires higher precision than what LayoutUnit has. Switching to floats.

        Reviewed by Simon Fraser.

        * fast/backgrounds/hidpi-background-image-contain-cover-scale-needs-more-precision-expected.html: Added.
        * fast/backgrounds/hidpi-background-image-contain-cover-scale-needs-more-precision.html: Added.

2014-04-21  Eric Carlson  <eric.carlson@apple.com>

        [Mac] implement WebKitDataCue
        https://bugs.webkit.org/show_bug.cgi?id=131799

        Reviewed by Dean Jackson.

        * http/tests/media/resources/hls: Added.
        * http/tests/media/resources/hls/metadata: Added.
        * http/tests/media/resources/hls/metadata/fileSequence0.ts: Added.
        * http/tests/media/resources/hls/metadata/fileSequence1.ts: Added.
        * http/tests/media/resources/hls/metadata/fileSequence2.ts: Added.
        * http/tests/media/resources/hls/metadata/fileSequence3.ts: Added.
        * http/tests/media/resources/hls/metadata/prog_index.m3u8: Added.
        * http/tests/media/track-in-band-hls-metadata-expected.txt: Added.
        * http/tests/media/track-in-band-hls-metadata.html: Added.
        * media/track/track-datacue-value-expected.txt: Added.
        * media/track/track-datacue-value.html: Added.
        * platform/efl/TestExpectations: Skip the new tests.
        * platform/gtk/TestExpectations: Ditto.
        * platform/mac/js/dom/global-constructors-attributes-expected.txt: Update.
        * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Update.
        * platform/mac/TestExpectations: Skip DataCue test on all Mac versions. Skip HLS test on 
            Mountain Lion.
        * platform/win/TestExpectations: Skip the new tests.

2014-04-21  Benjamin Poulain  <benjamin@webkit.org>

        Add Element.matches, the standard name for webkitMatchesSelector
        https://bugs.webkit.org/show_bug.cgi?id=131922

        Reviewed by Andreas Kling.

        Update the tests to verify both Element.matches and Element.webkitMatchesSelector

        * fast/dom/SelectorAPI/attrname-case-insensitive-expected.txt:
        * fast/dom/SelectorAPI/attrname-case-insensitive.html:
        * fast/dom/SelectorAPI/attrname-case-sensitive-expected.txt:
        * fast/dom/SelectorAPI/attrname-case-sensitive.xhtml:
        * fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
        * fast/dom/SelectorAPI/caseID-almost-strict.html:
        * fast/dom/SelectorAPI/caseID-expected.txt:
        * fast/dom/SelectorAPI/caseID-strict-expected.txt:
        * fast/dom/SelectorAPI/caseID-strict.html:
        * fast/dom/SelectorAPI/caseID.html:
        * fast/dom/SelectorAPI/caseTag-expected.txt:
        * fast/dom/SelectorAPI/caseTag.html:
        * fast/dom/SelectorAPI/caseTagX-expected.txt:
        * fast/dom/SelectorAPI/caseTagX.xhtml:
        * fast/dom/SelectorAPI/detached-element-expected.txt:
        * fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
        * fast/dom/SelectorAPI/not-supported-namespace-in-selector.html:
        * fast/dom/SelectorAPI/script-tests/detached-element.js:
        * fast/dom/SelectorAPI/script-tests/undefined-null-stringify.js:
        * fast/dom/SelectorAPI/script-tests/viewless-document.js:
        * fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:
        * fast/dom/SelectorAPI/viewless-document-expected.txt:
        * fast/forms/radio/radio-live-validation-style-expected.txt:
        * fast/forms/radio/radio-live-validation-style.html:
        * fast/harness/results.html:

2014-04-21  Rik Cabanier  <cabanier@adobe.com>

        [CSS Blending] Remove support for non-separable blend modes from mix-blend-mode
        https://bugs.webkit.org/show_bug.cgi?id=131824

        Reviewed by Dean Jackson.

        Removed or updated tests that used non-separable blend modes in combination
        with mix-blend-mode.

        * css3/compositing/blend-mode-property-expected.txt:
        * css3/compositing/blend-mode-property-parsing-expected.txt:
        * css3/compositing/blend-mode-simple-composited.html:
        * css3/compositing/blend-mode-simple.html:
        * css3/compositing/script-tests/blend-mode-property-parsing.js:
        * css3/compositing/script-tests/blend-mode-property.js:
        * css3/compositing/svg-blend-color.html: Removed.
        * css3/compositing/svg-blend-hue.html: Removed.
        * css3/compositing/svg-blend-luminosity.html: Removed.
        * css3/compositing/svg-blend-saturation.html: Removed.
        * platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt:
        * platform/mac/css3/compositing/blend-mode-simple-expected.txt:

2014-04-21  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] vertical-rl/unsplittable-inline-block misrenders the column rule.
        https://bugs.webkit.org/show_bug.cgi?id=131818

        Reviewed by Anders Carlsson.
        
        Patch the test to be column-fill:auto, since the other versions
        of the test all had that specified already.

        * fast/multicol/vertical-rl/unsplittable-inline-block.html:

2014-04-21  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Column set drawing under horizontal scrollbar.
        https://bugs.webkit.org/show_bug.cgi?id=131812.

        Reviewed by Sam Weinig.

        * fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb.html: Added.

2014-04-21  Alexey Proskuryakov  <ap@apple.com>

        Update results of fast/images/image-controls-basic.html

        * platform/mac/TestExpectations:
        * platform/mac/fast/images/image-controls-basic-expected.png:
        * platform/mac/fast/images/image-controls-basic-expected.txt:

2014-04-21  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Add test case for shrink-to-column-height now that
        it passes in the new impl.
        https://bugs.webkit.org/show_bug.cgi?id=131814

        Reviewed by Dean Jackson.

        * fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html: Added.

2014-04-21  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening

        Update gtk/TestExpectations and rebaseline some gtk test results.

        * platform/gtk/TestExpectations: Mark fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform.html
        as failure and fast/dom/Window/mozilla-focus-blur.html as flaky.
        * platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt: Rebaseline after r167335.
        * platform/gtk/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
        * platform/gtk/fast/table/dynamic-caption-add-remove-before-child-expected.txt: Rebaseline after r167568.
        * platform/gtk/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
        * platform/gtk/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
        * platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
        * platform/gtk/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
        * platform/gtk/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
        * platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.
        * platform/gtk/fast/repaint/spanner-with-margin-expected.txt: Added. Rebaseline after r167439.

2014-04-21  Alexey Proskuryakov  <ap@apple.com>

        http/tests/cache/subresource-failover-to-network.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=131936

        Reviewed by Brady Eidson.

        The test was racy, because it was unintentionally queuing TestRunner operations
        twice. Also, it failed to clean up its cookie.

        Rewrote to not use TestRunner queuing, making the test work in browser.

        * http/tests/cache/resources/subresource-failover-to-network.cgi:
        * http/tests/cache/subresource-failover-to-network.html:

2014-04-21  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Column balancing is slow on float-multicol.html
        https://bugs.webkit.org/show_bug.cgi?id=131801

        Reviewed by Enrica Casucci.

        * fast/multicol/tall-float-expected.html: Added.
        * fast/multicol/tall-float.html: Added.

2014-04-21  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Pagination mode messed up with non-inline axis and reversed direction.
        https://bugs.webkit.org/show_bug.cgi?id=131811

        Reviewed by Dean Jackson.

        * fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html: Added.

2014-04-21  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r167530): ASSERT(m_selfTime <= m_totalTime) on tests that run after certain Inspector tests
        https://bugs.webkit.org/show_bug.cgi?id=131919

        * TestExpectations: Skipping some Inspector tests, hopefully these are the ones that
        cause trouble later.

2014-04-21  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167584.
        https://bugs.webkit.org/show_bug.cgi?id=131929

        Broke Objective-C bindings test (Requested by ap on #webkit).

        Reverted changeset:

        "Add Element.matches, the standard name for
        webkitMatchesSelector"
        https://bugs.webkit.org/show_bug.cgi?id=131922
        http://trac.webkit.org/changeset/167584

2014-04-20  Benjamin Poulain  <benjamin@webkit.org>

        Compile the :root pseudo class and fix a related issue with :nth-child()
        https://bugs.webkit.org/show_bug.cgi?id=131926

        Reviewed by Andreas Kling.

        Add more test coverage that would have caught the bug with :nth-child(n).

        * fast/selectors/nth-child-on-root-expected.txt: Added.
        * fast/selectors/nth-child-on-root.html: Added.

2014-04-20  Benjamin Poulain  <benjamin@webkit.org>

        Add Element.matches, the standard name for webkitMatchesSelector
        https://bugs.webkit.org/show_bug.cgi?id=131922

        Reviewed by Andreas Kling.

        Update the tests to verify both Element.matches and Element.webkitMatchesSelector

        * fast/dom/SelectorAPI/attrname-case-insensitive-expected.txt:
        * fast/dom/SelectorAPI/attrname-case-insensitive.html:
        * fast/dom/SelectorAPI/attrname-case-sensitive-expected.txt:
        * fast/dom/SelectorAPI/attrname-case-sensitive.xhtml:
        * fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
        * fast/dom/SelectorAPI/caseID-almost-strict.html:
        * fast/dom/SelectorAPI/caseID-expected.txt:
        * fast/dom/SelectorAPI/caseID-strict-expected.txt:
        * fast/dom/SelectorAPI/caseID-strict.html:
        * fast/dom/SelectorAPI/caseID.html:
        * fast/dom/SelectorAPI/caseTag-expected.txt:
        * fast/dom/SelectorAPI/caseTag.html:
        * fast/dom/SelectorAPI/caseTagX-expected.txt:
        * fast/dom/SelectorAPI/caseTagX.xhtml:
        * fast/dom/SelectorAPI/detached-element-expected.txt:
        * fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
        * fast/dom/SelectorAPI/not-supported-namespace-in-selector.html:
        * fast/dom/SelectorAPI/script-tests/detached-element.js:
        * fast/dom/SelectorAPI/script-tests/undefined-null-stringify.js:
        * fast/dom/SelectorAPI/script-tests/viewless-document.js:
        * fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:
        * fast/dom/SelectorAPI/viewless-document-expected.txt:
        * fast/forms/radio/radio-live-validation-style-expected.txt:
        * fast/forms/radio/radio-live-validation-style.html:
        * fast/harness/results.html:

2014-04-20  Alexey Proskuryakov  <ap@apple.com>

        Expando properties on attribute nodes disappear
        https://bugs.webkit.org/show_bug.cgi?id=88045

        * TestExpectations:
        * platform/efl/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        Consolidated test expectations, because all ports are equally affected. Some
        platforms accidentally start to pass this test sometimes, but there is no real fix yet.

2014-04-20  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: RenderLayer's size is set using enclosingRect() which can result in cruft.
        https://bugs.webkit.org/show_bug.cgi?id=131468

        Reviewed by Darin Adler.

        Layers marked opaque may not paint edge pixels, when RenderLayer bounds are non-integral and
        get device pixel snapped.
        For details see this: https://trac.webkit.org/r159463

        * compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background-expected.html: Added.
        * compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html: Added.

2014-04-19  Darin Adler  <darin@apple.com>

        Simple layout can get confused by coordinate overflow
        https://bugs.webkit.org/show_bug.cgi?id=131890
        rdar://problem/15558510

        Reviewed by Andreas Kling.

        * fast/css/simple-layout-overflow-expected.txt: Added.
        * fast/css/simple-layout-overflow.html: Added.

2014-04-19  Alexey Proskuryakov  <ap@apple.com>

        Crashes in HTMLFormElement::submit.
        https://bugs.webkit.org/show_bug.cgi?id=131910
        <rdar://problem/15661790>

        Reviewed by Anders Carlsson.

        * fast/forms/form-submission-crash-2-expected.txt: Added.
        * fast/forms/form-submission-crash-2.html: Added.
        * fast/forms/form-submission-crash-expected.txt: Added.
        * fast/forms/form-submission-crash.html: Added.

2014-04-20  Antti Koivisto  <antti@apple.com>

        Text bounding box computation for simple line layout is wrong
        https://bugs.webkit.org/show_bug.cgi?id=131912

        Reviewed by Andreas Kling.
        
        Some dumped RenderText sizes change in table related test. These are progressions,
        the new results match the contained lines. There are no visual changes.

        * platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
        * platform/mac/fast/table/multiple-captions-display-expected.txt:
        * platform/mac/tables/mozilla/marvin/body_col-expected.txt:
        * platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/mac/tables/mozilla/other/body_col-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:

2014-04-20  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167501.
        https://bugs.webkit.org/show_bug.cgi?id=131913

        It broke DYEBench (Requested by mhahnenberg on #webkit).

        Reverted changeset:

        "Deleting properties poisons objects"
        https://bugs.webkit.org/show_bug.cgi?id=131551
        http://trac.webkit.org/changeset/167501

2014-04-19  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: RenderLayer's clipping should snap to device pixel boundaries.
        https://bugs.webkit.org/show_bug.cgi?id=131466

        Reviewed by Simon Fraser.

        Fractional pixel clipping can produce cruft on RenderLayers. Since RenderLayer
        sizing and painting are snapped, painting clip rect needs to be snapped the same way.

        * fast/clip/clip-when-rect-has-fractional-pixel-value-expected.html: Added.
        * fast/clip/clip-when-rect-has-fractional-pixel-value.html: Added.

2014-04-19  Chris Fleizach  <cfleizach@apple.com>

        AX: grid rows are not recognized do to lack of explicit role="row", role="gridcell"
        https://bugs.webkit.org/show_bug.cgi?id=131819

        Reviewed by Darin Adler.

        * accessibility/table-with-missing-aria-role-rows-expected.txt: Added.
        * accessibility/table-with-missing-aria-role-rows.html: Added.

2014-04-19  Chris Fleizach  <cfleizach@apple.com>

        AX: Malformed tables exposing incorrect col and colSpans
        https://bugs.webkit.org/show_bug.cgi?id=131796

        Reviewed by Darin Adler.

        * accessibility/table-incorrect-colspan-cell-expected.txt: Added.
        * accessibility/table-incorrect-colspan-cell.html: Added.

2014-04-19  Zalan Bujtas  <zalan@apple.com>

       [Mac] Unreviewed gardening.

        repaintRectsAsText() reports wrong subpixel dirty rects on hidpi.

        * platform/mac/TestExpectations:

2014-04-19  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Harden the layout in case there are no regions
        https://bugs.webkit.org/show_bug.cgi?id=131517

        Reviewed by Mihnea Ovidenie.

        Add a test that verifies the content of a flow thread is updated when all
        the regions are removed.

        * fast/regions/simplified-layout-no-regions-expected.txt: Added.
        * fast/regions/simplified-layout-no-regions.html: Added.

2014-04-19  Darin Adler  <darin@apple.com>

        Cleared executable bits on many .html and .txt files.

2014-04-19  Zalan Bujtas  <zalan@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=131594
        Subpixel rendering: WK1: Wrong repaint rect is calculated when layer has non-compositing transform.

        Reviewed by Simon Fraser.

        We need to snap the repaint rect for transformed object the same way when we paint them.

        Test: fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform.html

        * fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform-expected.txt: Added.
        * fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform.html: Added.

2014-04-18  Dean Jackson  <dino@apple.com>

        [WebGL] Two tests failing on Mountain Lion after r167520
        https://bugs.webkit.org/show_bug.cgi?id=131886

        Skip two failing tests.

        * platform/mac/TestExpectations:

2014-04-18  Timothy Hatcher  <timothy@apple.com>

        Skip fast/dom/gc-attribute-node.html which is flaky
        https://bugs.webkit.org/show_bug.cgi?id=131885

        * platform/mac/TestExpectations:

2014-04-18  Simon Fraser  <simon.fraser@apple.com>

        Contents of directly composited image layers are sometimes missing
        https://bugs.webkit.org/show_bug.cgi?id=131880

        Reviewed by Tim Horton.
        
        Test that that shows the issue in Safari, but not in the test
        runner because of timing issues, but maybe it will some day.

        * compositing/images/update-content-rect-expected.html: Added.
        * compositing/images/update-content-rect.html: Added.

2014-04-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167527.
        https://bugs.webkit.org/show_bug.cgi?id=131883

        Broke 32-bit build (Requested by ap on #webkit).

        Reverted changeset:

        "[Mac] implement WebKitDataCue"
        https://bugs.webkit.org/show_bug.cgi?id=131799
        http://trac.webkit.org/changeset/167527

2014-04-18  Eric Carlson  <eric.carlson@apple.com>

        [Mac] implement WebKitDataCue
        https://bugs.webkit.org/show_bug.cgi?id=131799

        Reviewed by Dean Jackson.

        * http/tests/media/resources/hls: Added.
        * http/tests/media/resources/hls/metadata: Added.
        * http/tests/media/resources/hls/metadata/fileSequence0.ts: Added.
        * http/tests/media/resources/hls/metadata/fileSequence1.ts: Added.
        * http/tests/media/resources/hls/metadata/fileSequence2.ts: Added.
        * http/tests/media/resources/hls/metadata/fileSequence3.ts: Added.
        * http/tests/media/resources/hls/metadata/prog_index.m3u8: Added.
        * http/tests/media/track-in-band-hls-metadata-expected.txt: Added.
        * http/tests/media/track-in-band-hls-metadata.html: Added.
        * media/track/track-datacue-value-expected.txt: Added.
        * media/track/track-datacue-value.html: Added.
        * platform/efl/TestExpectations: Skip the new tests.
        * platform/gtk/TestExpectations: Ditto.
        * platform/mac/js/dom/global-constructors-attributes-expected.txt: Update.
        * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Update.
        * platform/mac/TestExpectations: Skip DataCue test on all Mac versions. Skip HLS test on 
            Mountain Lion.
        * platform/win/TestExpectations: Skip the new tests.

2014-04-18  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] Add parsing support for gradients
        https://bugs.webkit.org/show_bug.cgi?id=131444

        Reviewed by Bem Jones-Bey.

        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:
        * fast/shapes/shape-outside-floats/shape-outside-linear-gradient-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-linear-gradient.html: Added.

2014-04-18  Alexey Proskuryakov  <ap@apple.com>

        [WK1] media/event-attributes.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=131855

        * platform/mac/TestExpectations: Marking as such.

2014-04-17  Mark Hahnenberg  <mhahnenberg@apple.com>

        Deleting properties poisons objects
        https://bugs.webkit.org/show_bug.cgi?id=131551

        Reviewed by Geoffrey Garen.

        New JS regress test. We're ~3.5x faster on this microbenchmark now.

        * js/regress/delete-a-few-properties-then-get-by-id-expected.txt: Added.
        * js/regress/delete-a-few-properties-then-get-by-id.html: Added.
        * js/regress/script-tests/delete-a-few-properties-then-get-by-id.js: Added.
        (MyObject):
        (foo):

2014-04-18  Alexey Proskuryakov  <ap@apple.com>

        http/tests/multipart/policy-ignore-crash.php erroneously depends on http stack quirks
        https://bugs.webkit.org/show_bug.cgi?id=131853

        Reviewed by Brady Eidson.

        * http/tests/multipart/policy-ignore-crash.php: Produce a nice multipart response
        with boundaries on their own lines.

2014-04-18  Simon Fraser  <simon.fraser@apple.com>

        Worse animation performance on pages with 3D transforms
        https://bugs.webkit.org/show_bug.cgi?id=131838
        <rdar://problem/16428630&15705876>

        Reviewed by Dean Jackson.
        
        Testcase having layers at various z translates which shows the bucketing
        of contentsScale, and fix results affected by the patch.

        * compositing/contents-scale/rounded-contents-scale-expected.txt: Added.
        * compositing/contents-scale/rounded-contents-scale.html: Added.
        * compositing/contents-scale/z-translate-expected.txt:
        * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
        * platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
        * platform/mac/compositing/visible-rect/nested-transform-expected.txt:

2014-04-18  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Content overflowing a transformed region is clipped
        https://bugs.webkit.org/show_bug.cgi?id=116833

        Reviewed by Mihnea Ovidenie.

        Added test for overflow of content in 3d transformed regions.

        * fast/regions/overflow-3dtransformed-region-expected.txt: Added.
        * fast/regions/overflow-3dtransformed-region.html: Added.

2014-04-18  Radu Stavila  <stavila@adobe.com>

        [CSSRegions] Incorrect background paint on positioned element hover
        https://bugs.webkit.org/show_bug.cgi?id=131617

        Reviewed by Andrei Bucur.

        Added test for the proper repainting of absolute positioned elements in regions when the
        absolute top of the elements causes it to be pushed to the next region.

        * fast/regions/repaint/repaint-absolute-pushed-to-next-region-expected.txt: Added.
        * fast/regions/repaint/repaint-absolute-pushed-to-next-region.html: Added.

2014-04-18  Philippe Normand  <pnormand@igalia.com>

        Remove NETWORK_INFO support
        https://bugs.webkit.org/show_bug.cgi?id=131841

        Reviewed by Gyuyoung Kim.

        * networkinformation/add-listener-from-callback-expected.txt: Removed.
        * networkinformation/add-listener-from-callback.html: Removed.
        * networkinformation/basic-all-types-of-events-expected.txt: Removed.
        * networkinformation/basic-all-types-of-events.html: Removed.
        * networkinformation/basic-operation-expected.txt: Removed.
        * networkinformation/basic-operation.html: Removed.
        * networkinformation/event-after-navigation-expected.txt: Removed.
        * networkinformation/event-after-navigation.html: Removed.
        * networkinformation/multiple-frames-expected.txt: Removed.
        * networkinformation/multiple-frames.html: Removed.
        * networkinformation/resources/event-after-navigation-new.html: Removed.
        * networkinformation/script-tests/add-listener-from-callback.js: Removed.
        * networkinformation/script-tests/basic-all-types-of-events.js: Removed.
        * networkinformation/script-tests/basic-operation.js: Removed.
        * networkinformation/script-tests/event-after-navigation.js: Removed.
        * networkinformation/script-tests/multiple-frames.js: Removed.
        * networkinformation/script-tests/updates.js: Removed.
        * networkinformation/script-tests/window-property.js: Removed.
        * networkinformation/updates-expected.txt: Removed.
        * networkinformation/updates.html: Removed.
        * networkinformation/window-property-expected.txt: Removed.
        * networkinformation/window-property.html: Removed.

2014-04-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167478.
        https://bugs.webkit.org/show_bug.cgi?id=131840

        Broke multicol tests (Requested by ap on #webkit).

        Reverted changeset:

        "[New Multicolumn] Pagination mode messed up with non-inline
        axis and reversed direction."
        https://bugs.webkit.org/show_bug.cgi?id=131811
        http://trac.webkit.org/changeset/167478

2014-04-17  Darin Adler  <darin@apple.com>

        hostname extraction from a URL should not decode percent-escape sequences
        https://bugs.webkit.org/show_bug.cgi?id=131837
        rdar://problem/15211936

        Reviewed by Anders Carlsson and Dave Hyatt.

        * fast/dom/DOMURL/parsing-expected.txt: Added.
        * fast/dom/DOMURL/parsing.html: Added.
        * fast/dom/HTMLAnchorElement/anchor-element-href-parsing-expected.txt: Added.
        * fast/dom/HTMLAnchorElement/anchor-element-href-parsing.html: Added.

2014-04-17  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Pagination mode messed up with non-inline axis and reversed direction.
        https://bugs.webkit.org/show_bug.cgi?id=131811

        Reviewed by Dean Jackson.

        * fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html: Added.

2014-04-16  Huang Dongsung  <luxtella@company100.net>

        Make RenderLayerBacking get the timingFunction of the correct animation.
        https://bugs.webkit.org/show_bug.cgi?id=100632

        Reviewed by Simon Fraser.

        When an element on a compositing layer has multiple animations that have
        different timingFunctions, the progress of each animation should be
        calculated using its respective timingFunction in Accelerated
        Compositing.

        * animations/keyframe-multiple-timing-functions-transform-expected.txt: Added.
        * animations/keyframe-multiple-timing-functions-transform.html: Added.

2014-04-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, EFL gardening. Remove duplicated test case in EFL WK2 TestExpectations.

        * platform/efl-wk2/TestExpectations:

2014-04-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, fix a test case path, which was moved to different folder.

        * platform/efl/TestExpectations:

2014-04-17  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Column rules don't respect the specified stacking order.
        https://bugs.webkit.org/show_bug.cgi?id=131804

        Reviewed by Beth Dakin.

        * fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html: Added.

2014-04-17  Rik Cabanier  <cabanier@adobe.com>

        [CSS Blending] Remove the -webkit- prefix for mix-blend-mode and isolation CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=131355

        Reviewed by Dean Jackson.

        Removed prefix from mix-blend-mode and isolation in layout tests.

        * css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html:
        * css3/compositing/blend-mode-ancestor-clipping-layer.html:
        * css3/compositing/blend-mode-background.html:
        * css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
        * css3/compositing/blend-mode-isolated-group-1.html:
        * css3/compositing/blend-mode-isolated-group-2.html:
        * css3/compositing/blend-mode-isolated-group-3.html:
        * css3/compositing/blend-mode-layers.html:
        * css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html:
        * css3/compositing/blend-mode-property-expected.txt:
        * css3/compositing/blend-mode-property-parsing-expected.txt:
        * css3/compositing/blend-mode-property-parsing-invalid-expected.txt:
        * css3/compositing/blend-mode-reflection.html:
        * css3/compositing/blend-mode-simple-composited.html:
        * css3/compositing/blend-mode-simple.html:
        * css3/compositing/blend-mode-transform-style-expected.txt:
        * css3/compositing/blend-mode-transform-style.html:
        * css3/compositing/blend-mode-with-accelerated-sibling.html:
        * css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html:
        * css3/compositing/isolation-isolate-blended-child-expected.html:
        * css3/compositing/isolation-isolate-blended-child.html:
        * css3/compositing/isolation-parsing.html:
        * css3/compositing/script-tests/blend-mode-property-parsing-invalid.js:
        (testInvalidFilterRule):
        * css3/compositing/script-tests/blend-mode-property-parsing.js:
        (testBlendModeRule):
        * css3/compositing/script-tests/blend-mode-property.js:
        (testblendmode):
        * css3/compositing/svg-blend-color-dodge.html:
        * css3/compositing/svg-blend-color.html:
        * css3/compositing/svg-blend-hard-light.html:
        * css3/compositing/svg-blend-hue.html:
        * css3/compositing/svg-blend-layer-blend.html:
        * css3/compositing/svg-blend-layer-clip-path.html:
        * css3/compositing/svg-blend-layer-filter.html:
        * css3/compositing/svg-blend-layer-opacity.html:
        * css3/compositing/svg-blend-layer-shadow.html:
        * css3/compositing/svg-blend-luminosity.html:
        * css3/compositing/svg-blend-multiply-alpha.html:
        * css3/compositing/svg-blend-multiply.html:
        * css3/compositing/svg-blend-saturation.html:
        * css3/compositing/svg-blend-screen.html:
        * css3/compositing/svg-blend-soft-light.html:
        * css3/compositing/svg-isolation-default-expected.html:
        * css3/compositing/svg-isolation-default.html:
        * css3/compositing/svg-isolation-isolated-group-expected.html:
        * css3/compositing/svg-isolation-isolated-group.html:
        * fast/repaint/blend-mode-isolate-stacking-context.html:
        * inspector-protocol/layers/layers-blending-compositing-reasons.html:
        * transitions/blendmode-transitions-expected.txt:
        * transitions/blendmode-transitions.html:

2014-04-16  Jer Noble  <jer.noble@apple.com>

        Fullscreen media controls are unusable in pagination mode
        https://bugs.webkit.org/show_bug.cgi?id=131705

        Reviewed by Darin Adler.

        * fullscreen/full-screen-no-style-sharing-expected.txt: Rebaselined.
        * fullscreen/video-cursor-auto-hide.html: Corrected test to move cursor
            to the middle of the video element.

2014-04-16  Jer Noble  <jer.noble@apple.com>

        [MSE] Multiple initialization segments with same codecs in tracks fail validation.
        https://bugs.webkit.org/show_bug.cgi?id=131768

        Reviewed by Eric Carlson.

        * media/media-source/media-source-multiple-initialization-segments-expected.txt: Added.
        * media/media-source/media-source-multiple-initialization-segments.html: Added.

2014-04-17  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Column sets below spanners don't repaint properly.
        https://bugs.webkit.org/show_bug.cgi?id=131778

        Reviewed by Beth Dakin.

        * fast/repaint/spanner-with-margin-expected.txt: Added.
        * fast/repaint/spanner-with-margin.html: Added.

2014-04-17  Eduardo Lima Mitev  <elima@igalia.com>

        [GTK] [Gardening] Updates GTK test expectations

        * platform/gtk/TestExpectations:
          - Marked as flaky
            - fast/frames/frame-programmatic-noresize.html
            - fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
            - fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
          - Removed because are passing now
            - fast/dom/gc-dom-tree-lifetime.html
            - http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
            - editing/editability/ignored-content.html

2014-04-17  Koji Ishii  <kojishi@gmail.com>

        Catch up ruby and its tag omission rule changes in HTML5 CR Feb 2014
        https://bugs.webkit.org/show_bug.cgi?id=131175

        Reviewed by Darin Adler.

        25 new test cases in 2 test files imported from pull requests to html5lib-tests,
        with run- and expected-files generated.
        All new tests pass with the changes included in this patch.

        * html5lib/generated/run-ruby-data-expected.txt: Added.
        * html5lib/generated/run-ruby-data.html: Added (generated by generate-test-wrappers.py)
        * html5lib/generated/run-ruby-write-expected.txt: Added.
        * html5lib/generated/run-ruby-write.html: Added (generated by generate-test-wrappers.py)
        * html5lib/resources/ruby.dat: Added from https://github.com/darobin/html5lib-tests/pull/1
        * html5lib/resources/tests19.dat: Updated from https://github.com/html5lib/html5lib-tests/pull/27

2014-04-17  Alexey Proskuryakov  <ap@apple.com>

        Don't skip inspector/dom/content-flow-list.html and inspector/dom/content-flow-content-removal.html.

        First, they no longer crash/assert. They fail most of the time, but that's tracked as bug 129817.

        Second, skipping was ineffective anyway, because we had a preceding [ Pass Failure ]
        entry for the same files.

        * TestExpectations:

2014-04-17  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] REGRESSION: Column set styles don't update when zooming etc.
        https://bugs.webkit.org/show_bug.cgi?id=131777

        Reviewed by Enrica Casucci.

        * fast/multicol/zoom-test-expected.html: Added.
        * fast/multicol/zoom-test.html: Added.

2014-04-17  Darin Adler  <darin@apple.com>

        Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe
        https://bugs.webkit.org/show_bug.cgi?id=131785
        rdar://problem/16003108

        Reviewed by Brady Eidson.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * js/dom/global-constructors-attributes-shared-worker-expected.txt:
        Updated results since indexed database features are not on by default any more.

2014-04-17  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Isolation descendant dependent flags are not updated correctly
        https://bugs.webkit.org/show_bug.cgi?id=130892

        Reviewed by Dean Jackson.

        * css3/compositing/blend-mode-isolation-flags-append-non-stacking-context-blending.html: Added.
        * css3/compositing/blend-mode-isolation-flags-append-stacking-context-blending.html: Added.
        * css3/compositing/blend-mode-isolation-flags-remove-non-stacking-context-blending.html: Added.
        * css3/compositing/blend-mode-isolation-flags-remove-stacking-context-blending.html: Added.
        * css3/compositing/blend-mode-isolation-flags-turn-off-blending-no-isolation.html: Added.
        * css3/compositing/blend-mode-isolation-flags-turn-off-blending.html: Added.
        * css3/compositing/blend-mode-isolation-flags-turn-off-stacking-context.html: Added.
        * css3/compositing/blend-mode-isolation-flags-turn-on-blending.html: Added.
        * css3/compositing/blend-mode-isolation-flags-turn-on-stacking-context.html: Added.
        * platform/mac/css3/compositing/blend-mode-background-expected.txt:
        * platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.txt:
        * platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.txt:
        * platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.txt:
        * platform/mac/css3/compositing/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-append-stacking-context-blending-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-remove-stacking-context-blending-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-turn-off-blending-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-turn-off-stacking-context-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-turn-on-blending-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolation-flags-turn-on-stacking-context-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-layers-expected.txt:
        * platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
        * platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt:
        * platform/mac/css3/compositing/blend-mode-simple-expected.txt:

2014-04-16  Brian J. Burg  <burg@cs.washington.edu>

        Web Replay: memoize fallback time values for document.lastModified
        https://bugs.webkit.org/show_bug.cgi?id=131318

        Reviewed by Joseph Pecoraro.

        Mark the new test as skipped until dependent functionality is landed.

        * http/tests/inspector/replay/document-last-modified-fallback-value.html: Added.

2014-04-16  Dean Jackson  <dino@apple.com>

        MediaDocument on iOS should be full page
        https://bugs.webkit.org/show_bug.cgi?id=131774

        Reviewed by Jer Noble.

        * platform/iphone-simulator/media/media-document-controls-size-expected.txt: Added.
        * platform/iphone-simulator/media/media-document-controls-size.html: Added.

2014-04-16  Roger Fong  <roger_fong@apple.com>

        Add a way for layout tests to determine whether or not a plugin is snapshotted.
        https://bugs.webkit.org/show_bug.cgi?id=131650.
        <rdar://problem/16615528>

        Reviewed by Dean Jackson.

        Adjust simple.html accordingly, more snapshotting test changes to come.
        * platform/mac-wk2/plugins/snapshotting/simple-expected.txt:
        * plugins/snapshotting/simple.html: 

2014-04-16  Oliver Hunt  <oliver@apple.com>

        Simple ES6 feature:Array.prototype.fill
        https://bugs.webkit.org/show_bug.cgi?id=131703

        Reviewed by David Hyatt.

        Add tests.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/array-fill-expected.txt: Added.
        * js/array-fill.html: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/array-fill.js: Added.

2014-04-16  David Kilzer  <ddkilzer@apple.com>

        Remove test results that match platform/mac results

        Found using this shell script:

        $ for F in `find LayoutTests/platform/ios-sim -name \*-expected.txt`; do \
        T=`echo $F | sed -e 's#platform/ios-sim/##'`; \
        M=`echo $F | sed -e 's#platform/ios-sim/#platform/mac/#'`; \
        ML=`echo $F | sed -e 's#platform/ios-sim/#platform/mac-mountainlion/#'`; \
        if [ -f $M -a ! -f $ML -a -z "`diff -u $F $M 2> /dev/null`" ]; then echo $F; fi; \
        done

        * platform/ios-sim/fast/block/positioning/016-expected.txt: Removed.
        * platform/ios-sim/fast/block/positioning/025-expected.txt: Removed.
        * platform/ios-sim/fast/dom/icon-url-property-expected.txt: Removed.
        * platform/ios-sim/fast/hidpi/focus-rings-expected.txt: Removed.
        * platform/ios-sim/fast/multicol/shrink-to-column-height-for-pagination-expected.txt: Removed.
        * platform/ios-sim/fast/preloader/document-write-2-expected.txt: Removed.
        * platform/ios-sim/fast/preloader/script-expected.txt: Removed.
        * platform/ios-sim/fast/writing-mode/broken-ideograph-small-caps-expected.txt: Removed.
        * platform/ios-sim/fast/xsl/sort-locale-expected.txt: Removed.
        * platform/ios-sim/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Removed.
        * platform/ios-sim/sputnik/Unicode/Unicode_320/S7.6_A2.2_T2-expected.txt: Removed.
        * platform/ios-sim/sputnik/Unicode/Unicode_320/S7.6_A5.2_T8-expected.txt: Removed.
        * platform/ios-sim/webarchive/loading/mainresource-null-mimetype-crash-expected.txt: Removed.

2014-04-16  David Kilzer  <ddkilzer@apple.com>

        Remove test results that match top-level results

        Found using this shell script:

        $ for F in `find LayoutTests/platform/ios-sim -name \*-expected.txt`; do \
        T=`echo $F | sed -e 's#platform/ios-sim/##'`; \
        M=`echo $F | sed -e 's#platform/ios-sim/#platform/mac/#'`; \
        ML=`echo $F | sed -e 's#platform/ios-sim/#platform/mac-mountainlion/#'`; \
        if [ ! -f $M -a ! -f $ML -a -f $T -a -z "`diff -u $F $T 2> /dev/null`" ]; then echo $F; fi; \
        done

        * platform/ios-sim/compositing/layer-creation/no-compositing-for-sticky-expected.txt: Removed.
        * platform/ios-sim/editing/inserting/insert-3786362-fix-expected.txt: Removed.
        * platform/ios-sim/editing/inserting/insert-3907422-fix-expected.txt: Removed.
        * platform/ios-sim/editing/unsupported-content/table-delete-001-expected.txt: Removed.
        * platform/ios-sim/editing/unsupported-content/table-delete-003-expected.txt: Removed.
        * platform/ios-sim/fast/block/positioning/move-with-auto-width-expected.txt: Removed.
        * platform/ios-sim/fast/canvas/2d.backingStorePixelRatio-expected.txt: Removed.
        * platform/ios-sim/fast/canvas/2d.imageDataHD-expected.txt: Removed.
        * platform/ios-sim/fast/canvas/canvas-fillPath-shadow-expected.txt: Removed.
        * platform/ios-sim/fast/canvas/webgl/texture-npot-expected.txt: Removed.
        * platform/ios-sim/fast/css/MarqueeLayoutTest-expected.txt: Removed.
        * platform/ios-sim/fast/css/color-leakage-expected.txt: Removed.
        * platform/ios-sim/fast/css/font-face-multiple-remote-sources-expected.txt: Removed.
        * platform/ios-sim/fast/css/font-face-remote-expected.txt: Removed.
        * platform/ios-sim/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
        * platform/ios-sim/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
        * platform/ios-sim/fast/css/nested-layers-with-hover-expected.txt: Removed.
        * platform/ios-sim/fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1-expected.txt: Removed.
        * platform/ios-sim/fast/dom/Window/window-postmessage-arrays-expected.txt: Removed.
        * platform/ios-sim/fast/dom/constructed-objects-prototypes-expected.txt: Removed.
        * platform/ios-sim/fast/dom/gc-10-expected.txt: Removed.
        * platform/ios-sim/fast/dom/tabindex-clamp-expected.txt: Removed.
        * platform/ios-sim/fast/dynamic/dirty-float-in-clean-line-expected.txt: Removed.
        * platform/ios-sim/fast/events/pageshow-pagehide-on-back-cached-with-frames-expected.txt: Removed.
        * platform/ios-sim/fast/forms/mailto/advanced-get-expected.txt: Removed.
        * platform/ios-sim/fast/forms/mailto/advanced-put-expected.txt: Removed.
        * platform/ios-sim/fast/forms/radio/indeterminate-radio-expected.txt: Removed.
        * platform/ios-sim/fast/forms/select-script-onchange-expected.txt: Removed.
        * platform/ios-sim/fast/forms/suggested-value-expected.txt: Removed.
        * platform/ios-sim/fast/history/timed-refresh-in-cached-frame-expected.txt: Removed.
        * platform/ios-sim/fast/lists/inline-before-content-after-list-marker-expected.txt: Removed.
        * platform/ios-sim/fast/media/media-query-list-07-expected.txt: Removed.
        * platform/ios-sim/fast/media/print-restores-previous-mediatype-expected.txt: Removed.
        * platform/ios-sim/fast/multicol/span/before-child-anonymous-column-block-expected.txt: Removed.
        * platform/ios-sim/fast/overflow/horizontal-scroll-after-back-expected.txt: Removed.
        * platform/ios-sim/fast/overflow/scrollbar-restored-expected.txt: Removed.
        * platform/ios-sim/fast/repaint/table-hover-on-link-expected.txt: Removed.
        * platform/ios-sim/fast/repaint/table-section-repaint-expected.txt: Removed.
        * platform/ios-sim/fast/ruby/floating-ruby-text-expected.txt: Removed.
        * platform/ios-sim/fast/ruby/overhang-horizontal-expected.txt: Removed.
        * platform/ios-sim/fast/ruby/overhang-horizontal-no-overlap1-expected.txt: Removed.
        * platform/ios-sim/fast/ruby/overhang-horizontal-no-overlap2-expected.txt: Removed.
        * platform/ios-sim/fast/ruby/positioned-ruby-text-expected.txt: Removed.
        * platform/ios-sim/fast/ruby/ruby-text-before-child-split-expected.txt: Removed.
        * platform/ios-sim/fast/table/empty-row-crash-expected.txt: Removed.
        * platform/ios-sim/fast/table/empty-section-crash-expected.txt: Removed.
        * platform/ios-sim/fast/table/inline-form-assert-expected.txt: Removed.
        * platform/ios-sim/fast/table/max-width-integer-overflow-expected.txt: Removed.
        * platform/ios-sim/fast/table/table-row-split2-expected.txt: Removed.
        * platform/ios-sim/fast/table/table-section-split2-expected.txt: Removed.
        * platform/ios-sim/fast/table/table-split-expected.txt: Removed.
        * platform/ios-sim/fast/table/table-split2-expected.txt: Removed.
        * platform/ios-sim/fast/text/apply-start-width-after-skipped-text-expected.txt: Removed.
        * platform/ios-sim/fast/text/justify-padding-distribution-expected.txt: Removed.
        * platform/ios-sim/fast/text/selection-painted-separately-expected.txt: Removed.
        * platform/ios-sim/fast/text/setData-dirty-lines-expected.txt: Removed.
        * platform/ios-sim/fast/text/soft-hyphen-2-expected.txt: Removed.
        * platform/ios-sim/fast/text/splitText-dirty-lines-expected.txt: Removed.
        * platform/ios-sim/fast/transforms/shadows-expected.txt: Removed.
        * platform/ios-sim/fast/workers/worker-close-more-expected.txt: Removed.
        * platform/ios-sim/fast/writing-mode/table-percent-width-quirk-expected.txt: Removed.
        * platform/ios-sim/fast/xmlhttprequest/xmlhttprequest-recursive-sync-event-expected.txt: Removed.
        * platform/ios-sim/http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt: Removed.
        * platform/ios-sim/http/tests/cookies/simple-cookies-expired-expected.txt: Removed.
        * platform/ios-sim/http/tests/cookies/simple-cookies-max-age-expected.txt: Removed.
        * platform/ios-sim/http/tests/cookies/single-quoted-value-expected.txt: Removed.
        * platform/ios-sim/http/tests/misc/empty-urls-expected.txt: Removed.
        * platform/ios-sim/http/tests/multipart/load-last-non-html-frame-expected.txt: Removed.
        * platform/ios-sim/http/tests/navigation/post-goback1-expected.txt: Removed.
        * platform/ios-sim/http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked-expected.txt: Removed.
        * platform/ios-sim/http/tests/security/contentSecurityPolicy/media-src-blocked-expected.txt: Removed.
        * platform/ios-sim/http/tests/security/local-video-poster-from-remote-expected.txt: Removed.
        * platform/ios-sim/http/tests/security/sandboxed-iframe-modify-self-expected.txt: Removed.
        * platform/ios-sim/http/tests/security/video-poster-cross-origin-crash-expected.txt: Removed.
        * platform/ios-sim/http/tests/xmlhttprequest/chunked-progress-event-expectedLength-expected.txt: Removed.
        * platform/ios-sim/http/tests/xmlhttprequest/request-encoding2-expected.txt: Removed.
        * platform/ios-sim/http/tests/xmlhttprequest/upload-onloadend-event-after-load-expected.txt: Removed.
        * platform/ios-sim/http/tests/xmlhttprequest/upload-onprogress-event-expected.txt: Removed.
        * platform/ios-sim/http/tests/xmlhttprequest/upload-progress-events-expected.txt: Removed.
        * platform/ios-sim/media/csp-blocks-video-expected.txt: Removed.
        * platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A3.1-expected.txt: Removed.
        * platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A3.2-expected.txt: Removed.
        * platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A5.3_T1-expected.txt: Removed.
        * platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A5.3_T2-expected.txt: Removed.
        * platform/ios-sim/svg/as-image/image-respects-pageScaleFactor-change-expected.txt: Removed.
        * platform/ios-sim/svg/css/getComputedStyle-basic-expected.txt: Removed.
        * platform/ios-sim/svg/custom/baseval-animval-equality-expected.txt: Removed.
        * platform/ios-sim/svg/custom/dasharrayOrigin-expected.txt: Removed.
        * platform/ios-sim/svg/custom/getSubStringLength-expected.txt: Removed.
        * platform/ios-sim/svg/custom/pattern-scaling-expected.txt: Removed.
        * platform/ios-sim/svg/custom/svg-features-expected.txt: Removed.
        * platform/ios-sim/svg/dom/altGlyph-dom-expected.txt: Removed.
        * platform/ios-sim/svg/foreignObject/fO-parent-display-none-expected.txt: Removed.
        * platform/ios-sim/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: Removed.
        * platform/ios-sim/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: Removed.
        * platform/ios-sim/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: Removed.
        * platform/ios-sim/svg/hittest/svg-ellipse-non-scale-stroke-expected.txt: Removed.

2014-04-16  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/129171> Rebaseline LayoutTests for iOS

        3206 files changed, 65535 insertions(+), 39972 deletions(-)

        * platform/ios-sim/Skipped: Clean up old items.  Skip tests that
        time out due to notifyDone() not being called.

2014-04-16  David Kilzer  <ddkilzer@apple.com>

        Upstream iOS layout test results

        7354 files changed, 367781 insertions(+)

        * platform/ios-sim: Add.

2014-04-16  David Kilzer  <ddkilzer@apple.com>

        Rename LayoutTests/platformm/iphone-simulator => ios-sim

        * platform/ios-sim: Renamed from LayoutTests/platform/iphone-simulator.

2014-04-16  Alexey Proskuryakov  <ap@apple.com>

        DataTransfer should cache its FileList
        https://bugs.webkit.org/show_bug.cgi?id=131694

        Reviewed by Darin Adler.

        * fast/events/data-transfer-files-attribute-identity-expected.txt: Added.
        * fast/events/data-transfer-files-attribute-identity.html: Added.

        * platform/wk2/TestExpectations: Skipped the test, because WKTR doesn't support
        file dragging yet.

2014-04-16  Zoltan Horvath  <zoltan@webkit.org>

        Remove fast/parser/parser-yield-timing.html from skipped list
        https://bugs.webkit.org/show_bug.cgi?id=131749

        Reviewed by Darin Adler.

        The test was originally skipped in Bug 89812 due to flakiness on Chromium
        debug bots. I run the tests with huge iterations and I don't see
        flakiness on Mavericks release/debug. Let's remove from skipped for now.

        * platform/mac/TestExpectations:

2014-04-16  Bem Jones-Bey  <bjonesbe@adobe.com>

        Remove references to Leopard and Snow Leopard from Windows TestExpectations

        Filed new bugs to track each of these tests, so someone with a windows
        build can try and see if the tests still fail.

        Unreviewed.

        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:

2014-04-16  David Hyatt  <hyatt@apple.com>

        Make sure to skip the RenderMultiColumnFlowThread when resolving percentage heights inside columns against
        containing blocks. The flow thread's auto height should not interfere if a fixed height is specified on
        an ancestor.

        https://bugs.webkit.org/show_bug.cgi?id=131741

        Reviewed by Simon Fraser.

        * fast/multicol/percent-height-expected.html: Added.
        * fast/multicol/percent-height.html: Added.

2014-04-16  Martin Hodovan  <mhodovan@inf.u-szeged.hu>

        ASSERTION FAILED: x2 >= x1 in WebCore::RenderObject::drawLineForBoxSide
        https://bugs.webkit.org/show_bug.cgi?id=127835

        Added test demonstrates four cases:
        Test #1: Negative upper margin + positive upper padding
        Test #2: Negative right margin + positive right padding (used to fail)
        Test #3: Negative bottom margin + positive bottom padding
        Test #4: Negative left margin + positive left padding (used to fail)

        Reviewed by Darin Adler.

        * fast/css/padding-margin-negative-border-expected.html: Added.
        * fast/css/padding-margin-negative-border.html: Added.

2014-04-16  Jer Noble  <jer.noble@apple.com>

        [MSE] Seeks into buffered ranges will never complete.
        https://bugs.webkit.org/show_bug.cgi?id=131717

        Reviewed by Eric Carlson.

        * media/media-source/media-source-seek-complete-expected.txt: Added.
        * media/media-source/media-source-seek-complete.html: Added.

2014-04-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed EFL gardening. Some test modules come to crash since buildbot uses
        Ubuntu 13.10. Skip those crash modules for now. 

        * platform/efl-wk2/TestExpectations:

2014-04-14  Roger Fong  <roger_fong@apple.com>

        Snapshotted plugins may need to be restarted if style properties are changed after initial load of plugin.
        https://bugs.webkit.org/show_bug.cgi?id=131553.
        <rdar://problem/15443375>

        Reviewed by Timothy Horton.

        * platform/mac-wk2/plugins/snapshotting/set-plugin-size-to-tiny-expected.txt: Added.
        * plugins/snapshotting/set-plugin-size-to-tiny.html: Added.

2014-04-14  Morten Stenshorne  <mstensho@opera.com>

        [New Multicolumn] Add support for column-span:all
        https://bugs.webkit.org/show_bug.cgi?id=129330

        Reviewed by Dave Hyatt.

        Wrote a bunch of tests. A few of the tests were copied from existing
        (old-impl) tests and put in a separate directory. That directory can
        be wiped when we turn on the new multicol implementation by default.

        * fast/multicol/newmulticol/adjacent-spanners-expected.html: Added.
        * fast/multicol/newmulticol/adjacent-spanners.html: Added.
        * fast/multicol/newmulticol/block-becomes-spanner-expected.html: Added.
        * fast/multicol/newmulticol/block-becomes-spanner.html: Added.
        * fast/multicol/newmulticol/change-spanner-display-expected.html: Added.
        * fast/multicol/newmulticol/change-spanner-display.html: Added.
        * fast/multicol/newmulticol/change-spanner-parent-display-expected.html: Added.
        * fast/multicol/newmulticol/change-spanner-parent-display.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-summary-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/clone-summary.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/continuation-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/span-as-immediate-child-complex-splitting-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/span-as-immediate-child-complex-splitting.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child-expected.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash-expected.txt: Added.
        * fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html: Added.
        * fast/multicol/newmulticol/insert-row-content1-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content1.html: Added.
        * fast/multicol/newmulticol/insert-row-content2-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content2.html: Added.
        * fast/multicol/newmulticol/insert-row-content3-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content3.html: Added.
        * fast/multicol/newmulticol/insert-row-content4-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content4.html: Added.
        * fast/multicol/newmulticol/insert-row-content5-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content5.html: Added.
        * fast/multicol/newmulticol/insert-row-content6-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content6.html: Added.
        * fast/multicol/newmulticol/insert-row-content7-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content7.html: Added.
        * fast/multicol/newmulticol/insert-row-content8-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content8.html: Added.
        * fast/multicol/newmulticol/insert-row-content9-expected.html: Added.
        * fast/multicol/newmulticol/insert-row-content9.html: Added.
        * fast/multicol/newmulticol/insert-spanner-child1-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner-child1.html: Added.
        * fast/multicol/newmulticol/insert-spanner-child2-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner-child2.html: Added.
        * fast/multicol/newmulticol/insert-spanner-child3-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner-child3.html: Added.
        * fast/multicol/newmulticol/insert-spanner1-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner1.html: Added.
        * fast/multicol/newmulticol/insert-spanner2-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner2.html: Added.
        * fast/multicol/newmulticol/insert-spanner3-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner3.html: Added.
        * fast/multicol/newmulticol/insert-spanner4-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner4.html: Added.
        * fast/multicol/newmulticol/insert-spanner5-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner5.html: Added.
        * fast/multicol/newmulticol/insert-spanner6-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner6.html: Added.
        * fast/multicol/newmulticol/insert-spanner7-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner7.html: Added.
        * fast/multicol/newmulticol/insert-spanner8-expected.html: Added.
        * fast/multicol/newmulticol/insert-spanner8.html: Added.
        * fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block-expected.html: Added.
        * fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block.html: Added.
        * fast/multicol/newmulticol/remove-row-content1-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content1.html: Added.
        * fast/multicol/newmulticol/remove-row-content2-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content2.html: Added.
        * fast/multicol/newmulticol/remove-row-content3-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content3.html: Added.
        * fast/multicol/newmulticol/remove-row-content4-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content4.html: Added.
        * fast/multicol/newmulticol/remove-row-content5-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content5.html: Added.
        * fast/multicol/newmulticol/remove-row-content6-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content6.html: Added.
        * fast/multicol/newmulticol/remove-row-content7-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content7.html: Added.
        * fast/multicol/newmulticol/remove-row-content8-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content8.html: Added.
        * fast/multicol/newmulticol/remove-row-content9-expected.html: Added.
        * fast/multicol/newmulticol/remove-row-content9.html: Added.
        * fast/multicol/newmulticol/remove-spanner1-expected.html: Added.
        * fast/multicol/newmulticol/remove-spanner1.html: Added.
        * fast/multicol/newmulticol/remove-spanner2-expected.html: Added.
        * fast/multicol/newmulticol/remove-spanner2.html: Added.
        * fast/multicol/newmulticol/remove-spanner3-expected.html: Added.
        * fast/multicol/newmulticol/remove-spanner3.html: Added.
        * fast/multicol/newmulticol/remove-spanner4-expected.html: Added.
        * fast/multicol/newmulticol/remove-spanner4.html: Added.
        * fast/multicol/newmulticol/remove-spanner5-expected.html: Added.
        * fast/multicol/newmulticol/remove-spanner5.html: Added.
        * fast/multicol/newmulticol/remove-spanner6-expected.html: Added.
        * fast/multicol/newmulticol/remove-spanner6.html: Added.
        * fast/multicol/newmulticol/sole-spanner-expected.html: Added.
        * fast/multicol/newmulticol/sole-spanner.html: Added.
        * fast/multicol/newmulticol/span-between-text-expected.html: Added.
        * fast/multicol/newmulticol/span-between-text.html: Added.
        * fast/multicol/newmulticol/spanner-becomes-regular-block-expected.html: Added.
        * fast/multicol/newmulticol/spanner-becomes-regular-block.html: Added.
        * fast/multicol/newmulticol/spanner-first-expected.html: Added.
        * fast/multicol/newmulticol/spanner-first.html: Added.
        * fast/multicol/newmulticol/spanner-img-expected.html: Added.
        * fast/multicol/newmulticol/spanner-img.html: Added.
        * fast/multicol/newmulticol/spanner-inline-block-expected.html: Added.
        * fast/multicol/newmulticol/spanner-inline-block.html: Added.
        * fast/multicol/newmulticol/spanner-last-expected.html: Added.
        * fast/multicol/newmulticol/spanner-last.html: Added.
        * fast/multicol/newmulticol/spanner-nested-dynamic-expected.html: Added.
        * fast/multicol/newmulticol/spanner-nested-dynamic.html: Added.
        * fast/multicol/newmulticol/spanner-nested-expected.html: Added.
        * fast/multicol/newmulticol/spanner-nested.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after1-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after1.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after2-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after2.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after3-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after3.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after4-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-after4.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after1-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after1.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after2-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after2.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after3-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after3.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after4-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before-after4.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before1-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before1.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before2-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before2.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before3-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before3.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before4-expected.html: Added.
        * fast/multicol/newmulticol/spanner-pseudo-before4.html: Added.
        * fast/multicol/newmulticol/spanner-table-expected.html: Added.
        * fast/multicol/newmulticol/spanner-table.html: Added.
        * fast/multicol/newmulticol/spanner-with-margin-expected.html: Added.
        * fast/multicol/newmulticol/spanner-with-margin.html: Added.
        * fast/multicol/newmulticol/spanner1-expected.html: Added.
        * fast/multicol/newmulticol/spanner1.html: Added.
        * fast/multicol/newmulticol/spanner2-expected.html: Added.
        * fast/multicol/newmulticol/spanner2.html: Added.
        * fast/multicol/newmulticol/spanner3-expected.html: Added.
        * fast/multicol/newmulticol/spanner3.html: Added.
        * fast/multicol/newmulticol/spanner4-expected.html: Added.
        * fast/multicol/newmulticol/spanner4.html: Added.
        * fast/multicol/newmulticol/spanner5-expected.html: Added.
        * fast/multicol/newmulticol/spanner5.html: Added.
        * fast/multicol/newmulticol/spanner6-expected.html: Added.
        * fast/multicol/newmulticol/spanner6.html: Added.
        * fast/multicol/newmulticol/spanner7-expected.html: Added.
        * fast/multicol/newmulticol/spanner7.html: Added.
        * fast/multicol/newmulticol/spanner8-expected.html: Added.
        * fast/multicol/newmulticol/spanner8.html: Added.
        * fast/multicol/newmulticol/spanner9-expected.html: Added.
        * fast/multicol/newmulticol/spanner9.html: Added.
        * fast/multicol/newmulticol/trailing-margin-with-spanner-expected.html: Added.
        * fast/multicol/newmulticol/trailing-margin-with-spanner.html: Added.
        * fast/multicol/newmulticol/trailing-margin-with-spanner2-expected.html: Added.
        * fast/multicol/newmulticol/trailing-margin-with-spanner2.html: Added.
        * platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt: Added.

2014-04-15  Alexey Proskuryakov  <ap@apple.com>

        http/tests/websocket/tests/hybi/workers/close.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=131716

        * platform/mac/TestExpectations: Marking as such.

2014-04-15  Alexey Proskuryakov  <ap@apple.com>

        transitions/cancel-transition.html is very flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=131715

        * platform/mac/TestExpectations: Marking as such.

2014-04-15  Lorenzo Tilve  <ltilve@igalia.com>

        Unreviewed gardening.

        * TestExpectations:
        Corrected wrong js/regress/ path for js/slow-stress/emscripten-memops.html
        * platform/gtk/TestExpectations:
        Updated expectation for passing on Release plugins/unavailable-plugin-indicator-obscurity.html

2014-04-15  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167199 and r167251.
        https://bugs.webkit.org/show_bug.cgi?id=131678

        Caused a DYEBench regression and does not seem to improve perf
        on relevant websites (Requested by rniwa on #webkit).

        Reverted changesets:

        "Rewrite Function.bind as a builtin"
        https://bugs.webkit.org/show_bug.cgi?id=131083
        http://trac.webkit.org/changeset/167199

        "Update test result"
        http://trac.webkit.org/changeset/167251

2014-04-15  Alexey Proskuryakov  <ap@apple.com>

        inspector/dom/content-flow-list.html and inspector/dom/content-flow-content-removal.html
        flakily fail and assert
        https://bugs.webkit.org/show_bug.cgi?id=131679

        * TestExpectations: This one, too.

2014-04-15  Alexey Proskuryakov  <ap@apple.com>

        inspector/dom/content-flow-list.html is flakily failing and asserting
        https://bugs.webkit.org/show_bug.cgi?id=131679

        * TestExpectations: Skip the test, it fails or asserts most of the time.

2014-04-15  Alexey Proskuryakov  <ap@apple.com>

        ScriptProcessorNode is garbage collected while still active if unreachable (breaks multiple webaudio test)
        https://bugs.webkit.org/show_bug.cgi?id=112521

        * TestExpectations: Updated bug number, added webaudio/audioprocessingevent.html,
        and removed a spurious additional webaudio/javascriptaudionode-downmix8-2channel-input.html line.

2014-04-15  Alexey Proskuryakov  <ap@apple.com>

        [Mac] compositing/repaint/positioned-movement.html flaky, missing repaint
        https://bugs.webkit.org/show_bug.cgi?id=118153

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        Moved the flaky expectation to also apply to WebKit1.

2014-04-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167261.
        https://bugs.webkit.org/show_bug.cgi?id=131667

        broke many navigation tests (Requested by ap on #webkit).

        Reverted changeset:

        "Web Replay: memoize fallback time values for
        document.lastModified"
        https://bugs.webkit.org/show_bug.cgi?id=131318
        http://trac.webkit.org/changeset/167261

2014-04-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167272.
        https://bugs.webkit.org/show_bug.cgi?id=131666

        Broke multiple tests (Requested by ap on #webkit).

        Reverted changeset:

        "Function.bind itself is too slow"
        https://bugs.webkit.org/show_bug.cgi?id=131636
        http://trac.webkit.org/changeset/167272

2014-04-14  Jon Honeycutt  <jhoneycutt@apple.com>

        Assertion failure under FEImage::determineAbsolutePaintRect()

        <https://bugs.webkit.org/show_bug.cgi?id=131660>
        <rdar://problem/15669294>

        Reviewed by Geoffrey Garen.

        * svg/filters/feImage-filter-assertion-expected.txt: Added.
        * svg/filters/feImage-filter-assertion.html: Added.

2014-04-14  Oliver Hunt  <oliver@apple.com>

        Function.bind itself is too slow
        https://bugs.webkit.org/show_bug.cgi?id=131636

        Reviewed by Geoffrey Garen.

        New test, and fix bogus log in old one

        * js/regress/function-bind-create-expected.html: Added.
        * js/regress/function-bind-create.html: Added.
        * js/regress/script-tests/function-bind-create.js: Added.
        (test):
        * js/regress/script-tests/function-bind.js:

2014-04-14  Brian J. Burg  <burg@cs.washington.edu>

        Web Replay: memoize fallback time values for document.lastModified
        https://bugs.webkit.org/show_bug.cgi?id=131318

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector/replay/document-last-modified-fallback-value.html: Added.

2014-04-14  Eduardo Lima Mitev  <elima@igalia.com>

        [GTK] Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Update test expectations for new failing test 'editing/editability/ignored-content.html'.
        * platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaselined.

2014-04-14  Dirk Schulze  <krit@webkit.org>

        Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
        https://bugs.webkit.org/show_bug.cgi?id=79659

        Reviewed by Darin Adler.

        Unskip previously failing tests.

        * platform/gtk/TestExpectations:

2014-04-14  Manuel Rego Casasnovas  <rego@igalia.com>

        [JSC] CSSStyleDeclaration report incorrect descriptor
        https://bugs.webkit.org/show_bug.cgi?id=89697

        Reviewed by Benjamin Poulain.

        Add new test to check the descriptor of CSSStyleDeclaration properties.

        * fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor-expected.txt: Added.
        * fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor.html: Added.

2014-04-14  Benjamin Poulain  <benjamin@webkit.org>

        CSS JIT: compile the :nth-child() pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=131602

        Reviewed by Andreas Kling.

        Add a couple of test for the new code:
        -nth-child-with-backtracking tests the register pressure with backtracking.
        -nth-child-bounds tests invalid selectors do not cause problems.

        * fast/selectors/nth-child-bounds-expected.txt: Added.
        * fast/selectors/nth-child-bounds.html: Added.
        * fast/selectors/nth-child-with-backtracking-expected.txt: Added.
        * fast/selectors/nth-child-with-backtracking.html: Added.

        * http/tests/security/video-poster-cross-origin-crash.html:
        Now that CSSSelector filters out ridiculously bad values, the pseudo class in this test
        was no longer executed.
        The particular value of nth-child is irrelevant for this test, all it needs it the tree marking
        while not matching.

2014-04-14  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Hit testing doesn't work in video
        https://bugs.webkit.org/show_bug.cgi?id=131485

        Reviewed by Andrei Bucur.

        * fast/regions/hit-test-region-preserve3d-container-expected.txt: Added.
        * fast/regions/hit-test-region-preserve3d-container.html: Added.

2014-04-14  Koji Ishii  <kojishi@gmail.com>

        Update html5lib test data to latest version
        https://bugs.webkit.org/show_bug.cgi?id=131588

        Reviewed by Darin Adler.

        This patch imports the latest version of the "dat" files from
        https://github.com/html5lib/html5lib-tests
        Also updated expected files for failures of new tests.

        * html5lib/generated/run-adoption01-data-expected.txt: Passes now as a bug in the test was fixed.
        * html5lib/generated/run-adoption01-write-expected.txt: Supressed new failures.
        * html5lib/generated/run-inbody01-data-expected.txt: Added.
        * html5lib/generated/run-inbody01-data.html: Added.
        * html5lib/generated/run-inbody01-write-expected.txt: Added.
        * html5lib/generated/run-inbody01-write.html: Added.
        * html5lib/generated/run-main-element-data-expected.txt: Added.
        * html5lib/generated/run-main-element-data.html: Added.
        * html5lib/generated/run-main-element-write-expected.txt: Added.
        * html5lib/generated/run-main-element-write.html: Added.
        * html5lib/generated/run-template-data-expected.txt: Supressed new failures.
        * html5lib/generated/run-template-write-expected.txt: Supressed new failures.
        * html5lib/generated/run-tests21-data-expected.txt: Supressed new failures.
        * html5lib/generated/run-tests21-write-expected.txt: Supressed new failures.
        * html5lib/generated/run-tests25-data-expected.txt: Supressed new failures.
        * html5lib/generated/run-tests25-write-expected.txt: Supressed new failures.
        * html5lib/resources/adoption01.dat:
        * html5lib/resources/adoption02.dat:
        * html5lib/resources/comments01.dat:
        * html5lib/resources/doctype01.dat:
        * html5lib/resources/domjs-unsafe.dat:
        * html5lib/resources/entities01.dat:
        * html5lib/resources/entities02.dat:
        * html5lib/resources/html5test-com.dat:
        * html5lib/resources/inbody01.dat:
        * html5lib/resources/isindex.dat:
        * html5lib/resources/main-element.dat: Added.
        * html5lib/resources/pending-spec-changes-plain-text-unsafe.dat:
        * html5lib/resources/pending-spec-changes.dat:
        * html5lib/resources/plain-text-unsafe.dat:
        * html5lib/resources/scriptdata01.dat:
        * html5lib/resources/tables01.dat:
        * html5lib/resources/template.dat:
        * html5lib/resources/tests1.dat:
        * html5lib/resources/tests10.dat:
        * html5lib/resources/tests14.dat:
        * html5lib/resources/tests15.dat:
        * html5lib/resources/tests16.dat:
        * html5lib/resources/tests17.dat:
        * html5lib/resources/tests18.dat:
        * html5lib/resources/tests19.dat:
        * html5lib/resources/tests2.dat:
        * html5lib/resources/tests20.dat:
        * html5lib/resources/tests21.dat:
        * html5lib/resources/tests22.dat:
        * html5lib/resources/tests23.dat:
        * html5lib/resources/tests25.dat:
        * html5lib/resources/tests26.dat:
        * html5lib/resources/tests3.dat:
        * html5lib/resources/tests4.dat:
        * html5lib/resources/tests5.dat:
        * html5lib/resources/tests6.dat:
        * html5lib/resources/tests7.dat:
        * html5lib/resources/tests8.dat:
        * html5lib/resources/tests9.dat:
        * html5lib/resources/tests_innerHTML_1.dat:
        * html5lib/resources/tricky01.dat:
        * html5lib/resources/webkit01.dat:
        * html5lib/resources/webkit02.dat:

2014-04-13  Darin Adler  <darin@apple.com>

        REGRESSION (r158617): Find on Page can get stuck in a loop when the search string occurs in an <input> in a <fieldset>
        https://bugs.webkit.org/show_bug.cgi?id=126322

        Reviewed by Ryosuke Niwa.

        * editing/text-iterator/count-matches-in-form-expected.txt: Added.
        * editing/text-iterator/count-matches-in-form.html: Added.

        * fast/text/window-find.html: Tweaked the test a bit, making it a little easier to
        see if the test hasn't even run.

2014-04-08  Oliver Hunt  <oliver@apple.com>

        Rewrite Function.bind as a builtin
        https://bugs.webkit.org/show_bug.cgi?id=131083

        Reviewed by Geoffrey Garen.

        Testing.

        * js/dom/function-bind-expected.txt:
        * js/regress/function-bind-expected.txt: Added.
        * js/regress/function-bind.html: Added.
        * js/regress/script-tests/function-bind.js: Added.
        (foo):

2014-04-13  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [GStreamer] No CORS support for media elements
        https://bugs.webkit.org/show_bug.cgi?id=99037

        Reviewed by Philippe Normand.

        http/tests/security/video-cross-origin-accessfailure.html verifies that cross-origin streams that fail CORS check
        are not played when crossorigin attribute is set.
         http/tests/security/video-cross-origin-accesssameorigin.html verifies that access to same-origin streams
        are played when crossorigin attribute is set.

        * http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
        * http/tests/security/video-cross-origin-accessfailure.html: Added.
        * http/tests/security/video-cross-origin-accesssameorigin-expected.txt: Added.
        * http/tests/security/video-cross-origin-accesssameorigin.html: Added.
        * platform/efl/TestExpectations: Enabled http/tests/security/video-cross-origin-readback.html.
        * platform/gtk/TestExpectations: Ditto.
        * platform/mac/TestExpectations: Disabled http/tests/security/video-cross-origin-accessfailure.html.

2014-04-13  Darin Adler  <darin@apple.com>

        REGRESSION (r166860): ASSERTION FAILED: !isCalculated() on fast/css/image-set-value-not-removed-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=131480

        Reviewed by Andreas Kling.

        * platform/mac/TestExpectations: Unskip the test now that the assertion is fixed.

2014-04-12  Filip Pizlo  <fpizlo@apple.com>

        Make slow-stress tests run faster by running fewer VM variants.

        Rubber stamped by Geoffrey Garen.

        * jsc-layout-tests.yaml:

2014-04-12  Filip Pizlo  <fpizlo@apple.com>

        Math.fround() should be an intrinsic
        https://bugs.webkit.org/show_bug.cgi?id=131583

        Reviewed by Geoffrey Garen.
        
        This test runs 4.4635x faster with the intrinsic.

        * js/regress/fround-expected.txt: Added.
        * js/regress/fround.html: Added.
        * js/regress/script-tests/fround.js: Added.

2014-04-12  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [SOUP] Libsoup internal credential setting should be controlled by loader decision
        https://bugs.webkit.org/show_bug.cgi?id=130963

        Reviewed by Darin Adler.

        * platform/efl/TestExpectations: Unskipped http/tests/xmlhttprequest/cross-origin-no-authorization.html.
        * platform/gtk/TestExpectations: Ditto.

2014-04-12  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>

        (before-mar-1-1000) In correct date creation prior to 1 Mar 1000 
        https://bugs.webkit.org/show_bug.cgi?id=129308

        Reviewed by Darin Adler.

        * js/date-constructor-expected.txt:
        * js/script-tests/date-constructor.js:

2014-04-11  Jon Honeycutt  <jhoneycutt@apple.com>

        Assertion failure changing select element size during focus event
        dispatch
        <https://bugs.webkit.org/show_bug.cgi?id=131566>
        <rdar://problem/16400735>

        Reviewed by Andy Estes.

        * fast/forms/select-change-size-during-focus-expected.txt: Added.
        * fast/forms/select-change-size-during-focus.html: Added.

2014-04-11  Bem Jones-Bey  <bjonesbe@adobe.com>

        Clear sibling floats while splitting inline flow
        https://bugs.webkit.org/show_bug.cgi?id=130905

        Reviewed by David Hyatt.

        This test will only crash if run with Address Sanitizer or some other
        address checking tool.

        * fast/block/float/split-inline-sibling-of-float-crash-expected.txt: Added.
        * fast/block/float/split-inline-sibling-of-float-crash.html: Added.

2014-04-11  Gavin Barraclough  <baraclough@apple.com>

        Rollout - Rewrite Function.bind as a builtin
        https://bugs.webkit.org/show_bug.cgi?id=131083

        Unreviewed.

        Rolling out r167020 while investigating a performance regression.

        * js/dom/function-bind-expected.txt:
        * js/regress/function-bind-expected.txt: Removed.
        * js/regress/function-bind.html: Removed.
        * js/regress/script-tests/function-bind.js: Removed.

2014-04-11  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] shape-outside from image doesn't load properly
        https://bugs.webkit.org/show_bug.cgi?id=131491

        Reviewed by Bem Jones-Bey.

        * http/tests/css/shape-image-file-expected.html: Added.
        * http/tests/css/shape-image-file.html: Added.

2014-04-11  Mark Lam  <mark.lam@apple.com>

        JSMainThreadExecState::call() should clear exceptions before returning.
        <https://webkit.org/b/131530>

        Reviewed by Geoffrey Garen.

        * fast/dom/regress-131530-expected.txt: Added.
        * fast/dom/regress-131530.html: Added.

2014-04-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Support for audio and video tracks was added on r158436. Stop skipping the following tests:
          media/track/audio-track.html
          media/track/video-track.html

        Update bug number for media/track/track*in-band*.html tests

        Report and update text expectations for new failing tests:
          media/track/track-remove-track.html
          fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg.html
          media/media-event-listeners.html

        Update timeout expectation for media/video-controls-captions.html

        * platform/gtk/TestExpectations:

2014-04-10  Chris Fleizach  <cfleizach@apple.com>

        Heap-use-after-free in WebCore::SpeechSynthesisUtterance::startTime
        https://bugs.webkit.org/show_bug.cgi?id=131482

        Reviewed by David Kilzer.

        * platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Added.
        * platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Added.

2014-04-11  Bear Travis  <betravis@adobe.com>

        [CSS Shapes] inset args and radial args should serialize to the simplest form
        https://bugs.webkit.org/show_bug.cgi?id=129825

        Reviewed by Dirk Schulze.

        Modify tests to use the shortened inset serialization.

        * animations/resources/animation-test-helpers.js: Accept shortened inset forms.
        * css3/masking/clip-path-animation-expected.txt:
        * css3/masking/clip-path-animation.html:
        * fast/masking/parsing-clip-path-shape-expected.txt:
        * fast/masking/parsing-clip-path-shape.html:
        * fast/shapes/parsing/parsing-shape-lengths-expected.txt:
        * fast/shapes/parsing/parsing-shape-lengths.html:
        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:
        * fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
        * fast/shapes/shape-outside-floats/shape-outside-animation.html:

2014-04-11  Praveen R Jadhav  <praveen.j@samsung.com>

        "playbackTime" parameter is not present in AudioProcessingEvent Interface as per W3C spec
        https://bugs.webkit.org/show_bug.cgi?id=105518

        Reviewed by Jer Noble.

        Test case added to check AudioProcessingEvent attributes.

        * webaudio/audioprocessingevent-expected.txt: Added.
        * webaudio/audioprocessingevent.html: Added.

2014-04-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: WK1: Trail of cruft in redraw during animations.
        https://bugs.webkit.org/show_bug.cgi?id=131525

        Reviewed by Simon Fraser.

        Use enclosing rect instead of snapping to make sure the repaint rect always
        covers the dirty area when painting is requested in a non-compositing RenderView.
        This only applies to WK1 as WK2 has compositing RenderView and the repainting 
        is managed by RenderLayerBacking.

        This is a temporary solution until after ScrollView/FrameView/RenderView
        is transitioned to device pixels. (tracked here: webkit.org/b/131526).

        * fast/repaint/hidpi-block-width-change-leaves-cruft-expected.html: Added.
        * fast/repaint/hidpi-block-width-change-leaves-cruft.html: Added.

2014-04-11  Enrique Ocaña González  <eocanha@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Update test expectations for flaky tests timing out:
          media/track/track-remove-active-cue-crash.html
          media/media-ended.html
          media/audio-mpeg-supported.html

        * platform/gtk/TestExpectations:

2014-04-10  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r167073.
        https://bugs.webkit.org/show_bug.cgi?id=131516

        This patch caused crashes in video tests. (Requested by
        mrobinson on #webkit).

        Reverted changeset:

        "[GStreamer] No CORS support for media elements"
        https://bugs.webkit.org/show_bug.cgi?id=99037
        http://trac.webkit.org/changeset/167073

2014-04-10  Jon Honeycutt  <jhoneycutt@apple.com>

        Assertion failure in WebCore::FlexBoxIterator::next()
        <https://bugs.webkit.org/show_bug.cgi?id=117176>
        <rdar://problem/14054549>

        Reviewed by Tim Horton.

        * fast/flexbox/collapse-anonymous-wrappers-assertion-expected.txt: Added.
        * fast/flexbox/collapse-anonymous-wrappers-assertion.html: Added.

2014-04-07  Jon Honeycutt  <jhoneycutt@apple.com>

        Assertion failure, !node || node->isElementNode(), in
        WebCore::RenderBlock::clone()
        <https://bugs.webkit.org/show_bug.cgi?id=110489>
        <rdar://problem/13666425>

        Reviewed by Antti Koivisto.

        * fast/multicol/fuzzed-test-case-expected.txt: Added.
        * fast/multicol/fuzzed-test-case.html: Added.

2014-04-10  Zalan Bujtas  <zalan@apple.com>

        Web Inspector: Breakpoint in gutter has clipped / broken border image.
        https://bugs.webkit.org/show_bug.cgi?id=131500

        Reviewed by Joseph Pecoraro.

        Typo in r166925.

        * fast/borders/border-image-slice-missing-right-expected.html: Added.
        * fast/borders/border-image-slice-missing-right.html: Added.

2014-04-10  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: expose aria-busy state of current and ancestor nodes
        https://bugs.webkit.org/show_bug.cgi?id=130826

        Reviewed by Timothy Hatcher.

        Expose if node is contained by any "busy" ancestor nodes, too.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-04-10  Brian J. Burg  <burg@cs.washington.edu>

        Web Replay: memoize plugin data for navigator.mimeTypes and navigator.plugins
        https://bugs.webkit.org/show_bug.cgi?id=131341

        Reviewed by Timothy Hatcher.

        Add support for different setup methods before the initial navigation of
        capture and replay. This is necessary to test that the value of
        navigator.plugins is the same on replay even if the underlying data changed.

        * http/tests/inspector/replay/replay-test.js:
        (InspectorTestProxy.runSingleSegmentRefTest): Add calls to optional setup
        functions in the test page called setupPreCapture and setupPreReplay.

2014-04-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Update text expectations for new failing tests:
          accessibility/help-text.html
          fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html
          fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html

        Update test expectations related with highdpi still not supported.

        On r166930 test media/track/opera/interfaces/TextTrackList/onremovetrack.html
        was moved to media/track/w3c/interfaces/TextTrackList/onremovetrack.html.
        Now it passes. Remove the expectation.

        * platform/gtk/TestExpectations:

2014-04-10  Bem Jones-Bey  <bjonesbe@adobe.com>

        Invalid cast in WebCore::RenderLayer::setupClipPath
        https://bugs.webkit.org/show_bug.cgi?id=131368

        Reviewed by Dirk Schulze.

        * css3/masking/clip-path-box-shape-on-inline-crash-expected.txt: Added.
        * css3/masking/clip-path-box-shape-on-inline-crash.html: Added.

2014-04-10  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [GStreamer] No CORS support for media elements
        https://bugs.webkit.org/show_bug.cgi?id=99037

        Reviewed by Philippe Normand.

        http/tests/security/video-cross-origin-accessfailure.html verifies that cross-origin streams that fail CORS check
        are not played when crossorigin attribute is set.
         http/tests/security/video-cross-origin-accesssameorigin.html verifies that access to same-origin streams
        are played when crossorigin attribute is set.

        * http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
        * http/tests/security/video-cross-origin-accessfailure.html: Added.
        * http/tests/security/video-cross-origin-accesssameorigin-expected.txt: Added.
        * http/tests/security/video-cross-origin-accesssameorigin.html: Added.
        * platform/efl/TestExpectations: Enabled http/tests/security/video-cross-origin-readback.html.
        * platform/gtk/TestExpectations: Ditto.
        * platform/mac/TestExpectations: Disabled http/tests/security/video-cross-origin-accessfailure.html.

2014-04-09  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r166860): ASSERTION FAILED: !isCalculated() on fast/css/image-set-value-not-removed-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=131480

        * platform/mac/TestExpectations: Skipped the test in debug builds.

2014-04-09  Alexey Proskuryakov  <ap@apple.com>

        [WK2] fast/repaint/obscured-background-no-repaint.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=131477

        * platform/mac-wk2/TestExpectations: Marked it as such.

2014-04-09  Alexey Proskuryakov  <ap@apple.com>

        WebVTT tests don't work because of a 800x600 snapshot (but are very flaky anyway)
        https://bugs.webkit.org/show_bug.cgi?id=131476

        * platform/mac/TestExpectations: Skip them.

2014-04-09  James Craig  <jcraig@apple.com>

        AX: Bug in AccessibilityNodeObject::helpText
        https://bugs.webkit.org/show_bug.cgi?id=130386

        Reviewed by Chris Fleizach.

        Tests accessibility help text in a variety of examples.

        * accessibility/help-text-expected.txt: Added.
        * accessibility/help-text.html: Added.

2014-04-09  Brent Fulgham  <bfulgham@apple.com>

        [Win] Unreviewed bot maintenance. Re-add a number of passing
        tests, and turn off a few failures.

        * platform/win/TestExpectations:

2014-04-09  Chris Fleizach  <cfleizach@apple.com>

        Regression: AX: list heuristics sometimes determined as presentational even when explicit roles applied
        https://bugs.webkit.org/show_bug.cgi?id=131041

        Reviewed by Mario Sanchez Prada.

        * accessibility/list-detection-expected.txt:
        * accessibility/list-detection.html:

2014-04-09  Martin Robinson  <mrobinson@igalia.com>

        Rebaseline some tests for GTK+

        * platform/gtk/editing/input/scroll-viewport-page-up-down-expected.txt:
        * platform/gtk/fast/text/international/cjk-segmentation-expected.txt: Added.
        * platform/gtk/http/tests/xmlhttprequest/cache-override-expected.txt: Added.
        * platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/gtk/plugins/nested-plugin-objects-expected.txt: Added.
        * platform/gtk/plugins/netscape-destroy-plugin-script-objects-expected.txt: Added.
        * platform/gtk/sputnik/Unicode/Unicode_320/S7.6_A2.2_T2-expected.txt: Added.
        * platform/gtk/sputnik/Unicode/Unicode_320/S7.6_A5.2_T8-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
        * platform/gtk/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
        * platform/gtk/svg/custom/object-no-size-attributes-expected.txt:
        * platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Added.

2014-04-08  Samuel White  <samuel_white@apple.com>

        AX: Initial text selection point should respect element focus.
        https://bugs.webkit.org/show_bug.cgi?id=131402

        Reviewed by Chris Fleizach.

        Updating test to make sure initial selection respects the focused element when necessary. Now, if a VoiceOver user attempts to use
        arrow keys to read text and selection isn't set, we will set initial selection before/after the focused element if one is present.

        * platform/mac/accessibility/selection-initial-expected.txt:
        * platform/mac/accessibility/selection-initial.html:

2014-04-09  Brendan Long  <b.long@cablelabs.com>

        [GStreamer] Expose MPEG-TS metadata
        https://bugs.webkit.org/show_bug.cgi?id=122001

        Reviewed by Eric Carlson.

        * media/content/user-private-streams.ts: Added.
        * media/track/in-band/track-in-band-mpegts-metadata-expected.txt: Added.
        * media/track/in-band/track-in-band-mpegts-metadata.html: Added.

2014-04-08  Chris Fleizach  <cfleizach@apple.com>

        AX: Make AXPress much more reliable on the Web
        https://bugs.webkit.org/show_bug.cgi?id=131426

        Reviewed by Mario Sanchez Prada.

        * accessibility/press-works-on-control-types-expected.txt:
        * accessibility/press-works-on-control-types.html:

2014-04-08  Oliver Hunt  <oliver@apple.com>

        Rewrite Function.bind as a builtin
        https://bugs.webkit.org/show_bug.cgi?id=131083

        Reviewed by Geoffrey Garen.

        Testing.

        * js/dom/function-bind-expected.txt:
        * js/regress/function-bind-expected.txt: Added.
        * js/regress/function-bind.html: Added.
        * js/regress/script-tests/function-bind.js: Added.
        (foo):

2014-04-09  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Monolithic elements should not affect the layout of the content outside its region
        https://bugs.webkit.org/show_bug.cgi?id=130499

        Reviewed by David Hyatt.

        Added tests for different types of fragmentation following monolithic content
        overflowing its region.
        Rebased the webkit-flow-float-unable-to-push test as its expected result was not the correct one.

        * fast/regions/webkit-flow-float-unable-to-push-expected.html:
        * fast/regions/fragmentation-after-float-overflow-single-region-expected.html: Added.
        * fast/regions/fragmentation-after-float-overflow-single-region.html: Added.
        * fast/regions/fragmentation-after-monolithic-overflow-expected.html: Added.
        * fast/regions/fragmentation-after-monolithic-overflow-self-collapsed-expected.html: Added.
        * fast/regions/fragmentation-after-monolithic-overflow-self-collapsed.html: Added.
        * fast/regions/fragmentation-after-monolithic-overflow-single-region-expected.html: Added.
        * fast/regions/fragmentation-after-monolithic-overflow-single-region.html: Added.
        * fast/regions/fragmentation-after-monolithic-overflow.html: Added.

2014-04-09  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r166853): fast/preloader/document-write.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=130942

        * platform/mac/TestExpectations: The offending code was re-landed, marking as
        flaky again.

2014-04-09  Mario Sanchez Prada  <mario.prada@samsung.com>

        [GTK] Layout tests accessibility/children-changed-sends-notification.html and accessibility/notification-listeners.html fails
        https://bugs.webkit.org/show_bug.cgi?id=131380

        Reviewed by Chris Fleizach.

        Updated TestExpectations file and update layout test that was not
        correctly written, and expecting the signals in the wrong order.

        * platform/gtk/TestExpectations: Removed failure expectations.

        * accessibility/children-changed-sends-notification.html: Updated
        test to make sure we touch the accessibility tree after adding a
        <button> so we get the 'add' signal at the right moment.

        * accessibility/children-changed-sends-notification-expected.txt:
        Updated expectations to expect the 'add' and 'remove' signals in
        the right order.

2014-04-09  Mario Sanchez Prada  <mario.prada@samsung.com>

        [AX][GTK] No new lines in some AX tests output
        https://bugs.webkit.org/show_bug.cgi?id=131294

        Reviewed by Martin Robinson.

        Removed failure expectations for tests now passing.

        * platform/gtk/TestExpectations: Updated.

2014-04-09  Mario Sanchez Prada  <mario.prada@samsung.com>

        Unreviewed gardening for GTK.

        Updated test expectations after r166175, which removed an <hr>
        from the original test accessibility/lists.html.

        * platform/gtk/accessibility/lists-expected.txt: Updated

2014-04-09  Alexey Proskuryakov  <ap@apple.com>

        [WK2] HTTP authentication regression tests fail
        https://bugs.webkit.org/show_bug.cgi?id=81627
        <rdar://problem/11079296>

        Reviewed by Anders Carlsson.

        * platform/mac-wk2/TestExpectations: Unskipped tests that now pass. Marked three
        tests as failing, because enabling auth uncovered that they are failing
        (in browser as well).

        * platform/wk2/http: Added.
        * platform/wk2/http/tests: Added.
        * platform/wk2/http/tests/loading: Added.
        * platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials: Added.
        * platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt: Copied from LayoutTests/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt: Copied from LayoutTests/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt.
        * platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt: Copied from LayoutTests/http/tests/loading/basic-credentials-sent-automatically-expected.txt.
        * platform/wk2/http/tests/misc: Added.
        * platform/wk2/http/tests/misc/401-alternative-content-expected.txt: Copied from LayoutTests/http/tests/misc/401-alternative-content-expected.txt.
        * platform/wk2/http/tests/misc/authentication-redirect-1: Added.
        * platform/wk2/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt: Copied from LayoutTests/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt.
        * platform/wk2/http/tests/misc/authentication-redirect-2: Added.
        * platform/wk2/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt: Copied from LayoutTests/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt.
        * platform/wk2/http/tests/misc/authentication-redirect-4: Added.
        * platform/wk2/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Copied from LayoutTests/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt.
        * platform/wk2/http/tests/security: Added.
        * platform/wk2/http/tests/security/401-logout: Added.
        * platform/wk2/http/tests/security/401-logout/401-logout-expected.txt: Copied from LayoutTests/http/tests/security/401-logout/401-logout-expected.txt.
        * platform/wk2/http/tests/xmlhttprequest: Added.
        * platform/wk2/http/tests/xmlhttprequest/failed-auth-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/failed-auth-expected.txt.
        * platform/wk2/http/tests/xmlhttprequest/remember-bad-password-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/remember-bad-password-expected.txt.
        WebKit2 results are the same as WebKit1, except that they lack resource URL. That
        is expected with WebKit2 API.

2014-04-08  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Crash when video in region exits fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=131366

        Reviewed by Andrei Bucur.

        * fast/regions/full-screen-video-in-region-crash-expected.txt: Added.
        * fast/regions/full-screen-video-in-region-crash.html: Added.

2014-04-08  Alexey Proskuryakov  <ap@apple.com>

        Trying to unbreak flakiness dashboard after Gtk TextExpectations reshuffling.

        * platform/gtk-wk2/TestExpectations: Added.

2014-04-08  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Clip outer rounded border rect on device pixel boundaries.
        https://bugs.webkit.org/show_bug.cgi?id=131404

        Reviewed by Simon Fraser.

        Use device pixel snapped rectangle to clip out rounded rects, when not all sides are solid/double.
        Snapping it to device pixel boundaries ensures that when we call drawRect(devicePixelSnappedRect) later,
        it leaves no cruft behind.

        * fast/borders/hidpi-rounded-border-on-subpixel-position-expected.html: Added.
        * fast/borders/hidpi-rounded-border-on-subpixel-position.html: Added.

2014-04-08  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r155998): Elements render at very low resolution with some 3d transforms
        https://bugs.webkit.org/show_bug.cgi?id=131412

        Reviewed by Tim Horton.
        
        Test that makes an incremental change to a layer property in a tree with
        interesting 3d transforms.

        * compositing/contents-scale/incremental-change-expected.html: Added.
        * compositing/contents-scale/incremental-change.html: Added.

2014-04-08  Adenilson Cavalcanti  <cavalcantii@gmail.com>

        [SVG] Fix CSS transform handling when zoomed
        https://bugs.webkit.org/show_bug.cgi?id=125836

        Reviewed by Tim Horton.

        Adjusts CSS transforms when used in SVG to account for unexpected
        translation scale. Backport from Chromium #174910.

        * svg/zoom/page/zoom-css-transforms-expected.svg: Added.
        * svg/zoom/page/zoom-css-transforms.svg: Added.

2014-04-08  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] large corner radius combined with 0 radius does not wrap properly
        https://bugs.webkit.org/show_bug.cgi?id=129739

        Reviewed by Bem Jones-Bey.

        * fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius-001-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius-001.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius-002-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius-002.html: Added.

2014-04-08  Alexey Proskuryakov  <ap@apple.com>

        Rename Clipboard to DataTransfer
        https://bugs.webkit.org/show_bug.cgi?id=131371

        Reviewed by Anders Carlsson.

        * fast/dom/dom-constructors-expected.txt:
        * fast/dom/dom-constructors.html:
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/js/dom/global-constructors-attributes-expected.txt:

2014-04-08  Brent Fulgham  <bfulgham@apple.com>

        [Mac] Unreviewed test gardening.

        Rebaseline scrolling tests to remove flakiness introduced by slight differences in
        pixel scroll counts between WK1 and WK2 test runners.

        * platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt:
        * platform/mac/fast/scrolling/scroll-div-latched-div.html:
        * platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt:
        * platform/mac/fast/scrolling/scroll-div-latched-mainframe.html:
        * platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt:
        * platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html:
        * platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt:
        * platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html:
        * platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt:
        * platform/mac/fast/scrolling/scroll-select-latched-mainframe.html:
        * platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt:
        * platform/mac/fast/scrolling/scroll-select-latched-select.html:

2014-04-08  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Unreviewed GTK gardening.

        Update text expectations for failing tests:
          accessibility/children-changed-sends-notification.html
          accessibility/notification-listeners.html
          fast/repaint/blend-mode-isolate-stacking-context.html
          fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move.html

        Rebaseline fast/multicol/client-rects-expected.txt after r165991

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/multicol/client-rects-expected.txt:

2014-04-07  Filip Pizlo  <fpizlo@apple.com>

        Repatch should support setters and plant calls to them directly
        https://bugs.webkit.org/show_bug.cgi?id=130750

        Reviewed by Geoffrey Garen.

        * js/regress/script-tests/setter.js: Added.
        * js/regress/setter-expected.txt: Added.
        * js/regress/setter.html: Added.

2014-04-08  Morten Stenshorne  <mstensho@opera.com>

        [New Multicolumn] Child top margin sometimes ignored for column balancing
        https://bugs.webkit.org/show_bug.cgi?id=122754

        Reviewed by David Hyatt.

        * fast/multicol/break-in-scrollable-expected.html: Added.
        * fast/multicol/break-in-scrollable.html: Added.
        * fast/multicol/newmulticol/leading-and-trailing-margin-expected.html: Added.
        * fast/multicol/newmulticol/leading-and-trailing-margin.html: Added.
        * fast/multicol/newmulticol/leading-margin-expected.html: Added.
        * fast/multicol/newmulticol/leading-margin.html: Added.

2014-04-07  Brent Fulgham  <bfulgham@apple.com>

        [WebVTT] Begin Enabling W3C VTT Tests
        https://bugs.webkit.org/show_bug.cgi?id=131345

        Reviewed by Darin Adler.

        Move a number of tests out of 'opera' into a new 'w3c' folder.

        * media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack-expected.txt: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLMediaElement/textTracks-expected.txt: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLMediaElement/textTracks.html: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/default-expected.txt: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/default.html: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/label-expected.txt: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/label.html: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/readyState-expected.txt: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/readyState.html: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/srclang-expected.txt: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/srclang.html: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/track-expected.txt: Removed.
        * media/track/opera/interfaces/HTMLElement/HTMLTrackElement/track.html: Removed.
        * media/track/opera/interfaces/TextTrack/addCue-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/addCue.html: Removed.
        * media/track/opera/interfaces/TextTrack/constants-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/constants.html: Removed.
        * media/track/opera/interfaces/TextTrack/cues-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/cues.html: Removed.
        * media/track/opera/interfaces/TextTrack/kind-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/kind.html: Removed.
        * media/track/opera/interfaces/TextTrack/label-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/label.html: Removed.
        * media/track/opera/interfaces/TextTrack/language-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/language.html: Removed.
        * media/track/opera/interfaces/TextTrack/mode-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/mode.html: Removed.
        * media/track/opera/interfaces/TextTrack/oncuechange-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/oncuechange.html: Removed.
        * media/track/opera/interfaces/TextTrack/removeCue-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrack/removeCue.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/align-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCue/align.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/endTime-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCue/endTime.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/id-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCue/id.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCue/pauseOnExit.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/startTime-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCue/startTime.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/track-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCue/track.html: Removed.
        * media/track/opera/interfaces/TextTrackCueList/getCueById-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCueList/getCueById.html: Removed.
        * media/track/opera/interfaces/TextTrackCueList/length-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackCueList/length.html: Removed.
        * media/track/opera/interfaces/TextTrackList/length-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackList/length.html: Removed.
        * media/track/opera/interfaces/TextTrackList/onaddtrack-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackList/onaddtrack.html: Removed.
        * media/track/opera/interfaces/TextTrackList/onremovetrack-expected.txt: Removed.
        * media/track/opera/interfaces/TextTrackList/onremovetrack.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/2_tracks-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/2_tracks.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_end-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_end.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_50-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_50.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_gt_50-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_gt_50.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50_size_gt_maximum_size-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50_size_gt_maximum_size.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_start-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/align_start.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/audio_has_no_subtitles-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/audio_has_no_subtitles.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/basic-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/basic.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/decode_escaped_entities-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/decode_escaped_entities.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size_while_paused-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size_while_paused.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text_while_paused-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text_while_paused.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_remove_cue_while_paused-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/dom_override_remove_cue_while_paused.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/media/background.gif: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/media/white.mp4: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/media/white.webm: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/one_line_cue_plus_wrapped_cue-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/one_line_cue_plus_wrapped_cue.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/size_50-ref.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/size_50.html: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/support/2_cues_overlapping_completely_move_up.vtt: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/support/align_end_long.vtt: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/support/foo.vtt: Removed.
        * media/track/opera/track/webvtt/rendering/reftest/support/refTestWait.js: Removed.
        * media/track/w3c: Added.
        * media/track/w3c/interfaces: Added.
        * media/track/w3c/interfaces/HTMLMediaElement: Added.
        * media/track/w3c/interfaces/HTMLMediaElement/addTextTrack-expected.txt: Copied from media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack-expected.txt.
        * media/track/w3c/interfaces/HTMLMediaElement/addTextTrack.html: Copied from media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html.
        * media/track/w3c/interfaces/HTMLMediaElement/textTracks-expected.txt: Copied from media/track/opera/interfaces/HTMLElement/HTMLMediaElement/textTracks-expected.txt.
        * media/track/w3c/interfaces/HTMLMediaElement/textTracks.html: Copied from media/track/opera/interfaces/HTMLElement/HTMLMediaElement/textTracks.html.
        * media/track/w3c/interfaces/HTMLTrackElement: Added.
        * media/track/w3c/interfaces/HTMLTrackElement/default-expected.txt: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/default-expected.txt.
        * media/track/w3c/interfaces/HTMLTrackElement/default.html: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/default.html.
        * media/track/w3c/interfaces/HTMLTrackElement/label-expected.txt: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/label-expected.txt.
        * media/track/w3c/interfaces/HTMLTrackElement/label.html: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/label.html.
        * media/track/w3c/interfaces/HTMLTrackElement/readyState-expected.txt: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/readyState-expected.txt.
        * media/track/w3c/interfaces/HTMLTrackElement/readyState.html: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/readyState.html.
        * media/track/w3c/interfaces/HTMLTrackElement/srclang-expected.txt: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/srclang-expected.txt.
        * media/track/w3c/interfaces/HTMLTrackElement/srclang.html: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/srclang.html.
        * media/track/w3c/interfaces/HTMLTrackElement/track-expected.txt: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/track-expected.txt.
        * media/track/w3c/interfaces/HTMLTrackElement/track.html: Copied from media/track/opera/interfaces/HTMLElement/HTMLTrackElement/track.html.
        * media/track/w3c/interfaces/TextTrack: Added.
        * media/track/w3c/interfaces/TextTrack/addCue-expected.txt: Copied from media/track/opera/interfaces/TextTrack/addCue-expected.txt.
        * media/track/w3c/interfaces/TextTrack/addCue.html: Copied from media/track/opera/interfaces/TextTrack/addCue.html.
        * media/track/w3c/interfaces/TextTrack/constants-expected.txt: Copied from media/track/opera/interfaces/TextTrack/constants-expected.txt.
        * media/track/w3c/interfaces/TextTrack/constants.html: Copied from media/track/opera/interfaces/TextTrack/constants.html.
        * media/track/w3c/interfaces/TextTrack/cues-expected.txt: Copied from media/track/opera/interfaces/TextTrack/cues-expected.txt.
        * media/track/w3c/interfaces/TextTrack/cues.html: Copied from media/track/opera/interfaces/TextTrack/cues.html.
        * media/track/w3c/interfaces/TextTrack/kind-expected.txt: Copied from media/track/opera/interfaces/TextTrack/kind-expected.txt.
        * media/track/w3c/interfaces/TextTrack/kind.html: Copied from media/track/opera/interfaces/TextTrack/kind.html.
        * media/track/w3c/interfaces/TextTrack/label-expected.txt: Copied from media/track/opera/interfaces/TextTrack/label-expected.txt.
        * media/track/w3c/interfaces/TextTrack/label.html: Copied from media/track/opera/interfaces/TextTrack/label.html.
        * media/track/w3c/interfaces/TextTrack/language-expected.txt: Copied from media/track/opera/interfaces/TextTrack/language-expected.txt.
        * media/track/w3c/interfaces/TextTrack/language.html: Copied from media/track/opera/interfaces/TextTrack/language.html.
        * media/track/w3c/interfaces/TextTrack/mode-expected.txt: Copied from media/track/opera/interfaces/TextTrack/mode-expected.txt.
        * media/track/w3c/interfaces/TextTrack/mode.html: Copied from media/track/opera/interfaces/TextTrack/mode.html.
        * media/track/w3c/interfaces/TextTrack/oncuechange-expected.txt: Copied from media/track/opera/interfaces/TextTrack/oncuechange-expected.txt.
        * media/track/w3c/interfaces/TextTrack/oncuechange.html: Copied from media/track/opera/interfaces/TextTrack/oncuechange.html.
        * media/track/w3c/interfaces/TextTrack/removeCue-expected.txt: Copied from media/track/opera/interfaces/TextTrack/removeCue-expected.txt.
        * media/track/w3c/interfaces/TextTrack/removeCue.html: Copied from media/track/opera/interfaces/TextTrack/removeCue.html.
        * media/track/w3c/interfaces/TextTrackCue: Added.
        * media/track/w3c/interfaces/TextTrackCue/align-expected.txt: Copied from media/track/opera/interfaces/TextTrackCue/align-expected.txt.
        * media/track/w3c/interfaces/TextTrackCue/align.html: Copied from media/track/opera/interfaces/TextTrackCue/align.html.
        * media/track/w3c/interfaces/TextTrackCue/endTime-expected.txt: Copied from media/track/opera/interfaces/TextTrackCue/endTime-expected.txt.
        * media/track/w3c/interfaces/TextTrackCue/endTime.html: Copied from media/track/opera/interfaces/TextTrackCue/endTime.html.
        * media/track/w3c/interfaces/TextTrackCue/id-expected.txt: Copied from media/track/opera/interfaces/TextTrackCue/id-expected.txt.
        * media/track/w3c/interfaces/TextTrackCue/id.html: Copied from media/track/opera/interfaces/TextTrackCue/id.html.
        * media/track/w3c/interfaces/TextTrackCue/pauseOnExit-expected.txt: Copied from media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt.
        * media/track/w3c/interfaces/TextTrackCue/pauseOnExit.html: Copied from media/track/opera/interfaces/TextTrackCue/pauseOnExit.html.
        * media/track/w3c/interfaces/TextTrackCue/startTime-expected.txt: Copied from media/track/opera/interfaces/TextTrackCue/startTime-expected.txt.
        * media/track/w3c/interfaces/TextTrackCue/startTime.html: Copied from media/track/opera/interfaces/TextTrackCue/startTime.html.
        * media/track/w3c/interfaces/TextTrackCue/track-expected.txt: Copied from media/track/opera/interfaces/TextTrackCue/track-expected.txt.
        * media/track/w3c/interfaces/TextTrackCue/track.html: Copied from media/track/opera/interfaces/TextTrackCue/track.html.
        * media/track/w3c/interfaces/TextTrackCueList: Added.
        * media/track/w3c/interfaces/TextTrackCueList/getCueById-expected.txt: Copied from media/track/opera/interfaces/TextTrackCueList/getCueById-expected.txt.
        * media/track/w3c/interfaces/TextTrackCueList/getCueById.html: Copied from media/track/opera/interfaces/TextTrackCueList/getCueById.html.
        * media/track/w3c/interfaces/TextTrackCueList/length-expected.txt: Copied from media/track/opera/interfaces/TextTrackCueList/length-expected.txt.
        * media/track/w3c/interfaces/TextTrackCueList/length.html: Copied from media/track/opera/interfaces/TextTrackCueList/length.html.
        * media/track/w3c/interfaces/TextTrackList: Added.
        * media/track/w3c/interfaces/TextTrackList/length-expected.txt: Copied from media/track/opera/interfaces/TextTrackList/length-expected.txt.
        * media/track/w3c/interfaces/TextTrackList/length.html: Copied from media/track/opera/interfaces/TextTrackList/length.html.
        * media/track/w3c/interfaces/TextTrackList/onaddtrack-expected.txt: Copied from media/track/opera/interfaces/TextTrackList/onaddtrack-expected.txt.
        * media/track/w3c/interfaces/TextTrackList/onaddtrack.html: Copied from media/track/opera/interfaces/TextTrackList/onaddtrack.html.
        * media/track/w3c/interfaces/TextTrackList/onremovetrack-expected.txt: Copied from media/track/opera/interfaces/TextTrackList/onremovetrack-expected.txt.
        * media/track/w3c/interfaces/TextTrackList/onremovetrack.html: Copied from media/track/opera/interfaces/TextTrackList/onremovetrack.html.
        * media/track/w3c/track: Added.
        * media/track/w3c/track/webvtt: Added.
        * media/track/w3c/track/webvtt/2_tracks-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/2_tracks-ref.html.
        * media/track/w3c/track/webvtt/2_tracks.html: Copied from media/track/opera/track/webvtt/rendering/reftest/2_tracks.html.
        * media/track/w3c/track/webvtt/align_end-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_end-ref.html.
        * media/track/w3c/track/webvtt/align_end.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_end.html.
        * media/track/w3c/track/webvtt/align_middle-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle-ref.html.
        * media/track/w3c/track/webvtt/align_middle.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle.html.
        * media/track/w3c/track/webvtt/align_middle_position_50-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_50-ref.html.
        * media/track/w3c/track/webvtt/align_middle_position_50.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_50.html.
        * media/track/w3c/track/webvtt/align_middle_position_gt_50-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_gt_50-ref.html.
        * media/track/w3c/track/webvtt/align_middle_position_gt_50.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_gt_50.html.
        * media/track/w3c/track/webvtt/align_middle_position_lt_50-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50-ref.html.
        * media/track/w3c/track/webvtt/align_middle_position_lt_50.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50.html.
        * media/track/w3c/track/webvtt/align_middle_position_lt_50_size_gt_maximum_size-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50_size_gt_maximum_size-ref.html.
        * media/track/w3c/track/webvtt/align_middle_position_lt_50_size_gt_maximum_size.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_middle_position_lt_50_size_gt_maximum_size.html.
        * media/track/w3c/track/webvtt/align_start-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_start-ref.html.
        * media/track/w3c/track/webvtt/align_start.html: Copied from media/track/opera/track/webvtt/rendering/reftest/align_start.html.
        * media/track/w3c/track/webvtt/audio_has_no_subtitles-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/audio_has_no_subtitles-ref.html.
        * media/track/w3c/track/webvtt/audio_has_no_subtitles.html: Copied from media/track/opera/track/webvtt/rendering/reftest/audio_has_no_subtitles.html.
        * media/track/w3c/track/webvtt/background.gif: Copied from media/track/opera/track/webvtt/rendering/reftest/media/background.gif.
        * media/track/w3c/track/webvtt/basic-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/basic-ref.html.
        * media/track/w3c/track/webvtt/basic.html: Copied from media/track/opera/track/webvtt/rendering/reftest/basic.html.
        * media/track/w3c/track/webvtt/decode_escaped_entities-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/decode_escaped_entities-ref.html.
        * media/track/w3c/track/webvtt/decode_escaped_entities.html: Copied from media/track/opera/track/webvtt/rendering/reftest/decode_escaped_entities.html.
        * media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size-ref.html.
        * media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size.html.
        * media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size_while_paused-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size_while_paused-ref.html.
        * media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size_while_paused.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_align_position_line_size_while_paused.html.
        * media/track/w3c/track/webvtt/dom_override_cue_text-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text-ref.html.
        * media/track/w3c/track/webvtt/dom_override_cue_text.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text.html.
        * media/track/w3c/track/webvtt/dom_override_cue_text_while_paused-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text_while_paused-ref.html.
        * media/track/w3c/track/webvtt/dom_override_cue_text_while_paused.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_text_while_paused.html.
        * media/track/w3c/track/webvtt/dom_override_remove_cue_while_paused-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_remove_cue_while_paused-ref.html.
        * media/track/w3c/track/webvtt/dom_override_remove_cue_while_paused.html: Copied from media/track/opera/track/webvtt/rendering/reftest/dom_override_remove_cue_while_paused.html.
        * media/track/w3c/track/webvtt/media: Added.
        * media/track/w3c/track/webvtt/media/white.mp4: Copied from media/track/opera/track/webvtt/rendering/reftest/media/white.mp4.
        * media/track/w3c/track/webvtt/media/white.webm: Copied from media/track/opera/track/webvtt/rendering/reftest/media/white.webm.
        * media/track/w3c/track/webvtt/one_line_cue_plus_wrapped_cue-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/one_line_cue_plus_wrapped_cue-ref.html.
        * media/track/w3c/track/webvtt/one_line_cue_plus_wrapped_cue.html: Copied from media/track/opera/track/webvtt/rendering/reftest/one_line_cue_plus_wrapped_cue.html.
        * media/track/w3c/track/webvtt/size_50-expected.html: Copied from media/track/opera/track/webvtt/rendering/reftest/size_50-ref.html.
        * media/track/w3c/track/webvtt/size_50.html: Copied from media/track/opera/track/webvtt/rendering/reftest/size_50.html.
        * media/track/w3c/track/webvtt/support: Added.
        * media/track/w3c/track/webvtt/support/2_cues_overlapping_completely_move_up.vtt: Copied from media/track/opera/track/webvtt/rendering/reftest/support/2_cues_overlapping_completely_move_up.vtt.
        * media/track/w3c/track/webvtt/support/align_end_long.vtt: Copied from media/track/opera/track/webvtt/rendering/reftest/support/align_end_long.vtt.
        * media/track/w3c/track/webvtt/support/foo.vtt: Copied from media/track/opera/track/webvtt/rendering/reftest/support/foo.vtt.
        * media/track/w3c/track/webvtt/support/refTestWait.js: Copied from media/track/opera/track/webvtt/rendering/reftest/support/refTestWait.js.
        * platform/eft/TestExpectations: Skip w3c tests.
        * platform/gtk/TestExpectations: Skip w3c tests.

2014-04-08  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Slow paint path for inlines should snap to device pixels.
        https://bugs.webkit.org/show_bug.cgi?id=131259

        Reviewed by Simon Fraser.

        InlineTextBox::paint needs to round to the same device pixel position as SimpleLineLayout does.

        * fast/inline/hidpi-slow-path-text-on-subpixel-position-expected.html: Added.
        * fast/inline/hidpi-slow-path-text-on-subpixel-position.html: Added.

2014-04-08  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Paint the filter effect result image on device pixel position.
        https://bugs.webkit.org/show_bug.cgi?id=131255

        Reviewed by Simon Fraser.

        This patch moves filter effect images from integral to device pixel position. However,
        result images are still integral based.

        * css3/filters/hidpi-filter-is-on-subpixel-position-expected.html: Added.
        * css3/filters/hidpi-filter-is-on-subpixel-position.html: Added.

2014-04-08  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make border images device pixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=131209

        Reviewed by Simon Fraser.

        Snap border-image size and position to device pixels. It works both on generated and bitmap images.

        * fast/borders/hidpi-border-image-gradient-on-subpixels-expected.html: Added.
        * fast/borders/hidpi-border-image-gradient-on-subpixels.html: Added.

2014-04-08  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [SOUP] Control cookie management according ResourceRequest.allowCookies()
        https://bugs.webkit.org/show_bug.cgi?id=131026

        Reviewed by Sergio Villar Senin.

        * platform/efl/TestExpectations: Unskipped test http/tests/xmlhttprequest/cross-origin-cookie-storage.html.
        * platform/gtk/TestExpectations: Ditto.

2014-04-08  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Handle min/max height in the grid element
        https://bugs.webkit.org/show_bug.cgi?id=131302

        Reviewed by Darin Adler.

        Added test coverage for min/max height handling in the grid
        item. Also added other test to cover a blind spot in our testing,
        resizing of content sized columns with flexible breadths.

        Merged from Blink r161876 by <jchaffraix@chromium.org> and r166914 by <rego@igalia.com>.

        * fast/css-grid-layout/flex-content-sized-columns-resize-expected.html: Added.
        * fast/css-grid-layout/flex-content-sized-columns-resize.html: Added.
        * fast/css-grid-layout/grid-element-min-max-height-expected.txt: Added.
        * fast/css-grid-layout/grid-element-min-max-height.html: Added.

2014-04-08  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Fixed positioned elements in named flows have fragmented content
        https://bugs.webkit.org/show_bug.cgi?id=130595

        Reviewed by Darin Adler.

        * fast/regions/fixed-pos-content-fragmented-expected.html: Added.
        * fast/regions/fixed-pos-content-fragmented.html: Added.

2014-04-07  Chris Fleizach  <cfleizach@apple.com>

        Regression: AX: image labels no longer exposed to AX API in SVG test case
        https://bugs.webkit.org/show_bug.cgi?id=131208

        Reviewed by Daniel Bates.

        * accessibility/svg-labelledby-expected.txt: Added.
        * accessibility/svg-labelledby.html: Added.

2014-04-07  Martin Robinson  <mrobinson@igalia.com>

        Skipped some HighDPI tests for GTK+

        * platform/gtk/TestExpectations: GTK+ does not yet have HighDPI support.

2014-04-07  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Remove WebKit1 test results and merge TestExpectations files
        https://bugs.webkit.org/show_bug.cgi?id=131342

        Merge all WebKit1 test expectations into the gtk directory and also merge the WebKit2
        test expectations files into the GTK+ one, removing duplicate lines.

        * http/tests/security/resources/drag-drop-allowed-expected.txt: Added.
        * platform/gtk-wk1: Removed.
        * platform/gtk-wk2: Removed.
        * platform/gtk/TestExpectations: Merged in WebKit2 expectations.
        * platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/accessibility/file-upload-button-stringvalue-expected.txt.
        * platform/gtk/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt:
        * platform/gtk/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt:
        * platform/gtk/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt.
        * platform/gtk/http/tests/loading/basic-credentials-sent-automatically-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt.
        * platform/gtk/http/tests/misc/401-alternative-content-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/401-alternative-content-expected.txt.
        * platform/gtk/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt.
        * platform/gtk/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt.
        * platform/gtk/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt.
        * platform/gtk/http/tests/security/401-logout/401-logout-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/security/401-logout/401-logout-expected.txt.
        * platform/gtk/http/tests/xmlhttprequest/failed-auth-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/xmlhttprequest/failed-auth-expected.txt.
        * platform/gtk/http/tests/xmlhttprequest/remember-bad-password-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/xmlhttprequest/remember-bad-password-expected.txt.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt.
        * platform/gtk/plugins/npruntime/object-from-destroyed-plugin-expected.txt:
        * platform/gtk/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt:
        * platform/gtk/plugins/plugin-clip-subframe-expected.txt:

2014-04-07  Martin Robinson  <mrobinson@igalia.com>

        fast/css3-text/css3-text-decoration/text-decoration-thickness.html fails on GTK
        https://bugs.webkit.org/show_bug.cgi?id=129957

        Reviewed by Dean Jackson.

        Unskipped tests and modified one test to use the platform-independent Ahem font.

        * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html: We
        need to use Ahem because Helvetica is not a platform-independent font.
        * platform/gtk/TestExpectations: Unskipped tests.

2014-04-07  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: test helper files should be under LayoutTests/http/tests/inspector/
        https://bugs.webkit.org/show_bug.cgi?id=131324

        Reviewed by Joseph Pecoraro.

        Rearrange helper files used by full inspector tests. In their previous placement,
        they were outside the http server root and couldn't be loaded from http tests.

        * http/tests/inspector/debugger/debugger-test.js: Renamed from LayoutTests/inspector/debugger/debugger-test.js.
        * http/tests/inspector/dom/shapes-test.js: Renamed from LayoutTests/inspector/dom/shapes-test.js.
        * http/tests/inspector/inspector-test.js: Renamed from LayoutTests/inspector/inspector-test.js.
        * http/tests/inspector/replay/replay-test.js: Renamed from LayoutTests/inspector/replay/replay-test.js.
        * inspector/debugger/probe-manager-add-remove-actions.html:
        * inspector/dom/content-flow-content-nodes.html:
        * inspector/dom/content-flow-content-removal.html:
        * inspector/dom/content-flow-list.html:
        * inspector/dom/content-node-region-info.html:
        * inspector/dom/highlight-shape-outside-margin.html:
        * inspector/dom/highlight-shape-outside.html:
        * inspector/page/main-frame-resource.html:
        * inspector/replay/javascript-date-now.html:
        * inspector/replay/javascript-random-seed.html:
        * inspector/test-harness-trivially-works.html:

2014-04-07  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] inset complex calc() args vanish in serialized computed style
        https://bugs.webkit.org/show_bug.cgi?id=129838

        Reviewed by Bem Jones-Bey.

        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:

2014-03-30  Filip Pizlo  <fpizlo@apple.com>

        Move slow JSRegress tests out of the way so that they don't show up in run-jsc-benchmarks runs and also skip tests that are extremely long-running
        https://bugs.webkit.org/show_bug.cgi?id=130951

        Reviewed by Geoffrey Garen.

        * js/regress/ArrayBuffer-DataView-alloc-large-long-lived.html:
        * js/regress/ArrayBuffer-DataView-alloc-long-lived.html:
        * js/regress/ArrayBuffer-Int32Array-byteOffset.html:
        * js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Removed.
        * js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html:
        * js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html:
        * js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html:
        * js/regress/ArrayBuffer-Int8Array-alloc.html:
        * js/regress/DataView-custom-properties.html:
        * js/regress/Float32Array-matrix-mult.html:
        * js/regress/Float32Array-to-Float64Array-set.html:
        * js/regress/Float64Array-alloc-long-lived.html:
        * js/regress/Float64Array-to-Int16Array-set.html:
        * js/regress/HashMap-put-get-iterate-keys.html:
        * js/regress/HashMap-put-get-iterate.html:
        * js/regress/HashMap-string-put-get-iterate.html:
        * js/regress/Int16Array-alloc-long-lived.html:
        * js/regress/Int16Array-bubble-sort-with-byteLength.html:
        * js/regress/Int16Array-bubble-sort.html:
        * js/regress/Int16Array-load-int-mul.html:
        * js/regress/Int16Array-to-Int32Array-set.html:
        * js/regress/Int32Array-Int8Array-view-alloc.html:
        * js/regress/Int32Array-alloc-huge-expected.txt: Removed.
        * js/regress/Int32Array-alloc-huge-long-lived-expected.txt: Removed.
        * js/regress/Int32Array-alloc-huge-long-lived.html: Removed.
        * js/regress/Int32Array-alloc-huge.html: Removed.
        * js/regress/Int32Array-alloc-large-long-lived-expected.txt: Removed.
        * js/regress/Int32Array-alloc-large-long-lived.html: Removed.
        * js/regress/Int32Array-alloc-large.html:
        * js/regress/Int32Array-alloc-long-lived.html:
        * js/regress/Int32Array-alloc.html:
        * js/regress/Int8Array-alloc-long-lived.html:
        * js/regress/Int8Array-load-with-byteLength.html:
        * js/regress/Int8Array-load.html:
        * js/regress/adapt-to-double-divide.html:
        * js/regress/aliased-arguments-getbyval.html:
        * js/regress/allocate-big-object.html:
        * js/regress/arity-mismatch-inlining.html:
        * js/regress/array-access-polymorphic-structure.html:
        * js/regress/array-nonarray-polymorhpic-access.html:
        * js/regress/array-nonarray-polymorphic-access.html:
        * js/regress/array-prototype-every.html:
        * js/regress/array-prototype-filter-expected.txt: Removed.
        * js/regress/array-prototype-filter.html: Removed.
        * js/regress/array-prototype-forEach.html:
        * js/regress/array-prototype-map.html:
        * js/regress/array-prototype-some.html:
        * js/regress/array-with-double-add.html:
        * js/regress/array-with-double-increment.html:
        * js/regress/array-with-double-mul-add.html:
        * js/regress/array-with-double-sum.html:
        * js/regress/array-with-int32-add-sub.html:
        * js/regress/array-with-int32-or-double-sum.html:
        * js/regress/asmjs_bool_bug.html:
        * js/regress/assign-custom-setter-polymorphic.html:
        * js/regress/assign-custom-setter.html:
        * js/regress/basic-set.html:
        * js/regress/big-int-mul.html:
        * js/regress/boolean-test.html:
        * js/regress/branch-fold.html:
        * js/regress/by-val-generic.html:
        * js/regress/call-spread-apply.html:
        * js/regress/call-spread-call.html:
        * js/regress/call-spread-expected.txt: Removed.
        * js/regress/call-spread.html: Removed.
        * js/regress/captured-assignments.html:
        * js/regress/cast-int-to-double.html:
        * js/regress/cell-argument.html:
        * js/regress/cfg-simplify.html:
        * js/regress/chain-custom-getter-expected.txt: Removed.
        * js/regress/chain-custom-getter.html: Removed.
        * js/regress/chain-getter-access.html:
        * js/regress/cmpeq-obj-to-obj-other.html:
        * js/regress/constant-test.html:
        * js/regress/delay-tear-off-arguments-strictmode.html:
        * js/regress/destructuring-arguments-length-expected.txt: Removed.
        * js/regress/destructuring-arguments-length.html: Removed.
        * js/regress/destructuring-arguments.html:
        * js/regress/destructuring-swap.html:
        * js/regress/direct-arguments-getbyval.html:
        * js/regress/double-get-by-val-out-of-bounds.html:
        * js/regress/double-pollution-getbyval.html:
        * js/regress/double-pollution-putbyoffset.html:
        * js/regress/double-to-int32-typed-array-no-inline.html:
        * js/regress/double-to-int32-typed-array.html:
        * js/regress/double-to-uint32-typed-array-no-inline.html:
        * js/regress/double-to-uint32-typed-array.html:
        * js/regress/empty-string-plus-int.html:
        * js/regress/emscripten-cube2hash.html:
        * js/regress/emscripten-memops-expected.txt: Removed.
        * js/regress/emscripten-memops.html: Removed.
        * js/regress/external-arguments-getbyval.html:
        * js/regress/external-arguments-putbyval.html:
        * js/regress/fixed-typed-array-storage-var-index.html:
        * js/regress/fixed-typed-array-storage.html:
        * js/regress/fold-double-to-int.html:
        * js/regress/fold-strict-eq-expected.txt: Removed.
        * js/regress/fold-strict-eq.html: Removed.
        * js/regress/for-of-iterate-array-entries.html:
        * js/regress/for-of-iterate-array-keys.html:
        * js/regress/for-of-iterate-array-values.html:
        * js/regress/function-dot-apply.html:
        * js/regress/function-test.html:
        * js/regress/function-with-eval.html:
        * js/regress/get-by-id-chain-from-try-block.html:
        * js/regress/get-by-id-proto-or-self.html:
        * js/regress/get-by-id-self-or-proto.html:
        * js/regress/get-by-val-out-of-bounds.html:
        * js/regress/get_callee_monomorphic.html:
        * js/regress/get_callee_polymorphic.html:
        * js/regress/getter.html:
        * js/regress/global-var-const-infer-fire-from-opt.html:
        * js/regress/global-var-const-infer.html:
        * js/regress/imul-double-only.html:
        * js/regress/imul-int-only.html:
        * js/regress/imul-mixed.html:
        * js/regress/in-four-cases.html:
        * js/regress/in-one-case-false.html:
        * js/regress/in-one-case-true.html:
        * js/regress/in-two-cases.html:
        * js/regress/indexed-properties-in-objects.html:
        * js/regress/infer-closure-const-then-mov-no-inline.html:
        * js/regress/infer-closure-const-then-mov.html:
        * js/regress/infer-closure-const-then-put-to-scope-no-inline.html:
        * js/regress/infer-closure-const-then-put-to-scope.html:
        * js/regress/infer-closure-const-then-reenter-no-inline.html:
        * js/regress/infer-closure-const-then-reenter.html:
        * js/regress/infer-one-time-closure-ten-vars.html:
        * js/regress/infer-one-time-closure-two-vars.html:
        * js/regress/infer-one-time-closure.html:
        * js/regress/infer-one-time-deep-closure.html:
        * js/regress/inline-arguments-access.html:
        * js/regress/inline-arguments-aliased-access.html:
        * js/regress/inline-arguments-local-escape.html:
        * js/regress/inline-get-scoped-var.html:
        * js/regress/inlined-put-by-id-transition.html:
        * js/regress/int-or-other-abs-then-get-by-val.html:
        * js/regress/int-or-other-abs-zero-then-get-by-val.html:
        * js/regress/int-or-other-add-then-get-by-val.html:
        * js/regress/int-or-other-add.html:
        * js/regress/int-or-other-div-then-get-by-val.html:
        * js/regress/int-or-other-max-then-get-by-val.html:
        * js/regress/int-or-other-min-then-get-by-val.html:
        * js/regress/int-or-other-mod-then-get-by-val.html:
        * js/regress/int-or-other-mul-then-get-by-val.html:
        * js/regress/int-or-other-neg-then-get-by-val.html:
        * js/regress/int-or-other-neg-zero-then-get-by-val.html:
        * js/regress/int-or-other-sub-then-get-by-val.html:
        * js/regress/int-or-other-sub.html:
        * js/regress/int-overflow-local.html:
        * js/regress/int52-spill.html:
        * js/regress/integer-divide.html:
        * js/regress/integer-modulo.html:
        * js/regress/large-int-captured.html:
        * js/regress/large-int-neg.html:
        * js/regress/large-int.html:
        * js/regress/logical-not.html:
        * js/regress/lots-of-fields.html:
        * js/regress/make-indexed-storage.html:
        * js/regress/make-rope-cse.html:
        * js/regress/marsaglia-expected.txt: Removed.
        * js/regress/marsaglia-larger-ints.html:
        * js/regress/marsaglia-osr-entry.html:
        * js/regress/marsaglia.html: Removed.
        * js/regress/method-on-number.html:
        * js/regress/misc-strict-eq.html:
        * js/regress/negative-zero-divide.html:
        * js/regress/negative-zero-modulo.html:
        * js/regress/negative-zero-negate.html:
        * js/regress/nested-function-parsing-random-expected.txt: Removed.
        * js/regress/nested-function-parsing-random.html: Removed.
        * js/regress/nested-function-parsing.html:
        * js/regress/new-array-buffer-dead.html:
        * js/regress/new-array-buffer-push.html:
        * js/regress/new-array-dead.html:
        * js/regress/new-array-push.html:
        * js/regress/new-spread-expected.txt: Removed.
        * js/regress/new-spread.html: Removed.
        * js/regress/number-test.html:
        * js/regress/object-closure-call.html:
        * js/regress/object-test.html:
        * js/regress/poly-stricteq.html:
        * js/regress/polymorphic-get-by-id.html:
        * js/regress/polymorphic-put-by-id.html:
        * js/regress/polymorphic-structure.html:
        * js/regress/polyvariant-monomorphic-get-by-id.html:
        * js/regress/proto-custom-getter-expected.txt: Removed.
        * js/regress/proto-custom-getter.html: Removed.
        * js/regress/proto-getter-access.html:
        * js/regress/put-by-id.html:
        * js/regress/put-by-val-large-index-blank-indexing-type.html:
        * js/regress/put-by-val-machine-int.html:
        * js/regress/rare-osr-exit-on-local.html:
        * js/regress/register-pressure-from-osr.html:
        * js/regress/resources/regress-post.js: Removed.
        * js/regress/resources/regress-pre.js: Removed.
        * js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Removed.
        * js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Removed.
        * js/regress/script-tests/Int32Array-alloc-huge-long-lived.js: Removed.
        * js/regress/script-tests/Int32Array-alloc-huge.js: Removed.
        * js/regress/script-tests/Int32Array-alloc-large-long-lived.js: Removed.
        * js/regress/script-tests/array-prototype-filter.js: Removed.
        * js/regress/script-tests/call-spread.js: Removed.
        * js/regress/script-tests/chain-custom-getter.js: Removed.
        * js/regress/script-tests/destructuring-arguments-length.js: Removed.
        * js/regress/script-tests/emscripten-memops.js: Removed.
        * js/regress/script-tests/fold-strict-eq.js: Removed.
        * js/regress/script-tests/marsaglia.js: Removed.
        * js/regress/script-tests/nested-function-parsing-random.js: Removed.
        * js/regress/script-tests/new-spread.js: Removed.
        * js/regress/script-tests/proto-custom-getter.js: Removed.
        * js/regress/script-tests/simple-custom-getter.js: Removed.
        * js/regress/script-tests/variadic-closure-call.js: Removed.
        * js/regress/simple-activation-demo.html:
        * js/regress/simple-custom-getter-expected.txt: Removed.
        * js/regress/simple-custom-getter.html: Removed.
        * js/regress/simple-getter-access.html:
        * js/regress/slow-array-profile-convergence.html:
        * js/regress/slow-convergence.html:
        * js/regress/sparse-conditional.html:
        * js/regress/splice-to-remove.html:
        * js/regress/string-char-code-at.html:
        * js/regress/string-concat-object.html:
        * js/regress/string-concat-pair-object.html:
        * js/regress/string-concat-pair-simple.html:
        * js/regress/string-concat-simple.html:
        * js/regress/string-cons-repeat.html:
        * js/regress/string-cons-tower.html:
        * js/regress/string-equality.html:
        * js/regress/string-get-by-val-big-char.html:
        * js/regress/string-get-by-val-out-of-bounds-insane.html:
        * js/regress/string-get-by-val-out-of-bounds.html:
        * js/regress/string-get-by-val.html:
        * js/regress/string-hash.html:
        * js/regress/string-long-ident-equality.html:
        * js/regress/string-repeat-arith.html:
        * js/regress/string-sub.html:
        * js/regress/string-test.html:
        * js/regress/string-var-equality.html:
        * js/regress/structure-hoist-over-transitions.html:
        * js/regress/switch-char-constant.html:
        * js/regress/switch-char.html:
        * js/regress/switch-constant.html:
        * js/regress/switch-string-basic-big-var.html:
        * js/regress/switch-string-basic-big.html:
        * js/regress/switch-string-basic-var.html:
        * js/regress/switch-string-basic.html:
        * js/regress/switch-string-big-length-tower-var.html:
        * js/regress/switch-string-length-tower-var.html:
        * js/regress/switch-string-length-tower.html:
        * js/regress/switch-string-short.html:
        * js/regress/switch.html:
        * js/regress/tear-off-arguments-simple.html:
        * js/regress/tear-off-arguments.html:
        * js/regress/temporal-structure.html:
        * js/regress/to-int32-boolean.html:
        * js/regress/undefined-test.html:
        * js/regress/unprofiled-licm.html:
        * js/regress/variadic-closure-call-expected.txt: Removed.
        * js/regress/variadic-closure-call.html: Removed.
        * js/regress/weird-inlining-const-prop.html:
        * js/slow-stress: Added.
        * js/slow-stress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt.
        * js/slow-stress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html.
        * js/slow-stress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt.
        * js/slow-stress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html.
        * js/slow-stress/Int32Array-alloc-huge-expected.txt: Copied from LayoutTests/js/regress/Int32Array-alloc-huge-expected.txt.
        * js/slow-stress/Int32Array-alloc-huge-long-lived-expected.txt: Copied from LayoutTests/js/regress/Int32Array-alloc-huge-long-lived-expected.txt.
        * js/slow-stress/Int32Array-alloc-huge-long-lived.html: Copied from LayoutTests/js/regress/Int32Array-alloc-huge-long-lived.html.
        * js/slow-stress/Int32Array-alloc-huge.html: Copied from LayoutTests/js/regress/Int32Array-alloc-huge.html.
        * js/slow-stress/Int32Array-alloc-large-long-lived-expected.txt: Copied from LayoutTests/js/regress/Int32Array-alloc-large-long-lived-expected.txt.
        * js/slow-stress/Int32Array-alloc-large-long-lived.html: Copied from LayoutTests/js/regress/Int32Array-alloc-large-long-lived.html.
        * js/slow-stress/array-prototype-filter-expected.txt: Copied from LayoutTests/js/regress/array-prototype-filter-expected.txt.
        * js/slow-stress/array-prototype-filter.html: Copied from LayoutTests/js/regress/array-prototype-filter.html.
        * js/slow-stress/call-spread-expected.txt: Copied from LayoutTests/js/regress/call-spread-expected.txt.
        * js/slow-stress/call-spread.html: Copied from LayoutTests/js/regress/call-spread.html.
        * js/slow-stress/chain-custom-getter-expected.txt: Copied from LayoutTests/js/regress/chain-custom-getter-expected.txt.
        * js/slow-stress/chain-custom-getter.html: Copied from LayoutTests/js/regress/chain-custom-getter.html.
        * js/slow-stress/destructuring-arguments-length-expected.txt: Copied from LayoutTests/js/regress/destructuring-arguments-length-expected.txt.
        * js/slow-stress/destructuring-arguments-length.html: Copied from LayoutTests/js/regress/destructuring-arguments-length.html.
        * js/slow-stress/emscripten-memops-expected.txt: Copied from LayoutTests/js/regress/emscripten-memops-expected.txt.
        * js/slow-stress/emscripten-memops.html: Copied from LayoutTests/js/regress/emscripten-memops.html.
        * js/slow-stress/fold-strict-eq-expected.txt: Copied from LayoutTests/js/regress/fold-strict-eq-expected.txt.
        * js/slow-stress/fold-strict-eq.html: Copied from LayoutTests/js/regress/fold-strict-eq.html.
        * js/slow-stress/marsaglia-expected.txt: Copied from LayoutTests/js/regress/marsaglia-expected.txt.
        * js/slow-stress/marsaglia.html: Copied from LayoutTests/js/regress/marsaglia.html.
        * js/slow-stress/nested-function-parsing-random-expected.txt: Copied from LayoutTests/js/regress/nested-function-parsing-random-expected.txt.
        * js/slow-stress/nested-function-parsing-random.html: Copied from LayoutTests/js/regress/nested-function-parsing-random.html.
        * js/slow-stress/new-spread-expected.txt: Copied from LayoutTests/js/regress/new-spread-expected.txt.
        * js/slow-stress/new-spread.html: Copied from LayoutTests/js/regress/new-spread.html.
        * js/slow-stress/proto-custom-getter-expected.txt: Copied from LayoutTests/js/regress/proto-custom-getter-expected.txt.
        * js/slow-stress/proto-custom-getter.html: Copied from LayoutTests/js/regress/proto-custom-getter.html.
        * js/slow-stress/script-tests: Added.
        * js/slow-stress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Copied from LayoutTests/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js.
        * js/slow-stress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Copied from LayoutTests/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js.
        * js/slow-stress/script-tests/Int32Array-alloc-huge-long-lived.js: Copied from LayoutTests/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js.
        * js/slow-stress/script-tests/Int32Array-alloc-huge.js: Copied from LayoutTests/js/regress/script-tests/Int32Array-alloc-huge.js.
        * js/slow-stress/script-tests/Int32Array-alloc-large-long-lived.js: Copied from LayoutTests/js/regress/script-tests/Int32Array-alloc-large-long-lived.js.
        * js/slow-stress/script-tests/array-prototype-filter.js: Copied from LayoutTests/js/regress/script-tests/array-prototype-filter.js.
        * js/slow-stress/script-tests/call-spread.js: Copied from LayoutTests/js/regress/script-tests/call-spread.js.
        * js/slow-stress/script-tests/chain-custom-getter.js: Copied from LayoutTests/js/regress/script-tests/chain-custom-getter.js.
        * js/slow-stress/script-tests/destructuring-arguments-length.js: Copied from LayoutTests/js/regress/script-tests/destructuring-arguments-length.js.
        * js/slow-stress/script-tests/emscripten-memops.js: Copied from LayoutTests/js/regress/script-tests/emscripten-memops.js.
        * js/slow-stress/script-tests/fold-strict-eq.js: Copied from LayoutTests/js/regress/script-tests/fold-strict-eq.js.
        * js/slow-stress/script-tests/marsaglia.js: Copied from LayoutTests/js/regress/script-tests/marsaglia.js.
        * js/slow-stress/script-tests/nested-function-parsing-random.js: Copied from LayoutTests/js/regress/script-tests/nested-function-parsing-random.js.
        * js/slow-stress/script-tests/new-spread.js: Copied from LayoutTests/js/regress/script-tests/new-spread.js.
        * js/slow-stress/script-tests/proto-custom-getter.js: Copied from LayoutTests/js/regress/script-tests/proto-custom-getter.js.
        * js/slow-stress/script-tests/simple-custom-getter.js: Copied from LayoutTests/js/regress/script-tests/simple-custom-getter.js.
        * js/slow-stress/script-tests/variadic-closure-call.js: Copied from LayoutTests/js/regress/script-tests/variadic-closure-call.js.
        * js/slow-stress/simple-custom-getter-expected.txt: Copied from LayoutTests/js/regress/simple-custom-getter-expected.txt.
        * js/slow-stress/simple-custom-getter.html: Copied from LayoutTests/js/regress/simple-custom-getter.html.
        * js/slow-stress/variadic-closure-call-expected.txt: Copied from LayoutTests/js/regress/variadic-closure-call-expected.txt.
        * js/slow-stress/variadic-closure-call.html: Copied from LayoutTests/js/regress/variadic-closure-call.html.
        * resources/regress-post.js: Copied from LayoutTests/js/regress/resources/regress-post.js.
        * resources/regress-pre.js: Copied from LayoutTests/js/regress/resources/regress-pre.js.

2014-04-04  Mark Lam  <mark.lam@apple.com>

        Date object needs to check for ES5 15.9.1.14 TimeClip limit.
        <https://webkit.org/b/131248>

        Reviewed by Mark Hahnenberg.

        * js/regress-131248-expected.txt: Added.
        * js/regress-131248.html: Added.
        * js/script-tests/regress-131248.js: Added.
        (testDateFromSetDateAdjustement):
        (testDateFromSetTimeWithMilliseconds):
        (testDateFromString):

2014-04-07  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed gardening for GTK.

        Removed tests that have been actually passing in both release and
        debug bots for some time.

        * platform/gtk-wk2/TestExpectations:
        * platform/gtk/TestExpectations:

2014-04-07  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed update of GTK expectations.

        Canvas composite tests with alpha are not working.

        * platform/gtk/TestExpectations:

2014-04-07  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Turn on ENABLE_MEDIA_CONTROLS_SCRIPT
        https://bugs.webkit.org/show_bug.cgi?id=131257

        Reviewed by Gyuyoung Kim.

        Rebased tests.

        * platform/efl/TestExpectations:
        * platform/efl/media/audio-controls-rendering-expected.png:
        * platform/efl/media/audio-controls-rendering-expected.txt:
        * platform/efl/media/controls-after-reload-expected.png:
        * platform/efl/media/controls-after-reload-expected.txt:
        * platform/efl/media/controls-strict-expected.png:
        * platform/efl/media/controls-strict-expected.txt:
        * platform/efl/media/controls-styling-expected.png:
        * platform/efl/media/controls-styling-expected.txt:
        * platform/efl/media/controls-without-preload-expected.png:
        * platform/efl/media/controls-without-preload-expected.txt:

2014-04-07  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed gardening.

        Updated expectations for GTK. Added some more failing AX tests.

        * platform/gtk-wk2/TestExpectations:

2014-04-07  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed gardening.

        Updated expectations for GTK. Added some failing AX tests.

        * platform/gtk-wk2/TestExpectations:

2014-04-06  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Use RenderRegion::isValid() before using a region
        https://bugs.webkit.org/show_bug.cgi?id=131232

        Reviewed by Andreas Kling.

        Adjust test expectation now that an invalid region is not unnecessary repainted.

        * fast/regions/repaint/invalid-region-repaint-crash-expected.txt:

2014-04-06  Darin Adler  <darin@apple.com>

        Refactor post-attach and HTMLObjectElement-related code
        https://bugs.webkit.org/show_bug.cgi?id=131282

        Reviewed by Antti Koivisto.

        * svg/custom/object-no-size-attributes-expected.txt: Removed expectation of an empty text
        renderer from the render tree.
        * svg/custom/object-no-size-attributes.xhtml: Restructured the source so there is no text
        to render. Without this, we were seeing two text renderers due to the loading timing change.

2014-04-05  Dirk Schulze  <krit@webkit.org>

        Canvas strokeText and fillText with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
        https://bugs.webkit.org/show_bug.cgi?id=66766

        Reviewed by Andreas Kling.

        330 tests check compositing on Canvas with text.

        * fast/canvas/canvas-composite-text-alpha-expected.txt: Added.
        * fast/canvas/canvas-composite-text-alpha.html: Added.

2014-04-05  Dirk Schulze  <krit@webkit.org>

        Canvas stroke and strokeRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
        https://bugs.webkit.org/show_bug.cgi?id=66762

        Reviewed by Andreas Kling.

        330 tests based on canvas-composite-alpha to test correct compositing behavior with
        strokeRect() and stroke().

        * fast/canvas/canvas-composite-stroke-alpha-expected.txt: Added.
        * fast/canvas/canvas-composite-stroke-alpha.html: Added.

2014-04-05  Jeongeun Kim  <je_julie.kim@samsung.com>

        bad values from HTMLImageElement x and y attributes (CSSOM-View)
        https://bugs.webkit.org/show_bug.cgi?id=130308

        Reviewed by Simon Fraser.

        According to CSSOM-View, ‘interface HTMLImageElement’,
        The x attribute must return the x-coordinate.
        If style is not updated when x() is called, it can’t return anything.
        Style and layout should be done before getting value for x() and y(). 

        * cssom/cssom-view-img-attributes-001-expected.txt: Added.
        * cssom/cssom-view-img-attributes-001.html: Added.

2014-04-05  Alexey Proskuryakov  <ap@apple.com>

        WebProcess freezes after fast/forms/form-associated-element-crash3.html test
        https://bugs.webkit.org/show_bug.cgi?id=122130

        fast/forms/form-associated-element-crash.html often times out on Mavericks WK1
        https://bugs.webkit.org/show_bug.cgi?id=124593

        With underlying bug having been fixed in OS X 10.9.2, removing expectations
        for form-associated-element tests that were affected by it.

        I'm not sure if Mountain Lion was affected, let's see if tests start to fail there.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wk2/TestExpectations:

2014-04-04  James Craig  <jcraig@apple.com>

        AX: supportsARIAExpanded should always return true for a few roles: combobox, disclosure.
        https://bugs.webkit.org/show_bug.cgi?id=129787

        Reviewed by Chris Fleizach.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-04-04  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] polygon y-value calc() args serialize incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=129842

        Reviewed by Bem Jones-Bey.

        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:

2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed gardening. Mark a flakey test that is failing intermittenly in pixel tests.

        * platform/mac/TestExpectations:
        Mark svg/as-image/svg-as-image-canvas.html as flakey.

2014-04-04  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Add compositing reason for isolation.
        https://bugs.webkit.org/show_bug.cgi?id=131153

        Reviewed by Joseph Pecoraro.

        * inspector-protocol/layers/layers-blending-compositing-reasons-expected.txt: Added.
        * inspector-protocol/layers/layers-blending-compositing-reasons.html: Added.

2014-04-04  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r166615): Pressing return doesn’t submit search term at bing.com
        https://bugs.webkit.org/show_bug.cgi?id=131212
        <rdar://problem/16521788>

        Reviewed by Dan Bernstein.

        * fast/forms/submit-while-you-submit-expected.txt: Added.
        * fast/forms/submit-while-you-submit.html: Added.

2014-04-04  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix. Rebaseline Mountain Lion scrolling tests
        after switching to high-resolution continuous scroll output.

        * platform/mac-mountainlion/fast/scrolling: Added.
        * platform/mac-mountainlion/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
        * platform/mac-mountainlion/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
        * platform/mac-mountainlion/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.

2014-04-04  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] shape-margin in percentage units always computes to 0px
        https://bugs.webkit.org/show_bug.cgi?id=130369

        Reviewed by Andreas Kling.

        Fix parsing test to understand that percentages are allowed for
        shape-margin. Also add the layout test from Rebecca Hauck.

        * fast/shapes/parsing/parsing-shape-margin-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:
        * fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html: Added.

2014-04-04  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Remove outside-shape CSS value
        https://bugs.webkit.org/show_bug.cgi?id=131201

        Reviewed by Bem Jones-Bey.

        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-shape-outside.html:

2014-04-04  Dirk Schulze  <krit@webkit.org>

        Gradient offsets are off if compositing operator != source-over
        https://bugs.webkit.org/show_bug.cgi?id=129791

        Reviewed by Andreas Kling.

        Test that the gradient space maps correctly to context space after
        applying compositing mode.

        * fast/canvas/canvas-gradient-on-compositing-expected.txt: Added.
        * fast/canvas/canvas-gradient-on-compositing.html: Added.
        * fast/canvas/script-tests/canvas-gradient-on-compositing.js: Added.
        (dataToArray):
        (getPixel):
        (pixelShouldBe):

2014-04-04  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Move background images to device pixel boundaries.
        https://bugs.webkit.org/show_bug.cgi?id=131144

        Reviewed by Simon Fraser.

        Replace integral snapping with device pixel snapping.
        Background image geometry calculation uses LayoutUnits and we snap to device pixels right before painting.

        * css3/background/background-repeat-round-auto1-expected.html:
        * css3/background/background-repeat-round-auto1.html:
        * css3/background/background-repeat-round-auto2-expected.html:
        * css3/background/background-repeat-round-auto2.html:
        * css3/background/background-repeat-round-border-expected.html:
        * css3/background/background-repeat-round-border.html:
        * css3/background/background-repeat-round-content-expected.html:
        * css3/background/background-repeat-round-content.html:
        * css3/background/background-repeat-space-content-expected.html:
        * css3/background/background-repeat-space-content.html:
        * css3/background/background-repeat-space-padding-expected.html:
        * css3/background/background-repeat-space-padding.html:
        * css3/masking/mask-repeat-round-auto1-expected.html:
        * css3/masking/mask-repeat-round-auto1.html:
        * css3/masking/mask-repeat-round-auto2-expected.html:
        * css3/masking/mask-repeat-round-auto2.html:
        * css3/masking/mask-repeat-round-border-expected.html:
        * css3/masking/mask-repeat-round-border.html:
        * css3/masking/mask-repeat-round-content-expected.html:
        * css3/masking/mask-repeat-round-content.html:
        * css3/masking/mask-repeat-space-content-expected.html:
        * css3/masking/mask-repeat-space-content.html:
        * css3/masking/mask-repeat-space-padding-expected.html:
        * css3/masking/mask-repeat-space-padding.html:
        * fast/backgrounds/hidpi-bitmap-background-on-subpixel-position-expected.html: Added.
        * fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html: Added.
        * fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position-expected.html: Added.
        * fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html: Added.
        * fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position-expected.html: Added.
        * fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position.html: Added.
        * fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position-expected.html: Added.
        * fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position.html: Added.
        * fast/backgrounds/resources/black25x25.png: Added.

2014-04-04  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Region's behaviour not updated when becoming valid from invalid
        https://bugs.webkit.org/show_bug.cgi?id=131211

        Reviewed by Andrei Bucur.

        Add tests for auto-height and region styling behaviour.

        * fast/regions/auto-size/autoheight-region-valid-from-invalid-expected.html: Added.
        * fast/regions/auto-size/autoheight-region-valid-from-invalid.html: Added.
        * fast/regions/region-styling/region-withstyling-valid-from-invalid-expected.html: Added.
        * fast/regions/region-styling/region-withstyling-valid-from-invalid.html: Added.

2014-04-04  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed GTK gardening.

        Updated expectations for tests crashing in Debug bots.

        * platform/gtk-wk1/TestExpectations:
        * platform/gtk-wk2/TestExpectations:
        * platform/gtk/TestExpectations:

2014-04-03  Joseph Pecoraro  <pecoraro@apple.com>

        compositing/tiling/rotated-tiled-* tests failing on bots
        https://bugs.webkit.org/show_bug.cgi?id=131207

        Unreviewed rebaseline of tests after r166748.

        * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:

2014-04-03  Simon Fraser  <simon.fraser@apple.com>

        Rebaseline some tests after r166748. These tests now correctly
        report a contentsScale.

        * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
        * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
        * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
        * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:

2014-04-03  Dirk Schulze  <krit@webkit.org>

        [CG] Canvas lineDashOffset does not handle negative numbers correctly
        https://bugs.webkit.org/show_bug.cgi?id=80560

        Reviewed by Dean Jackson.

        Test correct rendering of negative offset for Canvas dash arrays.

        * fast/canvas/canvas-negative-lineDashOffset-expected.txt: Added.
        * fast/canvas/canvas-negative-lineDashOffset.html: Added.
        * fast/canvas/script-tests/canvas-negative-lineDashOffset.js: Added.
        (dataToArray):
        (getPixel):
        (pixelShouldBe):

2014-04-03  David Hyatt  <hyatt@apple.com>

        Continuations casting issue.
        https://bugs.webkit.org/show_bug.cgi?id=130057
        <rdar://problem/16283406>

        Reviewed by Simon Fraser.

        * fast/block/continuation-crash-expected.txt: Added.
        * fast/block/continuation-crash.html: Added.

2014-04-03  Zoltan Horvath  <zoltan@webkit.org>

        [WebInspector] inspector/dom/highlight-shape-outside-margin.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=131126

        Reviewed by Timothy Hatcher.

        I updated the test, so it works with the new testing framework. I included the shape path results in the test,
        so we won't run into rounding problems, and we don't have that big test set, which would require an expected
        result generation. We can add it later, if we extend the test set. The logic is similar to the non margin test case.

        * TestExpectations:
        * inspector/dom/highlight-shape-outside-margin-expected.txt:
        * inspector/dom/highlight-shape-outside-margin.html:

2014-04-03  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] CRASH with calc() value args in inset round
        https://bugs.webkit.org/show_bug.cgi?id=129816

        Reviewed by Andreas Kling.

        Simple test to make sure that using calc in the round argument of an
        inset doesn't cause a crash.

        * fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash.html: Added.

2014-04-03  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Make sure grid element's shrink-to-fit behavior is correct
        https://bugs.webkit.org/show_bug.cgi?id=103473

        Reviewed by Sergio Villar Senin.

        Added a new Layout Test to verify the shrink-to-fit behavior works as expected
        for out-of-flow positioned grid elements.

        * fast/css-grid-layout/grid-element-shrink-to-fit-expected.html: Added.
        * fast/css-grid-layout/grid-element-shrink-to-fit.html: Added.

2014-03-27  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] <string> not allowed in grid-{area | row | column} syntax
        https://bugs.webkit.org/show_bug.cgi?id=129713

        Reviewed by Darin Adler.

        Replaced <string> by <custom-ident> in the tests. Also added a new
        one to check that children are properly layed out after changes in
        the grid line names.

        * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child-expected.txt: Added.
        * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html: Added.
        * fast/css-grid-layout/grid-item-area-get-set.html:
        * fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
        * fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
        * fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-column-row-get-set.html:
        * fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-end-after-get-set.html:
        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution-expected.txt:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
        * fast/css-grid-layout/grid-item-negative-position-resolution.html:
        * fast/css-grid-layout/grid-item-position-changed-dynamic.html:
        * fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-start-before-get-set.html:

2014-04-03  Antti Koivisto  <antti@apple.com>

        Crash after mutating after pseudo style
        https://bugs.webkit.org/show_bug.cgi?id=130881

        Reviewed by Andreas Kling.

        * fast/css/pseudo-after-crash-expected.txt: Added.
        * fast/css/pseudo-after-crash.html: Added.

2014-04-02  Chris Fleizach  <cfleizach@apple.com>

        AX: AccessibilityObject::children() returns invalid results sometimes
        https://bugs.webkit.org/show_bug.cgi?id=130563

        Reviewed by Joseph Pecoraro.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:

2014-04-02  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r166144): fast/preloader/document-write.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=130942

        * platform/mac/TestExpectations: Removing test expectation, because the offending
        revision was rolled out.

2014-04-02  Benjamin Poulain  <benjamin@webkit.org>

        CSS JIT: the adjacent position is never reset
        https://bugs.webkit.org/show_bug.cgi?id=131145

        Reviewed by Andreas Kling.

        * fast/selectors/multiple-adjacent-chain-without-adjacent-tail-expected.txt: Added.
        * fast/selectors/multiple-adjacent-chain-without-adjacent-tail.html: Added.

2014-04-02  Stephanie Lewis  <slewis@apple.com>

        Roll out http://trac.webkit.org/changeset/166144
        <rdar://problem/16481284> PLT stops loading on news.google.com
        
        Unreviewed rollout.

        Rollout 166144 since it prevents the PLT from completing.

        * plugins/plugin-remove-readystatechange-expected.txt:
        * plugins/plugin-remove-readystatechange.html:
        * svg/custom/object-no-size-attributes-expected.txt:
        * svg/custom/object-no-size-attributes.xhtml:

2014-04-02  Zoltan Horvath  <zoltan@webkit.org>

        [WebInspector] inspector-protocol/model/highlight-shape-outside.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=124660

        Reviewed by Timothy Hatcher.

        I updated the tests syntax to CR, CSS Shapes specification. It's also needed to be updated
        to the latest WebInspector testing methods. I added some addidional test cases for the highlighting,
        and also fixed some expected test case in the script, and updated the expected file.

        * TestExpectations:
        * inspector/dom/highlight-shape-outside-expected.txt:
        * inspector/dom/highlight-shape-outside.html:
        * inspector/dom/shapes-test.js:
        (InspectorTestProxy.registerInitializer.):

2014-04-02  Chris Fleizach  <cfleizach@apple.com>

        AX: Improve ARIA live region reliability by sending notifications when live regions are created/shown and hidden/destroyed
        https://bugs.webkit.org/show_bug.cgi?id=124381

        Unreviewed. Forgot to add test expectation.

        * platform/mac/accessibility/live-region-creation-notification-expected.txt: Added.

2014-04-02  Daniel Bates  <dabates@apple.com>

        Move focus management API from HTMLDocument to Document
        https://bugs.webkit.org/show_bug.cgi?id=131079
        <rdar://problem/16220103>

        Reviewed by Timothy Hatcher.

        Derived from a Blink patch by Christophe Dumez:
        https://src.chromium.org/viewvc/blink?view=rev&revision=165515

        Made the test in <https://src.chromium.org/viewvc/blink?view=rev&revision=165515> a valid XHTML
        document. Additionally taught LayoutTests/resources/{js-test, js-test-pre}.js to create actual
        HTML elements so that these scripts can be used to write DRT tests in XML documents.

        * fast/dom/Document/xml-document-focus-expected.txt: Added.
        * fast/dom/Document/xml-document-focus.xml: Added.
        * resources/js-test-pre.js: Added function createHTMLElement() and modified code to use it
        instead of document.createElement() so as to work around <https://bugs.webkit.org/show_bug.cgi?id=131074>.
        * resources/js-test.js: Ditto.

2014-04-02  Daniel Bates  <dabates@apple.com>

        Remove Settings::maximumDecodedImageSize()
        https://bugs.webkit.org/show_bug.cgi?id=131057
        <rdar://problem/15626368>

        Reviewed by Darin Adler.

        Remove test LayoutTests/fast/images/decoded-size-exceeds-max-decoded-size.html as it
        isn't applicable following the removal of the setting Settings::maximumDecodedImageSize().
        Additionally update the test fast/images/bag-png.html to ensure that we dispatch
        a DOM Error event when we fail to decode a malformed image.

        * fast/images/bad-png.html:
        * fast/images/decoded-size-exceeds-max-decoded-size-expected.txt: Removed.
        * fast/images/decoded-size-exceeds-max-decoded-size.html: Removed.

2014-04-02  Timothy Hatcher  <timothy@apple.com>

        Remove Input domain from the Web Inspector protocol.

        https://bugs.webkit.org/show_bug.cgi?id=131073

        Reviewed by Joseph Pecoraro.

        * inspector-protocol/input/dispatchKeyEvent-expected.txt: Removed.
        * inspector-protocol/input/dispatchKeyEvent.html: Removed.
        * inspector-protocol/input/dispatchMouseEvent-expected.txt: Removed.
        * inspector-protocol/input/dispatchMouseEvent.html: Removed.

2014-04-02  David Kilzer  <ddkilzer@apple.com>

        Use outermost containing isolate when constructing bidi runs
        <http://webkit.org/b/131107>
        <rdar://problem/15690021>

        Reviewed by Darin Adler.

        Merged from Blink (patch by jww@chromium.org):
        https://src.chromium.org/viewvc/blink?revision=157268&view=revision
        http://crbug.com/279277

            Update containingIsolate to go back all the way to top
            isolate from current root, rather than stopping at the first
            isolate it finds. This works because the current root is
            always updated with each isolate run.

        * fast/text/international/unicode-bidi-isolate-nested-with-removes-expected.txt: Updated.
        * fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent-expected.txt: Added.
        * fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html: Added.
        * fast/text/international/unicode-bidi-isolate-nested-with-removes.html: Updated.

2014-04-02  Chris Fleizach  <cfleizach@apple.com>

        AX: Improve ARIA live region reliability by sending notifications when live regions are created/shown and hidden/destroyed
        https://bugs.webkit.org/show_bug.cgi?id=124381

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/live-region-creation-notification.html: Added.

2014-04-02  David Kilzer  <ddkilzer@apple.com>

        Add LayoutTest for crash with bidi isolates

        Merged from Blink (patch by jww@chromium.org):
        https://src.chromium.org/viewvc/blink?revision=156580&view=revision
        http://crbug.com/265838

        See Bug 120504: Fix nested unicode-bidi: isolate
        <https://bugs.webkit.org/show_bug.cgi?id=120504>
        <http://trac.webkit.org/changeset/155554>

        * fast/text/international/unicode-bidi-isolate-nested-with-removes-expected.txt: Added.
        * fast/text/international/unicode-bidi-isolate-nested-with-removes.html: Added.

2014-04-02  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Compositing requirements for blending are not computed correctly
        https://bugs.webkit.org/show_bug.cgi?id=130664

        Reviewed by Dean Jackson.

        * css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts-expected.txt: Added.
        * css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html: Added.
        * css3/compositing/blend-mode-with-accelerated-sibling-expected.txt: Added.
        * css3/compositing/blend-mode-with-accelerated-sibling.html: Added.

2014-04-01  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Displaying region's children in another region not supported
        https://bugs.webkit.org/show_bug.cgi?id=130735

        Reviewed by David Hyatt.

        With http://trac.webkit.org/changeset/166353, we disabled the possibility
        of collecting the region's children into another flow and displaying them
        in another region. With that change, we also skipped the existing tests.

        Add a dedicated test that passes if a region child cannot be painted in another region,
        in order to complete the skipped tests. This test should be removed when support for
        this functionality will be added again.

        * fast/regions/region-child-not-flowed-expected.html: Added.
        * fast/regions/region-child-not-flowed.html: Added.

2014-04-01  Beth Dakin  <bdakin@apple.com>

        willReveal edge events should be hooked up for overflow:scroll
        https://bugs.webkit.org/show_bug.cgi?id=131071
        -and corresponding-
        <rdar://problem/16190392>

        Reviewed by Sam Weinig.

        * fast/events/will-reveal-edge-on-div-expected.txt: Added.
        * fast/events/will-reveal-edge-on-div.html: Added.

2014-04-01  Jon Honeycutt  <jhoneycutt@apple.com>

        Crash in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients

        <https://bugs.webkit.org/show_bug.cgi?id=121887>
        <rdar://problem/15073043>

        Reviewed by Dean Jackson.

        * svg/filters/first-letter-crash-expected.txt: Added.
        * svg/filters/first-letter-crash.html: Added.

2014-04-01  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Exclusions] Remove exclusions parsing support
        https://bugs.webkit.org/show_bug.cgi?id=131046

        Reviewed by David Hyatt.

        * fast/exclusions/css-exclusions-disabled-expected.txt: Removed.
        * fast/exclusions/css-exclusions-disabled.html: Removed.
        * fast/exclusions/css-exclusions-enabled-expected.txt: Removed.
        * fast/exclusions/css-exclusions-enabled.html: Removed.
        * fast/exclusions/parsing/parsing-wrap-flow-expected.txt: Removed.
        * fast/exclusions/parsing/parsing-wrap-flow.html: Removed.
        * fast/exclusions/parsing/parsing-wrap-through-expected.txt: Removed.
        * fast/exclusions/parsing/parsing-wrap-through.html: Removed.
        * fast/exclusions/parsing/script-tests/parsing-test-utils.js: Removed.
        * fast/exclusions/parsing/script-tests/parsing-wrap-flow.js: Removed.
        * fast/exclusions/parsing/script-tests/parsing-wrap-through.js: Removed.
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:

2014-04-01  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Enable runtime feature if feature flag is enabled
        https://bugs.webkit.org/show_bug.cgi?id=130013

        Reviewed by Simon Fraser.

        Modify layout test as feature is not disabled by default in WK2.
        The test now checks that the runtime feature can be disabled.

        * fast/css-grid-layout/grid-disabled-expected.txt: Renamed from LayoutTests/fast/css-grid-layout/grid-disabled-by-default-expected.txt.
        * fast/css-grid-layout/grid-disabled.html: Renamed from LayoutTests/fast/css-grid-layout/grid-disabled-by-default.html.

2014-04-01  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Make the grid-item-margin-auto-columns-rows.html test a reftest
        https://bugs.webkit.org/show_bug.cgi?id=130935

        Reviewed by Darin Adler.

        Removed the 'checkLayout' script references from the test.

        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-expected.html: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-expected.txt: Removed.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows.html:

2014-04-01  Myles C. Maxfield  <mmaxfield@apple.com>

        svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html frequently assert in ComplexTextController::offsetForPosition
        https://bugs.webkit.org/show_bug.cgi?id=119747

        Reviewed by Simon Fraser.

        Clicking on SVG text used to cause a ComplexTextController to be built
        around the SVG text (which is incorrect and would crash). This test
        does just that and makes sure there is no crash.

        * svg/text/resources/Litherum.svg: Added.
        * svg/text/svg-font-hittest-expected.txt: Added.
        * svg/text/svg-font-hittest.html: Added.
        * LayoutTests/platform/mac/TestExpectations: Unskipped tests

2014-04-01  Daniel Bates  <dabates@apple.com>

        RenderQuote must destroy remaining text renderer before first letter renderer
        https://bugs.webkit.org/show_bug.cgi?id=78023
        <rdar://problem/10830009>

        Reviewed by Brent Fulgham.

        Merged from Blink (patch by Abhishek Arya):
        https://src.chromium.org/viewvc/blink?view=rev&revision=151270

        * fast/css-generated-content/quote-first-letter-crash-expected.txt: Added.
        * fast/css-generated-content/quote-first-letter-crash.html: Added.

2014-04-01  David Kilzer  <ddkilzer@apple.com>

        Do not allow HTTP refresh headers to refresh to javascript: URLs
        <http://webkit.org/b/119051>
        <rdar://problem/14536453>

        Reviewed by Alexey Proskuryakov.

        Merged from Blink (patch by tsepez@chromium.org):
        https://src.chromium.org/viewvc/blink?revision=153912&view=revision
        http://crbug.com/258151

            This behaviour has been standard in IE since IE7.  This makes us both
            more compatible and less vulnerable to XSS.

        * http/tests/security/no-javascript-refresh-expected.txt: Added.
        * http/tests/security/no-javascript-refresh-static-expected.txt: Added.
        * http/tests/security/no-javascript-refresh-static.html: Added.
        * http/tests/security/no-javascript-refresh.php: Added.
        - Original Blink layout tests with typos fixed and 'PASS:' text
          added.

        * http/tests/security/no-javascript-location.html: Added.
        * http/tests/security/no-javascript-location-expected.txt: Added.
        * http/tests/security/resources/no-javascript-location.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
        * http/tests/security/no-javascript-location-percent-escaped.html: Added.
        * http/tests/security/no-javascript-location-percent-escaped-expected.txt: Added.
        * http/tests/security/resources/no-javascript-location-percent-escaped.php: Added.
        - Add tests using a javascript: URL in a Location: header.

        * http/tests/security/no-javascript-refresh-percent-escaped.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
        * http/tests/security/no-javascript-refresh-percent-escaped-expected.txt: Added.
        * http/tests/security/no-javascript-refresh-spaces.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
        * http/tests/security/no-javascript-refresh-spaces-expected.txt: Added.
        - Add tests using a percent-escaped javascript: URL and a
          javascript: URL with leading spaces in a Refresh: header from
          a web server.

        * http/tests/security/no-javascript-refresh-static-percent-escaped.html: Added.
        * http/tests/security/no-javascript-refresh-static-percent-escaped-expected.txt: Added.
        * http/tests/security/no-javascript-refresh-static-spaces.html: Added.
        * http/tests/security/no-javascript-refresh-static-spaces-expected.txt: Added.
        - Add tests using a percent-escaped javascript: URL and a
          javascript: URL with leading spaces in a meta http-equiv tag.

2014-04-01  James Craig  <jcraig@apple.com>

        AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if
        roleValue is ApplicationAlertRole || ApplicationStatusRole
        https://bugs.webkit.org/show_bug.cgi?id=130907

        Reviewed by Chris Fleizach.

        Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
        * platform/mac/accessibility/aria-liveregions-attributes-expected.txt:
        * platform/mac/accessibility/aria-liveregions-attributes.html:

2014-04-01  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
        https://bugs.webkit.org/show_bug.cgi?id=130643

        Reviewed by Simon Fraser.

        This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
        subpixel sizing on hidpi resolutions, both generated and hidpi images can.
        This patch does not change Image behavior in general as both position and size are still snapped to integral values.  

        No change in behavior.

        * platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * svg/custom/feDisplacementMap-01-expected.txt:
        * svg/filters/feImage-change-target-id-expected.txt:
        * svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt:
        * svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt:
        * svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt:
        * svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt:
        * svg/filters/feImage-late-indirect-update-expected.txt:
        * svg/filters/feImage-multiple-targets-id-change-expected.txt:
        * svg/filters/feImage-position-expected.txt:
        * svg/filters/feImage-preserveAspectRatio-all-expected.txt:
        * svg/filters/feImage-preserveAspectratio-expected.txt:
        * svg/filters/feImage-reference-invalidation-expected.txt:
        * svg/filters/feImage-reference-svg-primitive-expected.txt:
        * svg/filters/feImage-remove-target-expected.txt:
        * svg/filters/feImage-subregions-expected.txt:
        * svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt:
        * svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt:
        * svg/filters/feImage-target-add-to-document-expected.txt:
        * svg/filters/feImage-target-attribute-change-expected.txt:
        * svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt:
        * svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt:
        * svg/filters/feImage-target-changes-id-expected.txt:
        * svg/filters/feImage-target-id-change-expected.txt:
        * svg/filters/feImage-target-inline-style-change-expected.txt:
        * svg/filters/feImage-target-property-change-expected.txt:
        * svg/filters/feImage-target-reappend-to-document-expected.txt:
        * svg/filters/feImage-target-remove-from-document-expected.txt:
        * svg/filters/feImage-target-style-change-expected.txt:

2014-03-31  Alexey Proskuryakov  <ap@apple.com>

        Crashes in PageConsole::addMessage
        https://bugs.webkit.org/show_bug.cgi?id=130991
        <rdar://problem/14795232>

        Reviewed by Geoffrey Garen.

        * http/tests/misc/detached-frame-console-expected.txt: Added.
        * http/tests/misc/detached-frame-console.html: Added.
        * http/tests/misc/resources/detached-frame-console-subframe.html: Added.

2014-03-31  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r166144?): fast/preloader/document-write.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=130942

        * platform/mac/TestExpectations: Marking as such.

2014-03-31  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r166536.
        https://bugs.webkit.org/show_bug.cgi?id=130993

        This is not the correct fix. (Requested by bfulgham on
        #webkit).

        Reverted changeset:

        "Unreviewed test fix after r166530."
        http://trac.webkit.org/changeset/166536

2014-03-31  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix after r166530.

        After switching to high-resolution continuous scroll output, forgot to update one test case.

        * fast/events/platform-wheelevent-in-scrolling-div-expected.txt:
        * fast/events/platform-wheelevent-in-scrolling-div.html:

2014-03-31  Brent Fulgham  <bfulgham@apple.com>

        Reduced Latched Scroll Test Flakiness
        https://bugs.webkit.org/show_bug.cgi?id=130983

        Reviewed by Darin Adler.

        Rebaseline test output for 'hasPreciseScrollingDeltas' behavior.

        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
        * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
        * platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt:
        * platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt:
        * platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt:
        * platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt:

2014-03-31  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Blend mode property is propagated to multiple GraphicLayers
        https://bugs.webkit.org/show_bug.cgi?id=130337

        Reviewed by Dean Jackson.

        * css3/compositing/blend-mode-ancestor-clipping-layer-expected.txt: Added.
        * css3/compositing/blend-mode-ancestor-clipping-layer.html: Added.

2014-03-31  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
        https://bugs.webkit.org/show_bug.cgi?id=130922

        Reviewed by Simon Fraser.

        Tests are adapted after adding blending information to RenderTreeAsText.

        * platform/mac/css3/compositing/blend-mode-background-expected.txt:
        * platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.txt:
        * platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.txt:
        * platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.txt:
        * platform/mac/css3/compositing/blend-mode-layers-expected.txt:
        * platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
        * platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt:
        * platform/mac/css3/compositing/blend-mode-simple-expected.txt:

2014-03-31  Samuel White  <samuel_white@apple.com>

        AX: Need ability to get line range for text marker.
        https://bugs.webkit.org/show_bug.cgi?id=130906

        Reviewed by Chris Fleizach.

        Added test to ensure we can get the correct range of a line from a given marker.
        Also updated existing bounds-for-range test to include new attribute.

        * platform/mac/accessibility/bounds-for-range-expected.txt:
        * platform/mac/accessibility/line-range-for-text-marker-expected.txt: Added.
        * platform/mac/accessibility/line-range-for-text-marker.html: Added.

2014-03-31  Alexey Proskuryakov  <ap@apple.com>

        transitions/3d/interrupted-transition.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=130972

        * platform/mac/TestExpectations: Marked as such.

2014-03-31  Alexey Proskuryakov  <ap@apple.com>

        media/track/track-remove-track.html is flaky, crashing and failing
        https://bugs.webkit.org/show_bug.cgi?id=130971

        * platform/mac/TestExpectations: Marked as such.

2014-03-31  Andrei Bucur  <abucur@adobe.com>

        Wrong layout while animating content in regions
        https://bugs.webkit.org/show_bug.cgi?id=125086

        Reviewed by David Hyatt.

        Add a test verifying the layout and painting of animated content inside regions
        is correct.

        * fast/regions/layers/region-removed-during-animation-expected.html: Added.
        * fast/regions/layers/region-removed-during-animation.html: Added.

2014-03-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Move test cases of navigator content utils in own directory
        https://bugs.webkit.org/show_bug.cgi?id=130927

        Reviewed by Ryosuke Niwa.

        Add NavigatorContentUtils dir to fast/dom in order to manage the test cases well.

        * fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Renamed from LayoutTests/fast/dom/is-protocol-handler-registered-expected.txt.
        * fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html: Renamed from LayoutTests/fast/dom/is-protocol-handler-registered.html.
        * fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Renamed from LayoutTests/fast/dom/register-protocol-handler-expected.txt.
        * fast/dom/NavigatorContentUtils/register-protocol-handler.html: Renamed from LayoutTests/fast/dom/register-protocol-handler.html.
        * fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Renamed from LayoutTests/fast/dom/unregister-protocol-handler-expected.txt.
        * fast/dom/NavigatorContentUtils/unregister-protocol-handler.html: Renamed from LayoutTests/fast/dom/unregister-protocol-handler.html.
        * platform/efl-wk2/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:

2014-03-30  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: compositing/columns/composited-rl-paginated-repaint.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=130953

        * platform/mac/TestExpectations: Marked as such.

2014-03-30  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r166467.
        https://bugs.webkit.org/show_bug.cgi?id=130952

        The test fails (Requested by ap_ on #webkit).

        Reverted changeset:

        "Web Inspector: Add a new layout test for better coverage of
        accessibility "focused" in inspector-protocol
        DOM.getAccessibilityPropertiesForNode"
        https://bugs.webkit.org/show_bug.cgi?id=130196
        http://trac.webkit.org/changeset/166467

2014-03-30  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: Add a new layout test for better coverage of accessibility "focused" in inspector-protocol DOM.getAccessibilityPropertiesForNode
        https://bugs.webkit.org/show_bug.cgi?id=130196

        Reviewed by Timothy Hatcher.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-focused-expected.txt: Added.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode-focused.html: Added.

2014-03-29  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r166434.
        https://bugs.webkit.org/show_bug.cgi?id=130938

        Caused crashes and other failures on cache tests (Requested by
        ap on #webkit).

        Reverted changeset:

        "Web Replay: add page-level setting to bypass the MemoryCache"
        https://bugs.webkit.org/show_bug.cgi?id=130728
        http://trac.webkit.org/changeset/166434

2014-03-29  David Kilzer  <ddkilzer@apple.com>

        Preserve selection end positions in directionOfSelection
        <http://webkit.org/b/104813>
        <rdar://problem/13666417>

        Reviewed by Brent Fulgham.

        Merged from Blink (patch by kenrb@chromium.org):
        https://src.chromium.org/viewvc/blink?revision=150621&view=revision
        http://crbug.com/164263

            VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
            can both cause layouts, which has the potential to invalidate any
            rendertree-based objects. This was causing a problem in
            FrameSelection::directionOfSelection(), where a reference to a
            lineBox was being held across a call to visibleEnd().

            This patch ensures that the any layout is completed before linebox
            references are retrieved.

        * editing/selection/layout-during-move-selection-crash-expected.txt: Added.
        * editing/selection/layout-during-move-selection-crash.html: Added.

2014-03-29  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Simple line layout should not round to integral position while painting.
        https://bugs.webkit.org/show_bug.cgi?id=130934

        Reviewed by Simon Fraser.

        Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
        integral rounding produces different paint position.

        * fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition-expected.html: Added.
        * fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html: Added.

2014-03-28  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
        https://bugs.webkit.org/show_bug.cgi?id=130920

        Reviewed by Darin Adler.

        * fast/css-grid-layout/grid-item-margin-auto-columns-rows-expected.txt: Added.
        * fast/css-grid-layout/grid-item-margin-auto-columns-rows.html: Added.

2014-03-28  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: support for live regions
        https://bugs.webkit.org/show_bug.cgi?id=130725

        Reviewed by Timothy Hatcher.

        Initial support for @aria-live, @aria-atomic, and @aria-busy.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Updated.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt: Added.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html: Added.

2014-03-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.warn is showing as error instead of warning
        https://bugs.webkit.org/show_bug.cgi?id=130921

        Reviewed by Timothy Hatcher.

        Add a test for console.log, warn, error, etc to make sure they get
        to the frontend with the expected source and level.

        * inspector-protocol/console/console-message-expected.txt: Added.
        * inspector-protocol/console/console-message.html: Added.

2014-03-28  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: expose what elements get generic "clickable" status
        https://bugs.webkit.org/show_bug.cgi?id=130721

        Reviewed by Timothy Hatcher.

        Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: 
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Simple coverage of mouseEventNodeId.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt: Added.
        * inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html: Added. Full coverage.

2014-03-28  Brian Burg  <bburg@apple.com>

        Web Replay: add page-level setting to bypass the MemoryCache
        https://bugs.webkit.org/show_bug.cgi?id=130728

        Reviewed by Timothy Hatcher.

        Mac WebKit2 needs different expectations because of resource load timing characteristics
        introduced by the interaction of Settings::usesMemoryCache and NetworkProcess.

        * http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.
        * http/tests/cache/bypass-memory-cache-after-reload.html: Added.
        * platform/mac-wk2/http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.

2014-03-28  Radu Stavila  <stavila@adobe.com>

        In some situations, partial layouts of floating elements produce incorrect results.
        https://bugs.webkit.org/show_bug.cgi?id=122668

        Reviewed by David Hyatt.

        Added test to ensure an assertion is not reached when performing a partial
        layout of float elements in certain situations.

        * fast/block/float/floats-in-clean-line-crash-expected.txt: Added.
        * fast/block/float/floats-in-clean-line-crash.html: Added.

2014-03-28  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed gardening. Make WebVTT tests less flaky by ensuring captions are set to display
        in each test, rather than relying on earlier tests turning captions on. This caused tests to
        fail if run out of order.

        * media/track/regions-webvtt/vtt-region-display.html: Turn captions on.
        * media/track/regions-webvtt/vtt-region-dom-layout.html: Ditto.

2014-03-28  Jer Noble  <jer.noble@apple.com>

        [MSE] Implement support for SourceBuffer.remove()
        https://bugs.webkit.org/show_bug.cgi?id=121562

        Reviewed by Eric Carlson.

        * media/media-source/media-source-remove-expected.txt: Added.
        * media/media-source/media-source-remove.html: Added.

2014-03-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Clear SVGInlineTextBox fragments when the text changes.
        https://bugs.webkit.org/show_bug.cgi?id=130879

        Reviewed by Darin Adler.

        Ported from Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision

        When failing, this test will render garbage characters or crash.

        * svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt: Added.
        * svg/custom/unicode-in-tspan-multi-svg-crash.html: Added.

2014-03-28  Michael Saboff  <msaboff@apple.com>

        Unreviewed, rolling r166248 back in.

        Turns out r166070 didn't cause a 2% performance loss in page load times

        Reverted changeset:

        Unreviewed, rolling out r166126.
        Rollout r166126 in prepartion to roll out prerequisite r166070

2014-03-28  Krzysztof Czech  <k.czech@samsung.com>

        [EFL][GTK] Remove expectations after r166194
        https://bugs.webkit.org/show_bug.cgi?id=130842

        Reviewed by Mario Sanchez Prada.

        r166194 introduces one common expectation for all ports.

        * platform/efl-wk1/accessibility/table-with-aria-role-expected.txt: Removed.
        * platform/efl-wk2/accessibility/table-with-aria-role-expected.txt: Removed.
        * platform/gtk/accessibility/table-with-aria-role-expected.txt: Removed.

2014-03-27  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
        https://bugs.webkit.org/show_bug.cgi?id=130827

        Reviewed by Timothy Hatcher.

        Tests selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-27  Mark Rowe  <mrowe@apple.com>

        <https://webkit.org/b/42704> WebKitTestRunner needs to print history delegate information

        Reviewed by Sam Weinig.

        * platform/wk2/TestExpectations: Enable the two layout tests that pass. One test remains disabled
        due to lack of testRunner API, and another due to an apparent bug in WebKit2's handling of
        client redirects.

2014-03-27  Oliver Hunt  <oliver@apple.com>

        Support spread operand in |new| expressions
        https://bugs.webkit.org/show_bug.cgi?id=130877

        Reviewed by Michael Saboff.

        Correctness and performance tests for spread operands

        * js/parser-syntax-check-expected.txt:
        * js/regress/call-spread-expected.txt: Added.
        * js/regress/call-spread.html: Added.
        * js/regress/new-spread-expected.txt: Added.
        * js/regress/new-spread.html: Added.
        * js/regress/script-tests/call-spread.js: Added.
        (testFunction):
        (test2):
        (test3):
        * js/regress/script-tests/new-spread.js: Added.
        (testFunction):
        (test2):
        (test3):
        * js/script-tests/parser-syntax-check.js:

2014-03-27  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes][css clip-path] rounded corner calculation for box shapes is wrong
        https://bugs.webkit.org/show_bug.cgi?id=127982

        Reviewed by Simon Fraser.

        * css3/masking/clip-path-border-radius-border-box-000-expected.html: Added.
        * css3/masking/clip-path-border-radius-border-box-000.html: Added.
        * css3/masking/clip-path-border-radius-content-box-000-expected.html: Added.
        * css3/masking/clip-path-border-radius-content-box-000.html: Added.
        * css3/masking/clip-path-border-radius-content-box-001-expected.html: Added.
        * css3/masking/clip-path-border-radius-content-box-001.html: Added.
        * css3/masking/clip-path-border-radius-padding-box-000-expected.html: Added.
        * css3/masking/clip-path-border-radius-padding-box-000.html: Added.
        * css3/masking/clip-path-border-radius-padding-box-001-expected.html: Added.
        * css3/masking/clip-path-border-radius-padding-box-001.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html: Added.

2014-03-27  Brent Fulgham  <bfulgham@apple.com>

        Fix a crash caused by track insertion after load()
        https://bugs.webkit.org/show_bug.cgi?id=130777

        Reviewed by Eric Carlson.

        Test: media/track/track-insert-after-load-crash.html

        Based on the Blink change (patch by acolwell@chromium.org):
        https://codereview.chromium.org/211373009/

        * media/track/track-insert-after-load-crash-expected.txt: Added.
        * media/track/track-insert-after-load-crash.html: Added.

2014-03-27  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Remove unused variable in fast/css-grid-layout/implicit-position-dynamic-change.html
        https://bugs.webkit.org/show_bug.cgi?id=130833

        Reviewed by Sergio Villar Senin.

        * fast/css-grid-layout/implicit-position-dynamic-change.html: Inside
        method updateImplicitGridColumn() we define a variable gridItem that
        is not used. This patch removes it.

2014-03-27  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Crash when cloning a region child with a content node child
        https://bugs.webkit.org/show_bug.cgi?id=129811

        Reviewed by David Hyatt.

        Collecting the children of a region in another named flow will be supported
        again in the future and it will be revisited when we will implement the content
        keyword: http://dev.w3.org/csswg/css-regions-1/#the-flow-into-property.
        For now, skip the tests for that use case.

        * TestExpectations:
        * fast/regions/overflow-region-inline-expected.html: Expected file should not be region based.
        * fast/regions/region-content-node-child-clone-crash-expected.txt: Added.
        * fast/regions/region-content-node-child-clone-crash.html: Added.
        * fast/regions/unsplittable-nested-region-expected.html: Expected file should not be region based.

2014-03-26  Myles C. Maxfield  <mmaxfield@apple.com>

        Skipping underlines disregard points completely inside the underline rect
        https://bugs.webkit.org/show_bug.cgi?id=130800

        Reviewed by Dean Jackson.

        This test draws a glyph entire inside the underline. It should render the same
        as it would without any underline at all.

        * fast/css3-text/css3-text-decoration/text-decoration-skip/resources/Litherum.svg: Added
        an underscore glyph that would lie entirely within an underline
        * fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html:

2014-03-26  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r155977): matrix animations no longer animate
        https://bugs.webkit.org/show_bug.cgi?id=130789
        <rdar://problem/15650946>

        Reviewed by Dean Jackson.
        
        Add test for fill-fowards animation with mismatched transform lists.

        * compositing/animation/matrix-animation-expected.html: Added.
        * compositing/animation/matrix-animation.html: Added.

2014-03-26  Antti Koivisto  <antti@apple.com>

        Render tree construction is O(N^2) in number of siblings
        https://bugs.webkit.org/show_bug.cgi?id=129065

        Reviewed by Darin Adler.

        * perf/sibling-renderer-On2-expected.txt: Added.
        * perf/sibling-renderer-On2.html: Added.
        
            The test doesn't use magnitude-perf.js as this requires a relatively long-running test function and
            it seemed unsuitable for that.

2014-03-26  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Remove shape-inside support
        https://bugs.webkit.org/show_bug.cgi?id=130698

        Reviewed by David Hyatt.

        * fast/regions/shape-inside/shape-inside-on-additional-regions-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-additional-regions.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-first-region-block-content-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-first-region-block-content.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-first-region-inline-content-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-polygon-with-adjustment-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-polygon-with-adjustment.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-polygon-with-adjustment-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-polygon-with-adjustment.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-second-region-block-content-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-second-region-block-content.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-second-region-inline-content-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html: Removed.
        * fast/regions/shape-inside/shape-inside-recursive-layout-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-recursive-layout.html: Removed.
        * fast/regions/shape-inside/shape-inside-with-region-borders-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-with-region-borders.html: Removed.
        * fast/regions/shape-inside/shape-inside-with-region-padding-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-with-region-padding.html: Removed.
        * fast/shapes/css-shapes-disabled-expected.txt:
        * fast/shapes/css-shapes-disabled.html:
        * fast/shapes/css-shapes-enabled-expected.txt:
        * fast/shapes/css-shapes-enabled.html:
        * fast/shapes/parsing/parsing-shape-inside-expected.txt: Removed.
        * fast/shapes/parsing/parsing-shape-inside.html: Removed.
        * fast/shapes/parsing/parsing-shape-lengths-expected.txt:
        * fast/shapes/parsing/parsing-shape-lengths.html:
        * fast/shapes/parsing/parsing-shape-padding-expected.txt: Removed.
        * fast/shapes/parsing/parsing-shape-padding.html: Removed.
        * fast/shapes/parsing/parsing-test-utils.js:
        * fast/shapes/resources/multi-segment-polygon.js: Removed.
        * fast/shapes/resources/simple-polygon.js: Removed.
        * fast/shapes/resources/simple-rectangle.js: Removed.
        * fast/shapes/resources/svg-shape-001.svg: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-floats-simple-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-floats-simple.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-left-triangle-block-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-left-triangle-block-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-left-triangle-inline-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-left-triangle-inline-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-right-triangle-block-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-right-triangle-block-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-right-triangle-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-right-triangle-inline-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-right-triangle-inline-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-lower-right-triangle.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-left-triangle-block-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-left-triangle-block-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-left-triangle-inline-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-left-triangle-inline-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-right-triangle-block-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-right-triangle-block-content.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-right-triangle-inline-content-expected.html: Removed.
        * fast/shapes/shape-inside/floats/shape-inside-left-float-in-upper-right-triangle-inline-content.html: Removed.
        * fast/shapes/shape-inside/shape-inside-animation-expected.txt: Removed.
        * fast/shapes/shape-inside/shape-inside-animation.html: Removed.
        * fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-bottom-edge.html: Removed.
        * fast/shapes/shape-inside/shape-inside-box-sizing-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-box-sizing.html: Removed.
        * fast/shapes/shape-inside/shape-inside-calc-crash-expected.txt: Removed.
        * fast/shapes/shape-inside/shape-inside-calc-crash.html: Removed.
        * fast/shapes/shape-inside/shape-inside-circle-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-circle-padding-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-circle-padding.html: Removed.
        * fast/shapes/shape-inside/shape-inside-circle.html: Removed.
        * fast/shapes/shape-inside/shape-inside-coincident-vertices-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-coincident-vertices.html: Removed.
        * fast/shapes/shape-inside/shape-inside-collinear-vertices-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-collinear-vertices.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-004-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-complex-polygon-004.html: Removed.
        * fast/shapes/shape-inside/shape-inside-content-box-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-content-box.html: Removed.
        * fast/shapes/shape-inside/shape-inside-counterclockwise-polygon-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-counterclockwise-polygon.html: Removed.
        * fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-dynamic-nested.html: Removed.
        * fast/shapes/shape-inside/shape-inside-dynamic-shape-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-dynamic-shape.html: Removed.
        * fast/shapes/shape-inside/shape-inside-dynamic-text-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-dynamic-text.html: Removed.
        * fast/shapes/shape-inside/shape-inside-ellipse-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-ellipse-padding-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-ellipse-padding.html: Removed.
        * fast/shapes/shape-inside/shape-inside-ellipse.html: Removed.
        * fast/shapes/shape-inside/shape-inside-empty-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-empty-polygon-crash-expected.txt: Removed.
        * fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html: Removed.
        * fast/shapes/shape-inside/shape-inside-empty-segments-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-empty-segments.html: Removed.
        * fast/shapes/shape-inside/shape-inside-empty.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-001-horizontal-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-001-horizontal.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-001-vertical-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-001-vertical.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-004-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-004.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-crash-expected.txt: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-crash.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-reflex-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-first-fit-reflex.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-004-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-004.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-005-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-005.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-set-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-image-set.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-blocks-dynamic-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-blocks-dynamic.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-blocks-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-blocks.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-004-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-segments-004.html: Removed.
        * fast/shapes/shape-inside/shape-inside-offset-block-children-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-offset-block-children.html: Removed.
        * fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html: Removed.
        * fast/shapes/shape-inside/shape-inside-outside-shape-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-outside-shape.html: Removed.
        * fast/shapes/shape-inside/shape-inside-overflow-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html: Removed.
        * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html: Removed.
        * fast/shapes/shape-inside/shape-inside-overflow.html: Removed.
        * fast/shapes/shape-inside/shape-inside-partial-fill-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-partial-fill-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-partial-fill-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-partial-fill-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-percentage-auto-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-percentage-auto.html: Removed.
        * fast/shapes/shape-inside/shape-inside-percentage-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-percentage.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-layout-expected.txt: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-layout.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-padding-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-padding-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-padding-002-expected.txt: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-padding-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-padding-003-expected.txt: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-padding-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-rectangle-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-rectangle.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-rounded-first-fit-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-rounded-first-fit.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-zoom-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-polygon-zoom.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-004-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectilinear-polygon-004.html: Removed.
        * fast/shapes/shape-inside/shape-inside-recursive-layout-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-recursive-layout.html: Removed.
        * fast/shapes/shape-inside/shape-inside-regular-polygon16-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-regular-polygon16.html: Removed.
        * fast/shapes/shape-inside/shape-inside-regular-polygon8-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-regular-polygon8.html: Removed.
        * fast/shapes/shape-inside/shape-inside-shape-logical-top-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-shape-logical-top.html: Removed.
        * fast/shapes/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-004-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-simple-polygon-004.html: Removed.
        * fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html: Removed.
        * fast/shapes/shape-inside/shape-inside-subsequent-blocks-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-subsequent-blocks.html: Removed.
        * fast/shapes/shape-inside/shape-inside-subtract-intervals-crash-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-subtract-intervals-crash.html: Removed.
        * fast/shapes/shape-inside/shape-inside-text-align-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-text-align.html: Removed.
        * fast/shapes/shape-inside/shape-inside-text-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-text.html: Removed.
        * fast/shapes/shape-inside/shape-inside-vertical-text-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-vertical-text.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/win/TestExpectations:

2014-03-26  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] getComputedStyle() must return the specified value for positioning properties
        https://bugs.webkit.org/show_bug.cgi?id=130010

        Reviewed by Darin Adler.

        Updated the return value of getComputedStyle(), it must be always
        the specified value.

        Added also a new test that verifies the resolution of names in
        grid positioning properties, both grid area names and grid line
        names (including any combination of the two).

        * fast/css-grid-layout/grid-item-area-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-area-get-set.html:
        * fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-column-row-get-set.html:
        * fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-end-after-get-set.html:
        * fast/css-grid-layout/grid-item-spanning-resolution-expected.txt:
        * fast/css-grid-layout/grid-item-spanning-resolution.html:
        * fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
        * fast/css-grid-layout/grid-item-start-before-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set-expected.txt: Added.
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html: Added.

2014-03-26  Darin Adler  <darin@apple.com>

        Update LayoutTests to depend on load events rather than on starting loads synchronously
        https://bugs.webkit.org/show_bug.cgi?id=130776

        Reviewed by Antti Koivisto.

        These tests were depending on loads starting synchronously. Instead, they should simply
        depend on proper load event behavior.

        * dom/html/level1/core/selfhtml.js:
        (startTest): Call waitUntilDone immediately, not when the test starts.
        * dom/html/level2/core/selfhtml.js:
        (startTest): Ditto.
        * dom/html/level2/events/selfhtml.js:
        (startTest): Ditto.
        * dom/html/level2/html/selfhtml.js:
        (startTest): Ditto.

2014-03-26  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: crash when inspecting "bar" text node in getAccessibilityPropertiesForNode layout test
        https://bugs.webkit.org/show_bug.cgi?id=130290

        Reviewed by Timothy Hatcher.

        Updating test to include properties for document node.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-26  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Prevent issues with checkLayout() in grid items
        https://bugs.webkit.org/show_bug.cgi?id=130770

        Reviewed by Sergio Villar Senin.

        When we use checkLayout() on a grid item, the results (PASS or FAIL
        messages) are added as new auto-placed items in the grid. Which might
        cause some unexpected behavior in the tests.

        This patch modifies the related layout tests to use a different
        container (usually the parent node of the grid) for the test results.
        Avoiding any kind of interference with the grid code.

        * fast/css-grid-layout/grid-item-addition-auto-placement-update.html:
          Use parent node of grid when checking grid items. Check layout of the
          whole grid instead of grid item.
        * fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
          Check layout of the whole grid instead of grid item.

2014-03-25  Jer Noble  <jer.noble@apple.com>

        [MSE] Duplicate 'seeked' events.
        https://bugs.webkit.org/show_bug.cgi?id=130754

        Reviewed by Eric Carlson.

        * media/media-source/media-source-duplicate-seeked-expected.txt: Added.
        * media/media-source/media-source-duplicate-seeked.html: Added.

2014-03-25  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
        https://bugs.webkit.org/show_bug.cgi?id=130712

        Reviewed by Timothy Hatcher.

        Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-25  Sanghyup Lee  <sh53.lee@samsung.com>

        When the mouse is upped after dragged out of shadowDOM, it should lose :active.
        https://bugs.webkit.org/show_bug.cgi?id=130660

        Reviewed by Darin Adler.

        * fast/css/hover-active-drag-expected.txt: Added a test for textarea.
        * fast/css/hover-active-drag.html: Updated.

2014-03-25  Filip Pizlo  <fpizlo@apple.com>

        Repatch should plant calls to getters directly rather than through a C helper
        https://bugs.webkit.org/show_bug.cgi?id=129589

        Reviewed by Mark Hahnenberg.

        * js/regress/getter-expected.txt: Added.
        * js/regress/getter.html: Added.
        * js/regress/script-tests/getter.js: Added.
        * js/regress/script-tests/string-char-code-at.js: Added.
        (foo):
        * js/regress/string-char-code-at-expected.txt: Added.
        * js/regress/string-char-code-at.html: Added.

2014-03-25  Jer Noble  <jer.noble@apple.com>

        [Mac] Pause the media element during system sleep.
        https://bugs.webkit.org/show_bug.cgi?id=130718

        Reviewed by Eric Carlson.

        * media/video-system-sleep-expected.txt: Added.
        * media/video-system-sleep.html: Added.

2014-03-25  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] The background of children of scrollable elements flowed into regions is not properly scrolled
        https://bugs.webkit.org/show_bug.cgi?id=130574

        Reviewed by David Hyatt.

        Added tests for properly painting background of children of scrollable elements flowed into regions.

        * fast/regions/scrollable-region-scrollable-absolute-content-background-expected.html: Added.
        * fast/regions/scrollable-region-scrollable-absolute-content-background.html: Added.
        * fast/regions/scrollable-region-scrollable-content-background-expected.html: Added.
        * fast/regions/scrollable-region-scrollable-content-background.html: Added.

2014-03-25  Michael Saboff  <msaboff@apple.com>

        Unreviewed, rolling out r166126.

        Rollout r166126 in prepartion to roll out prerequisite r166070

        Reverted changeset:

        "toThis() on a JSWorkerGlobalScope should return a JSProxy and
        not undefined"
        https://bugs.webkit.org/show_bug.cgi?id=130554
        http://trac.webkit.org/changeset/166126

2014-03-25  Dirk Schulze  <krit@webkit.org>

        Implement ImageData constructors and WebWorkers exposure
        https://bugs.webkit.org/show_bug.cgi?id=130668

        Reviewed by Dean Jackson.

        Tests for ImageData constructors. Remove a false tests for constructors
        from Philip's test suite.

        * fast/canvas/canvas-imageData-expected.txt: Added.
        * fast/canvas/canvas-imageData.html: Added.
        * fast/canvas/script-tests/canvas-imageData.js: Added.
        (testTransparentBlack):
        * LayoutTests/canvas/philip/tests/2d.imageData.object.ctor.html: Removed.
        * LayoutTests/canvas/philip/tests/2d.imageData.object.ctor-expected.txt: Removed.
        * LayoutTests/js/dom/global-constructors-attributes-dedicated-worker-expected.txt
        * LayoutTests/js/dom/global-constructors-attributes-shared-worker-expected.txt

2014-03-25  Myles C. Maxfield  <mmaxfield@apple.com>

        InlineIterator position (unsigned int) variable can wrap around
        https://bugs.webkit.org/show_bug.cgi?id=130540

        Reviewed by Simon Fraser.

        This test triggers an ASSERT that occurs when we are ignoring spaces (to collapse them
        into a single whitespace mark) but then encounter a line break. Because we don't ignore
        the first space (but do ignore subsequent spaces), when we hit a newline in an RTL context
        we want to ignore that first space as well (so as not to push the text away from the right
        edge). We do this by decrementing the InlineIterator pointing to this first space, so all
        the spaces get ignored. However, if that space is the first character in a Text node, the
        decrement will try to go past the beginning of the node, and trigger an ASSERT.

        This design is not great. At some point we should rework it to more elegantly handle
        collapsing whitespace in both RTL and LTR writing modes.

        * fast/text/whitespace-only-text-in-rtl-expected.txt: Added.
        * fast/text/whitespace-only-text-in-rtl.html: Added.

2014-03-25  Oliver Hunt  <oliver@apple.com>

        AST incorrectly conflates readable and writable locations
        https://bugs.webkit.org/show_bug.cgi?id=130734

        Reviewed by Filip Pizlo.

        More tests

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2014-03-24  Oliver Hunt  <oliver@apple.com>

        ASSERTION FAILED in Parser: dst != localReg
        https://bugs.webkit.org/show_bug.cgi?id=130710

        Reviewed by Filip Pizlo.

        New testcases.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2014-03-24  Brent Fulgham  <bfulgham@apple.com>

        Prevent 'removetrack' events from firing when all inband text tracks are removed.
        https://bugs.webkit.org/show_bug.cgi?id=130704

        Reviewed by Eric Carlson.

        Based on the Blink change (patch by acolwell@chromium.org):
        https://codereview.chromium.org/177243018/

        * media/track/track-remove-track-expected.txt: Added.
        * media/track/track-remove-track.html: Added.

2014-03-25  Alexey Proskuryakov  <ap@apple.com>

        media/W3C/audio/canPlayType/canPlayType_application_octet_stream.html frequently fails on EWS
        https://bugs.webkit.org/show_bug.cgi?id=130720

        * platform/mac/TestExpectations: Marked as flaky.

2014-03-25  David Kilzer  <ddkilzer@apple.com>

        Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
        <http://webkit.org/b/130713>
        <rdar://problem/15661876>

        Reviewed by Darin Adler.

        Merged from Blink (patch by Ian Beer):
        http://crbug.com/303657
        https://src.chromium.org/viewvc/blink?view=rev&revision=158938

        * fast/forms/form-submission-crash-successful-submit-button-expected.txt: Added.
        * fast/forms/form-submission-crash-successful-submit-button.html: Added.

2014-03-20  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Vertical rectangles not considered as valid grid areas
        https://bugs.webkit.org/show_bug.cgi?id=130513

        Reviewed by Andreas Kling.

        Added tests for grid areas sized as horizontal and vertical
        rectangles. The tests were also renamed from grid-template to
        grid-template-areas which better describe their nature.

        * fast/css-grid-layout/grid-template-areas-get-set-expected.txt: Renamed from LayoutTests/fast/css-grid-layout/grid-template-get-set-expected.txt.
        * fast/css-grid-layout/grid-template-areas-get-set.html: Renamed from LayoutTests/fast/css-grid-layout/grid-template-get-set.html.

2014-03-25  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GTK] Volume slider shows below the panel with videos in certain cases
        https://bugs.webkit.org/show_bug.cgi?id=130608

        Reviewed by Jer Noble.

        * media/video-initially-hidden-volume-slider-up-expected.txt: Added.
        * media/video-initially-hidden-volume-slider-up.html: Added.

2014-03-24  Brent Fulgham  <bfulgham@apple.com>

        [Win] Enable WebVTT Regions on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=130680

        Reviewed by Eric Carlson.

        * platform/win/TestExpectations: Turn on WebVTT tests.

2014-03-24  Oliver Hunt  <oliver@apple.com>

        Strict mode destructuring assignment crashes the parser.
        https://bugs.webkit.org/show_bug.cgi?id=130538

        Reviewed by Michael Saboff.

        Add tests

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2014-03-24  Daniel Bates  <dabates@apple.com>

        XSS Auditor doesn't block <script> injected before an existing <script>
        https://bugs.webkit.org/show_bug.cgi?id=130475

        Merged from Blink (patch by Tom Sepez):
        https://src.chromium.org/viewvc/blink?view=rev&revision=169697

        * http/tests/security/xssAuditor/resources/echo-intertag.pl:
        * http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt: Added.
        * http/tests/security/xssAuditor/script-tag-expression-follows.html: Added.
        * http/tests/security/xssAuditor/script-tag-near-start-expected.txt: Added.
        * http/tests/security/xssAuditor/script-tag-near-start.html: Added.

2014-03-24  Brent Fulgham  <bfulgham@apple.com>

        Activate WebVTT Tests Once Merging is Complete
        https://bugs.webkit.org/show_bug.cgi?id=130420

        Reviewed by Eric Carlson.

        * TestExpectations: Remove [Skip] for media/track/regions-webvtt
        * platform/efl/TestExpectations: Skip media/track/regions-webvtt
        * platform/gtk/TestExpectations: Skip media/track/regions-webvtt
        * platform/mac/js/dom/global-constructors-attributes.html: Add new VTTRegions cases.
        * platform/mac-mountainlion/js/dom/global-constructors-attributes.html: Ditto.
        * platform/win/TestExpectations: Skip media/track/regions-webvtt

2014-03-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Update some mediastream LayoutTests results
        https://bugs.webkit.org/show_bug.cgi?id=130692

        Reviewed by Eric Carlson.

        Tests were not passing due to outdated expected files.

        * fast/mediastream/MediaStream-MediaElement-srcObject-expected.txt:
        * fast/mediastream/MediaStreamTrack-expected.txt:
        * fast/mediastream/RTCPeerConnection-ice-expected.txt:

2014-03-24  Martin Hock  <mhock@apple.com>

        mathml/presentation/tokenElements-background-color.html ImageOnlyFailure after 166170
        https://bugs.webkit.org/show_bug.cgi?id=130693

        Reviewed by Tim Horton.

        * platform/mac/TestExpectations:

2014-03-18  Chris Fleizach  <cfleizach@apple.com>

        Regression: AX: Don't expose role or notifications for invalid menus
        https://bugs.webkit.org/show_bug.cgi?id=129814

        Reviewed by Mario Sanchez Prada.

        * accessibility/table-with-aria-role.html:
             Modify test so that tests only what we want (that the role is correct).
             No longer use role=menu on the table, since the table won't have menuitems and won't be a valid menu.
        * platform/mac/accessibility/invalid-menu-role-does-not-send-notification-expected.txt: Added.
        * platform/mac/accessibility/invalid-menu-role-does-not-send-notification.html: Added.
        * platform/mac/accessibility/table-with-aria-role-expected.txt:

2014-03-24  Chris Fleizach  <cfleizach@apple.com>

        <hr> should expose AXRole/AXSubrole, etc
        https://bugs.webkit.org/show_bug.cgi?id=109015

        Unreviewed. Update tests for ML platform.

        * platform/mac-mountainlion/accessibility/lists-expected.txt:
        * platform/mac-mountainlion/accessibility/roles-exposed-expected.txt:

2014-03-24  Chris Fleizach  <cfleizach@apple.com>

        <hr> should expose AXRole/AXSubrole, etc
        https://bugs.webkit.org/show_bug.cgi?id=109015

        Reviewed by Mario Sanchez Prada.

        * accessibility/lists.html:
            - An errant <hr> element was in this test which changed results
        * accessibility/roles-computedRoleString-expected.txt:
        * accessibility/roles-exposed.html:
        * platform/gtk/accessibility/roles-exposed-expected.txt: Added.
        * platform/mac/accessibility/hr-element-expected.txt: Added.
        * platform/mac/accessibility/hr-element.html: Added.
        * platform/mac/accessibility/lists-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2014-03-24  Antti Koivisto  <antti@apple.com>

        Invalidate sibling text node style when needed instead of attaching synchronously
        https://bugs.webkit.org/show_bug.cgi?id=130590

        Reviewed by Andreas Kling.
        
        Minor non-observable whitespace changes.

        * fast/forms/select-listbox-focus-displaynone-expected.txt:
        * fast/repaint/text-in-relative-positioned-inline-expected.txt:

2014-03-24  Frédéric Wang  <fred.wang@free.fr>

        [regression] background colors do not apply to <mo> elements.
        https://bugs.webkit.org/show_bug.cgi?id=130470.

        * mathml/presentation/tokenElements-background-color.html: Added.
        * mathml/presentation/tokenElements-background-color-expected.html: Added.

2014-03-24  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Add test expectations for failing tests. Skip crashing http tests.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:

2014-03-24  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Update named <grid-line> syntax to the last version of the specs
        https://bugs.webkit.org/show_bug.cgi?id=129041

        Reviewed by Sergio Villar Senin.

        From Blink r162555 by <svillar@igalia.com>

        Updated tests to match the new <grid-line> syntax.

        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
        * fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:
        * fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
        * fast/css-grid-layout/grid-item-negative-position-resolution.html:
        * fast/css-grid-layout/grid-item-position-changed-dynamic.html:
        * fast/css-grid-layout/named-grid-line-get-set-expected.txt:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
        * fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
        * fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
        * fast/css-grid-layout/non-grid-element-repeat-get-set.html:
        * fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
        * fast/css-grid-layout/non-named-grid-line-get-set.html:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
        (testInherit):
        (testInitial):
        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
        (testInherit):
        (testInitial):
        * fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
        (testInherit):
        (testInitial):
        * fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
        (testInherit):
        (testInitial):

2014-03-24  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Add expectations for flaky perf layout test.
        https://bugs.webkit.org/show_bug.cgi?id=130584

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations:

2014-03-24  Andrzej Badowski  <a.badowski@samsung.com>

        [EFL] Add expectations for flaky webgl layout test.
        https://bugs.webkit.org/show_bug.cgi?id=130587

        Unreviewed EFL gardening.

        * platform/efl/TestExpectations:

2014-03-23  Darin Adler  <darin@apple.com>

        Remove code in HTMLObjectElement attribute parsing that forces style resolution and layout
        https://bugs.webkit.org/show_bug.cgi?id=130653

        Reviewed by Antti Koivisto.

        * plugins/plugin-remove-readystatechange-expected.txt: Added a blank line; not what this
        test is testing, but the different timing of loads results in this blank line.
        * plugins/plugin-remove-readystatechange.html: Updated test to use waitUntilDone/notifyDone
        rather than racing. Added a computation of offsetLeft to trigger layout and adding a long
        comment explaining why this is needed and potentially insufficient in the long run.

        * svg/custom/object-no-size-attributes-expected.txt: Removed expectation of an empty text
        renderer from the render tree.
        * svg/custom/object-no-size-attributes.xhtml: Restructured the source so there is no text
        to render. Without this, we were seeing two text renderers due to the loading timing change.

2014-03-23  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
        https://bugs.webkit.org/show_bug.cgi?id=130635

        Reviewed by Timothy Hatcher.

        Support for @aria-owns, @aria-controls, and @aria-flowto.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-22  Chang Shu  <cshu@webkit.org>

        Replace deprecatedIsCollapsibleWhitespace with RenderStyle::isCollapsibleWhiteSpace in TextIterator.
        https://bugs.webkit.org/show_bug.cgi?id=130612.

        Reviewed by Darin Adler.

        * accessibility/table-scope-expected.txt:
        * editing/deleting/delete-block-table-expected.txt:
        * editing/pasteboard/paste-into-anchor-text-expected.txt:
        * fast/dom/Element/offsetTop-table-cell-expected.txt:
        * fast/html/object-border-expected.txt:
        * fast/table/cell-in-row-before-misnested-text-crash-css-expected.txt:
        * fast/table/cell-in-row-before-misnested-text-crash-expected.txt:
        * fast/tokenizer/script_extra_close-expected.txt:
        * fast/xsl/mozilla-tests-expected.txt:
        * platform/mac/accessibility/aria-grid-with-strange-hierarchy-expected.txt:
        * platform/mac/accessibility/table-multi-bodies-expected.txt:

2014-03-22  Michael Saboff  <msaboff@apple.com>

        toThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
        https://bugs.webkit.org/show_bug.cgi?id=130554

        Reviewed by Geoffrey Garen.

        Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
        New regressions tests.

        * fast/workers/resources/worker-strict.js: Added.
        * fast/workers/worker-strict-expected.txt: Added.
        * fast/workers/worker-strict.html: Added.

2014-03-22  Martin Hodovan  <mhodovan@inf.u-szeged.hu>

        ASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
        https://bugs.webkit.org/show_bug.cgi?id=127361

        Added test shows that CSS rules containing huge numbers
        (which are transformed into 'INF' values after parsing)
        are dropped.

        Reviewed by Darin Adler.

        * fast/css/infinite-floating-value-expected.txt: Added.
        * fast/css/infinite-floating-value.html: Added.

2014-03-21  Mark Lam  <mark.lam@apple.com>

        Crash when BytecodeGenerator::emitJump calls Label::bind on null pointer.
        <https://webkit.org/b/124508>

        Reviewed by Oliver Hunt.

        * js/regress-124508-expected.txt: Added.
        * js/regress-124508.html: Added.
        * js/script-tests/regress-124508.js: Added.
        (function_0):

2014-03-21  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make <img> positioning subpixel aware.
        https://bugs.webkit.org/show_bug.cgi?id=130596

        Reviewed by Simon Fraser.

        Change <img> positioning from integral to device pixel. It enables us
        to paint hairline borders around <img> properly.
        This patch changes the behavior of broken image representation from constant 1 CSS px border
        to a dynamic 1 device px.

        * fast/images/hidpi-image-position-on-device-pixels-expected.html: Added.
        * fast/images/hidpi-image-position-on-device-pixels.html: Added.

2014-03-21  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix after r166080.

        * media/track/track-webvtt-tc029-timings-whitespace-expected.txt: Forgot to update this!

2014-03-21  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix after r166080.

        The cue-timing separator will trigger the creation of a new cue. So this test needs to remove
        use of the separator in the cue, so we can read the cue text.

        * media/track/captions-webvtt/tc029-timings-whitespace.vtt:
        * media/track/track-webvtt-tc029-timings-whitespace.html:

2014-03-21  Oliver Hunt  <oliver@apple.com>

        Fix semantics of JS execution when assigning an object to document.location
        https://bugs.webkit.org/show_bug.cgi?id=130213

        Reviewed by Geoffrey Garen.

        * fast/dom/navigation-with-sideeffects-expected.txt: Added.
        * fast/dom/navigation-with-sideeffects.html: Added.

2014-03-21  Adenilson Cavalcanti  <cavalcantii@gmail.com>

        Refactor css3/filters/huge-region test
        https://bugs.webkit.org/show_bug.cgi?id=129553

        Reviewed by Dirk Schulze.

        This patch refactors the huge-region to become a big enough
        element to *not* be rendered. Plus, adds another test using a huge
        blur filter kernel size that will trigger clamping the value to
        maximum accepted value (500px).

        * TestExpectations:
        * css3/filters/huge-blur-value-expected.txt: Added.
        * css3/filters/huge-blur-value.html: Copied from LayoutTests/css3/filters/huge-region.html.
        * css3/filters/huge-region.html:

2014-03-21  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Expose Accessibility Tree children of the selected node
        https://bugs.webkit.org/show_bug.cgi?id=130264

        Reviewed by Timothy Hatcher.

        Updating for support of accessibility tree children.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-21  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed WebKitGtk+ rebaseline.

        * platform/gtk-wk1/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt.
        * platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:

2014-03-21  Brent Fulgham  <bfulgham@apple.com>

        Handle recovery on "timestamp-looking" lines in the WebVTT parser
        https://bugs.webkit.org/show_bug.cgi?id=130610

        Reviewed by Eric Carlson.

        Merged from Blink (patch by fs@opera.com):
        https://chromium.googlesource.com/chromium/blink/+/b669a380efbffe25f3b154b026b57b9822ce08e2
        http://crbug.com/75273002

        * media/track/captions-webvtt/tc006-cue-id-error.vtt:
        * media/track/captions-webvtt/tc007-cue-no-id-error.vtt:
        * media/track/captions-webvtt/tc011-cues-no-separation.vtt:
        * media/track/captions-webvtt/tc031-cue-recovery-cuetext.vtt: Added.
        * media/track/captions-webvtt/tc031-cue-recovery-header.vtt: Added.
        * media/track/captions-webvtt/tc031-cue-recovery-note.vtt: Added.
        * media/track/captions-webvtt/tc032-degenerate-cues.vtt: Added.
        * media/track/track-webvtt-tc006-cue-identifiers-expected.txt:
        * media/track/track-webvtt-tc006-cue-identifiers.html:
        * media/track/track-webvtt-tc007-cue-no-id-expected.txt:
        * media/track/track-webvtt-tc007-cue-no-id.html:
        * media/track/track-webvtt-tc011-blank-lines-expected.txt:
        * media/track/track-webvtt-tc011-blank-lines.html:
        * media/track/track-webvtt-tc031-cue-recovery-expected.txt: Added.
        * media/track/track-webvtt-tc031-cue-recovery.html: Added.
        * media/track/track-webvtt-tc032-degenerate-cues-expected.txt: Added.
        * media/track/track-webvtt-tc032-degenerate-cues.html: Added.

2014-03-21  David Hyatt  <hyatt@apple.com>

        Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
        https://bugs.webkit.org/show_bug.cgi?id=129948
        <rdar://problem/16074072>

        Reviewed by Simon Fraser.

        * fast/multicol/multicol-li-crash-expected.txt: Added.
        * fast/multicol/multicol-li-crash.html: Added.

2014-03-21  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed. Rebaseline expectations after r165651.

        * platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Replaced Path by Path2D.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt: Ditto.

2014-03-21  Zalan Bujtas  <zalan@apple.com>

        Generated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.

        Unreviewed TestExpectations update on ML WK2 debug.

        * platform/mac-wk2/TestExpectations:

2014-03-21  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix after my last checkin. Add missing test expectation.

        * http/tests/media/track/track-webvtt-slow-loading-expected.txt: Added.

2014-03-21  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] incorrect clipping when the content has CSS Transforms like rotation
        https://bugs.webkit.org/show_bug.cgi?id=110198

        Reviewed by David Hyatt.

        Added test that confirms the issue of transformed content being clipped was fixed.

        * fast/regions/overflow-content-transform-rotate-expected.html: Added.
        * fast/regions/overflow-content-transform-rotate.html: Added.

2014-03-20  Brent Fulgham  <bfulgham@apple.com>

        Merge WebVTT Tokenizer Updates
        https://bugs.webkit.org/show_bug.cgi?id=130565

        Reviewed by Eric Carlson.

        Merged from Blink (patch by fs@opera.com):
        https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
        http://crbug.com/73813002
        https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
        http://crbug.com/77553004
        https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
        http://crbug.com/78833002
        https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
        http://crbug.com/81113003
        https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
        http://crbug.com/97103002
        https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
        http://crbug.com/98763004
        https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
        http://crbug.com/118263002

        * TestExpectations:
        * media/track/captions-webvtt/tc022-entities-wrong.vtt:
        * media/track/captions-webvtt/tc022-entities.vtt:
        * media/track/track-webvtt-tc022-entities-expected.txt:
        * media/track/track-webvtt-tc022-entities.html:

2014-03-21  Frédéric Wang  <fred.wang@free.fr>

        Bug 130345 - Refine childShouldCreateRenderer for MathML elements
        https://bugs.webkit.org/show_bug.cgi?id=130345

        Reviewed by Chris Fleizach.

        We update the references of some tests after the additional
        restrictions on MathML children. We replace the foreign-*.html with a
        single foreign-element-in-token.html and write more tests to verify the
        accepted and reject content.

        * mathml/msub-anonymous-child-render-crash-expected.txt: Update reference now that text is only allowed in some token MathML elements.
        * mathml/presentation/annotation-children-expected.html: Added.
        * mathml/presentation/annotation-children.html: Added.
        * mathml/presentation/foreign-element-in-annotation-xml.html: Added.
        * mathml/presentation/foreign-element-in-annotation-xml-expected.txt: Added.
        * mathml/presentation/foreign-element-in-token-expected.txt: Added.
        * mathml/presentation/foreign-element-in-token.html: Added.
        * mathml/presentation/foreign-mi-expected-mismatch.html: Removed.
        * mathml/presentation/foreign-mi.html: Removed.
        * mathml/presentation/foreign-mn-expected-mismatch.html: Removed.
        * mathml/presentation/foreign-mn.html: Removed.
        * mathml/presentation/foreign-mtext-expected-mismatch.html: Removed.
        * mathml/presentation/foreign-mtext-rejected-expected.html: Removed.
        * mathml/presentation/foreign-mtext-rejected.html: Removed.
        * mathml/presentation/foreign-mtext.html: Removed.
        * mathml/presentation/semantics-2.html: the mtext elements can not be direct child of annotation-xml. wrap them in a math tag.
        * mathml/presentation/semantics-3.html: ditto.
        * mathml/presentation/semantics-4.html: ditto.

2014-03-21  Mark Lam  <mark.lam@apple.com>

        StackLayoutPhase should find the union'ed calleeVariable before accessing its machineLocal.
        <https://webkit.org/b/130566>

        Reviewed by Filip Pizlo.

        * js/regress-130566-expected.txt: Added.
        * js/regress-130566.html: Added.
        * js/script-tests/regress-130566.js: Added.
        (test.doTest):
        (test.for):
        (test):

2014-03-21  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: RenderBox is positioned off by one when non-compositing transform is present.
        https://bugs.webkit.org/show_bug.cgi?id=130430

        Reviewed by Simon Fraser.

        div {
            position: absolute;
             top: 10.25px;
             left: 10.25px;
         }

         The <div> with (10.25px, 10.25px) is painted to (10.5px, 10.5px) after device pixel snapping on 2x display.
         Moving <div> to its own RenderLayer should not change the painting position.

         div {
             position: absolute;
             top: 10.25px;
             left: 10.25px;
             -webkit-transform: rotate(0deg);
         }

        When we paint the RenderLayer's content, the graphics context is translated by the rounded value of
        renderer's offset from parent.

            (10.25px,10.25px) -> rounded to (10.5px,10.5px).

        When the translate moves the graphics context's origin over the renderer's top-left position,
        the renderer's relative top-left coordinates end up being negative.

            Graphics context translated by (10.5px,10.5px) -> pushes renderer's relative top-left coords to (-0.25px,-0.25px)

        When we round (pixel snap) these negative coordinates, half-way values get translated to the wrong direction.

        (relative coords (-0.25px,-0.25px) -> pixel snapped to (-0.5px,-0.5px) -> final absolute(painting) coords (10px,10px))

        This patch changes the rounding to flooring to ensure that the relative top-left position never gets negative as the result
        of subpixel shifting.

        * TestExpectations:
        * compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present-expected.html: Added.
        * compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html: Added.
        * fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present-expected.html: Added.
        * fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html: Added.

2014-03-19  Frédéric Wang  <fred.wang@free.fr>

        Update some references for MathML pixels tests
        https://bugs.webkit.org/show_bug.cgi?id=130455.

        Reviewed by Chris Fleizach.

        * TestExpectations: Remove failures for MathML pixel tests.
        * mathml/presentation/mo.xhtml: Removed.
        * mathml/presentation/roots.xhtml: Remove the test that is already covered by bug95015.html.
        * mathml/presentation/row.xhtml: Removed.
        * platform/efl/TestExpectations: Remove failure for mo-stretch.html
        * platform/efl/mathml/presentation/mo-stretch-expected.png: Update reference.
        * platform/efl/mathml/presentation/mo-stretch-expected.txt: Update reference.
        * platform/efl/mathml/presentation/roots-expected.png: Update reference.
        * platform/efl/mathml/presentation/roots-expected.txt: Update reference.
        * platform/gtk/mathml/presentation/mo-expected.png: Removed.
        * platform/gtk/mathml/presentation/mo-expected.txt: Removed.
        * platform/gtk/mathml/presentation/roots-expected.png: Update reference.
        * platform/gtk/mathml/presentation/roots-expected.txt: Update reference.
        * platform/gtk/mathml/presentation/row-expected.png: Removed.
        * platform/gtk/mathml/presentation/row-expected.txt: Removed.
        * platform/mac/mathml/presentation/mo-expected.png: Removed.
        * platform/mac/mathml/presentation/mo-expected.txt: Removed.
        * platform/mac/mathml/presentation/roots-expected.txt: Update reference.
        * platform/mac/mathml/presentation/row-expected.txt: Removed.
        * platform/mac/mathml/presentation/row-expected.txt: Removed.
        * platform/win/TestExpectations: Remove failure for mo-stretch.html and mspace-children.html

2014-03-21  Andreas Kling  <akling@apple.com>

        HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
        <rdar://problem/15675780>

        Merge Blink r156744 by Adam Klein.

        * fast/frames/set-iframe-src-in-pagehide-crash-expected.txt: Added.
        * fast/frames/set-iframe-src-in-pagehide-crash.html: Added.

2014-03-20  Brian Burg  <bburg@apple.com>

        Web Inspector: add frontend controller and models for replay sessions
        https://bugs.webkit.org/show_bug.cgi?id=130145

        Reviewed by Joseph Pecoraro.

        Add tests for existing nondeterministic inputs handled in JSC.
        They are skipped for all platforms until WEB_REPLAY is enabled.

        The new mechanism here is the single-segment replay reftest. It will
        load the test page once to inject test code into the inspector. Then,
        the reftest will reload the test page and start capturing. The test
        page performs some nondeterministic computation before the load event.
        Then, the inspector test dumps the computed nondeterministic state.
        Capturing is stopped, and the session is replayed once. When the load
        event fires on the replayed page execution, the nondeterministic states
        from capturing and replaying are compared. They should be the same.

        * inspector/replay/javascript-random-seed-expected.txt: Added.
        * inspector/replay/javascript-random-seed.html: Added.
        * inspector/replay/replay-test.js: Added. This contains the bulk of
        the replay-specific testing logic for the added tests.

        (InspectorTestProxy.registerInitializer.):
        (InspectorTestProxy.registerInitializer):

2014-03-20  Brent Fulgham  <bfulgham@apple.com>

        Rename TextTrackRegion/TextTrackRegionList to VTTRegion/VTTRegionList
        https://bugs.webkit.org/show_bug.cgi?id=130543

        Reviewed by Dean Jackson.

        Merged from Blink (patch by philipj@opera.com):
        https://chromium.googlesource.com/chromium/blink/+/69ee6d3399d64163e4936ac1bde222036c54c4b8
        http://crbug.com/55653003

        * media/track/regions-webvtt/text-track-cue-region-attribute.html:
        * media/track/regions-webvtt/text-track-region-constructor-expected.txt: Removed.
        * media/track/regions-webvtt/text-track-region-constructor.html: Removed.
        * media/track/regions-webvtt/text-track-region-display-expected.txt: Removed.
        * media/track/regions-webvtt/text-track-region-display.html: Removed.
        * media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Removed.
        * media/track/regions-webvtt/text-track-region-dom-layout.html: Removed.
        * media/track/regions-webvtt/text-track-region-list-expected.txt: Removed.
        * media/track/regions-webvtt/text-track-region-list.html: Removed.
        * media/track/regions-webvtt/text-track-region-parser-expected.txt: Removed.
        * media/track/regions-webvtt/text-track-region-parser.html: Removed.
        * media/track/regions-webvtt/vtt-region-constructor-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor-expected.txt.
        * media/track/regions-webvtt/vtt-region-constructor.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor.html.
        * media/track/regions-webvtt/vtt-region-display-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display-expected.txt.
        * media/track/regions-webvtt/vtt-region-display.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display.html.
        * media/track/regions-webvtt/vtt-region-dom-layout-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout-expected.txt.
        * media/track/regions-webvtt/vtt-region-dom-layout.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout.html.
        * media/track/regions-webvtt/vtt-region-list-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list-expected.txt.
        * media/track/regions-webvtt/vtt-region-list.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list.html.
        * media/track/regions-webvtt/vtt-region-parser-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser-expected.txt.
        * media/track/regions-webvtt/vtt-region-parser.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser.html.

2014-03-20  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] clamp RasterShape shapeMargin to reference box size
        https://bugs.webkit.org/show_bug.cgi?id=130350

        Reviewed by Dean Jackson.

        Verify that a very large shape-margin value combined with a very small
        shape-outside image defines a shape that matches the shape-outside
        element's margin-box.

        * fast/shapes/shape-outside-floats/shape-outside-one-pixel-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-one-pixel.html: Added.

2014-03-20  Beth Dakin  <bdakin@apple.com>

        Implement contentInset for Mac WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=130273

        Reviewed by Simon Fraser.

        Add two tests for hit-testing with a topContentInset.

        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html: Added.
        * platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html: Added.

2014-03-20  Brent Fulgham  <bfulgham@apple.com>

        Add a flushing mechanism for the WebVTTParser
        https://bugs.webkit.org/show_bug.cgi?id=130532

        Reviewed by Eric Carlson.

        Merged from Blink (patch by vcarbune@chromium.org):
        https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
        http://crbug.com/54203003
        https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
        http://crbug.com/59453002
        https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
        http://crbug.com/75233002
        https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
        http://crbug.com/52713005
        https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
        http://crbug.com/64303004
        https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
        http://crbug.com/96933004
        https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
        http://crbug.com/98783005
        https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
        http://crbug.com/104713002

        * http/tests/media/track: Added.
        * http/tests/media/track/track-webvtt-slow-loading-2-expected.txt: Added.
        * http/tests/media/track/track-webvtt-slow-loading-2.html: Added.
        * http/tests/media/track/track-webvtt-slow-loading.html: Added.
        * media/track/captions-webvtt/captions-multiline-lf.vtt: Added.
        * media/track/track-webvtt-tc023-markup.html:

2014-03-20  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] getClientRects returns wrong rectangle
        https://bugs.webkit.org/show_bug.cgi?id=128614

        Reviewed by Sam Weinig.

        Added fast/multicol/newmulticol/client-rects.html and beefed up existing
        fast/multicol/client-rects.html to use more writing modes.

        * fast/multicol/client-rects.html:
        * fast/multicol/newmulticol/client-rects-expected.html: Added.
        * fast/multicol/newmulticol/client-rects.html: Added.
        * platform/mac/fast/multicol/client-rects-expected.png:
        * platform/mac/fast/multicol/client-rects-expected.txt:

2014-03-19  Oliver Hunt  <oliver@apple.com>

        Incorrect behavior when mutating a typed array during set.
        https://bugs.webkit.org/show_bug.cgi?id=130428

        Reviewed by Geoffrey Garen.

        Test behaviour of TypedArray.set(array) when we neuter the array.

        * js/typed-array-mutated-during-set-expected.txt: Added.
        * js/typed-array-mutated-during-set.html: Added.

2014-03-20  Daniel Bates  <dabates@apple.com>

        Preserve original document URL for XSSAuditor reports

        Merged from Blink (patch by Tom Sepez):
        https://src.chromium.org/viewvc/blink?view=rev&revision=158406

        * http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt: Added.
        * http/tests/security/xssAuditor/report-script-tag-replace-state.html: Added.
        * http/tests/security/xssAuditor/resources/echo-intertag.pl:

2014-03-20  Daniel Bates  <dabates@apple.com>

        XSSAuditor bypass with frameset tags

        Merged from Blink (patch by Tom Sepez):
        https://src.chromium.org/viewvc/blink?view=rev&revision=157794

        * http/tests/security/xssAuditor/frameset-injection-expected.txt: Added.
        * http/tests/security/xssAuditor/frameset-injection.html: Added.
        * http/tests/security/xssAuditor/resources/echo-intertag.pl:

2014-03-20  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Cleanup scrollable regions tests
        https://bugs.webkit.org/show_bug.cgi?id=130505

        Reviewed by Mihnea Ovidenie.

        Tests should only display red in case of failure. Purpose of the test should be very clearly stated.

        * fast/regions/scrollable-last-region-expected.html:
        * fast/regions/scrollable-last-region.html:
        * fast/regions/scrollable-regions-hit-testing-inside-expected.html:
        * fast/regions/scrollable-regions-hit-testing-inside.html:
        * fast/regions/scrollable-single-region-bt-expected.html:
        * fast/regions/scrollable-single-region-bt.html:
        * fast/regions/scrollable-single-region-expected.html:
        * fast/regions/scrollable-single-region-lr-expected.html:
        * fast/regions/scrollable-single-region-lr.html:
        * fast/regions/scrollable-single-region-relative-element-expected.html:
        * fast/regions/scrollable-single-region-relative-element.html:
        * fast/regions/scrollable-single-region-rl-expected.html:
        * fast/regions/scrollable-single-region-rl.html:
        * fast/regions/scrollable-single-region.html:
        * fast/regions/wheel-scroll-abspos-expected.html:
        * fast/regions/wheel-scroll-abspos.html:
        * fast/regions/wheel-scroll-expected.html:
        * fast/regions/wheel-scroll.html:
        * fast/regions/wheel-scrollable-single-region-expected.html:
        * fast/regions/wheel-scrollable-single-region.html:

2014-03-20  Simon Fraser  <simon.fraser@apple.com>

        A completed fill-forwards animation should not disable overlap testing
        https://bugs.webkit.org/show_bug.cgi?id=130522
        <rdar://problem/15862395>

        Reviewed by Dean Jackson.
        
        Tests that dump layer trees when a fill-forwards animation has finished,
        both when the final keyframe causes overlap, and when it does not.

        * compositing/animation/filling-animation-overlap-at-end-expected.txt: Added.
        * compositing/animation/filling-animation-overlap-at-end.html: Added.
        * compositing/animation/filling-animation-overlap-expected.txt: Added.
        * compositing/animation/filling-animation-overlap.html: Added.
        * compositing/animation/layer-for-filling-animation-expected.txt: Added.
        * compositing/animation/layer-for-filling-animation.html: Added.

2014-03-20  Dirk Schulze  <krit@webkit.org>

        Canvas methods clip/fill/stroke should not except 0 argument
        https://bugs.webkit.org/show_bug.cgi?id=130497

        Reviewed by Dean Jackson.

        Add more exception tests for fill/stroke/clip.

        * fast/canvas/canvas-clip-path-expected.txt:
        * fast/canvas/canvas-fill-path-expected.txt:
        * fast/canvas/canvas-stroke-path-expected.txt:
        * fast/canvas/script-tests/canvas-clip-path.js:
        * fast/canvas/script-tests/canvas-fill-path.js:
        * fast/canvas/script-tests/canvas-stroke-path.js:

2014-03-20  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        Unreviewed GTK Gardening.

        Update expectation of accessibility/table-detection.html after r165535.
        Update expectation of accessibility/aria-hidden-false-works-in-subtrees.html.

        * platform/gtk/accessibility/aria-hidden-false-works-in-subtrees-expected.txt:
        * platform/gtk/accessibility/table-detection-expected.txt:

2014-03-20  Mihai Tica  <mitica@adobe.com>

        [CSS Blending] Blending operation is not isolated when setting z-index on parent from javascript
        https://bugs.webkit.org/show_bug.cgi?id=129307

        Reviewed by Dean Jackson.

        Test if setting or unsetting stacking context or blend mode from script correctly updates blending
        isolation.

        * css3/compositing/blend-mode-background.html: Added.
        * fast/repaint/blend-mode-isolate-stacking-context-expected.txt: Added.
        * fast/repaint/blend-mode-isolate-stacking-context.html: Added.
        * platform/mac/css3/compositing/blend-mode-background-expected.png: Added.
        * platform/mac/css3/compositing/blend-mode-background-expected.txt: Added.

2014-03-20  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Remove "visibility:hidden" from overflow-scrollable* tests
        https://bugs.webkit.org/show_bug.cgi?id=130510

        Reviewed by Andrei Bucur.

        The visibility hidden option was needed to prevent these tests from failing before the 
        visual overflow was properly implemented (bug 118665). It is now no longer required.

        * fast/regions/overflow-scrollable-rel-pos-fragment-expected.html:
        * fast/regions/overflow-scrollable-rel-pos-fragment.html:
        * fast/regions/overflow-scrollable-rotated-fragment-expected.html:
        * fast/regions/overflow-scrollable-rotated-fragment.html:
        * fast/regions/overflow-scrollable-unsplittable-fragment-expected.html:
        * fast/regions/overflow-scrollable-unsplittable-fragment.html:

2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>

        "input" event is not fired when changing a select element's value
        https://bugs.webkit.org/show_bug.cgi?id=117526

        Reviewed by Antti Koivisto.

        Add tests to verify that input event is dispatched when listbox
        or menulist values are modified.

        * fast/forms/select/listbox-oninput-fired-expected.txt: Added.
        * fast/forms/select/listbox-oninput-fired.html: Added.
        * fast/forms/select/menulist-oninput-fired-expected.txt: Added.
        * fast/forms/select/menulist-oninput-fired.html: Added.

2014-03-20  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] The height of a scrollable element flowed inside a scrollable region is not computed correctly
        https://bugs.webkit.org/show_bug.cgi?id=129487

        Reviewed by Andrei Bucur.

        Added tests for different situations using scrollable regions and fixed a couple existing tests.

        * fast/regions/clip-to-padding-box-margins.html: overflow-x and overflow-y cannot be hidden & visible.
        * fast/regions/scrollable-last-region-expected.html: "hack" no longer needed now that the scroll content size is properly computed.
        * fast/regions/scrollable-region-content-size-expected.html: Added.
        * fast/regions/scrollable-region-content-size-horiz-bt-expected.html: Added.
        * fast/regions/scrollable-region-content-size-horiz-bt.html: Added.
        * fast/regions/scrollable-region-content-size-no-overflow-expected.html: Added.
        * fast/regions/scrollable-region-content-size-no-overflow-horiz-bt-expected.html: Added.
        * fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html: Added.
        * fast/regions/scrollable-region-content-size-no-overflow-vert-rl-expected.html: Added.
        * fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html: Added.
        * fast/regions/scrollable-region-content-size-no-overflow.html: Added.
        * fast/regions/scrollable-region-content-size-relative-expected.html: Added.
        * fast/regions/scrollable-region-content-size-relative.html: Added.
        * fast/regions/scrollable-region-content-size-vert-rl-expected.html: Added.
        * fast/regions/scrollable-region-content-size-vert-rl.html: Added.
        * fast/regions/scrollable-region-content-size-vertical-lr-expected.html: Added.
        * fast/regions/scrollable-region-content-size-vertical-lr.html: Added.
        * fast/regions/scrollable-region-content-size.html: Added.
        * fast/regions/scrollable-region-scrollable-content-expected.html: Added.
        * fast/regions/scrollable-region-scrollable-content.html: Added.

2014-03-20  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
        https://bugs.webkit.org/show_bug.cgi?id=130153

        Reviewed by Simon Fraser.

        Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
        need to be propagated through the layer tree so that painting coordinates match layout coordinates.

        Subpixel accumulation through nesting (absolute positioning, 2x display):
        non-compositing case:
        (nested boxes)  (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
        div -> top: 1.3px   1.3px     1.5px      1.5px 0.2px -> snapped 0.0px -> 1.5px
         div -> top: 1.3px   2.6px     2.5px      3.0px 0.4px -> snapped 0.5px -> 2.5px
          div -> top: 1.3px   3.9px     4.0px      4.5px 0.6px -> snapped 0.5px -> 4.0px
           div -> top: 1.3px   5.2px     5.0px      6.0px 0.8px -> snapped 1.0px -> 5.0px

        compositing case:
        (nested boxes)  (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
        div -> top: 1.3px   1.3px      1.5px      1.0px + 0.3px -> snapped -> 1.5px
         div -> top: 1.3px   2.6px      2.5px      2.5px + 0.1px -> snapped -> 2.5px
          div -> top: 1.3px   3.9px      4.0px      3.5px + 0.4px -> snapped -> 4.0px
           div -> top: 1.3px   5.2px      5.0px      5.0px + 0.2px -> snapped -> 5.0px

        * compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
        * compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
        * fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
        * fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.

2014-03-20  Krzysztof Czech  <k.czech@samsung.com>

        Unreviewed EFL gardening

        Update expectation of table-detection.html after r165535.

        * platform/efl-wk2/accessibility/table-detection-expected.txt:

2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>

        Dispatch input event for Range element keyboard event
        https://bugs.webkit.org/show_bug.cgi?id=129929

        Reviewed by Kent Tamura.

        For any value update, dispatch both input and change event.
        Also removes extra dispatch change event, as event is dispatched
        from TextFieldInputType:setValue.

        Merged from Blink (patch by Habib Virji):
        https://src.chromium.org/viewvc/blink?revision=168558&view=revision

        * fast/forms/range/range-keyboard-oninput-event-expected.txt: Added.
        * fast/forms/range/range-keyboard-oninput-event.html: Added.

2014-03-20  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Content flowed in 0px height region not displayed
        https://bugs.webkit.org/show_bug.cgi?id=98265

        After the past work on overflow, this looks fixed. Add a test to make sure
        we are covered for future regressions.

        Reviewed by Andrei Bucur.

        * fast/regions/overflow-content-zero-height-region-expected.html: Added.
        * fast/regions/overflow-content-zero-height-region.html: Added.

2014-03-19  Brent Fulgham  <bfulgham@apple.com>

        Merge Misc. WebVTT Updates from Blink.
        https://bugs.webkit.org/show_bug.cgi?id=130491

        Reviewed by Eric Carlson.

        Merged from Blink (patch by vcarbune@chromium.org):
        https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
        http://crbug.com/40323003
        https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
        http://crbug.com/54463002
        https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
        http://crbug.com/55853002
        https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
        http://crbug.com/65343003
        https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
        http://crbug.com/62833005
        https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
        http://crbug.com/64273013
        https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
        http://crbug.com/101513002
        https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
        http://crbug.com/102403002
        https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
        http://crbug.com/104443002
        https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
        http://crbug.com/75243004

        * media/track/captions-webvtt/tc030-interspersed-non-cue.vtt: Added.
        * media/track/track-webvtt-tc027-empty-cue-expected.txt: Mark one test as expected to fail, since
        the test (incorrectly) expects to fail on empty cues. The test will be updated in a future patch.
        * media/track/track-webvtt-tc030-interspersed-non-cue-expected.txt: Added.
        * media/track/track-webvtt-tc030-interspersed-non-cue.html: Added.

2014-03-19  Zalan Bujtas  <zalan@apple.com>

        Generated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.

        Unreviewed TestExpectations update on ML WK2 debug.

        * platform/mac-wk2/TestExpectations:

2014-03-19  Eric Carlson  <eric.carlson@apple.com>

        media/video-remote-control-playpause.html frequently fails on the bots
        https://bugs.webkit.org/show_bug.cgi?id=130490

        Unreviewed TestExpectations update.

        * platform/mac/TestExpectations: Mark test as flakey while I try to reproduce it.

2014-03-19  Dirk Schulze  <krit@webkit.org>

        Implement isPointInPath and isPointInStroke with Path2D argument
        https://bugs.webkit.org/show_bug.cgi?id=130473

        Reviewed by Dean Jackson.

        Test isPointInPath and isPointInStroke with Path2D argument.

        * fast/canvas/canvas-path-isPointInPath-expected.txt: Added.
        * fast/canvas/canvas-path-isPointInPath.html: Added.
        * fast/canvas/canvas-path-isPointInStroke-expected.txt: Added.
        * fast/canvas/canvas-path-isPointInStroke.html: Added.
        * fast/canvas/script-tests/canvas-path-isPointInPath.js: Added.
        * fast/canvas/script-tests/canvas-path-isPointInStroke.js: Added.

2014-03-19  Antti Koivisto  <antti@apple.com>

        Crash with long selector list
        https://bugs.webkit.org/show_bug.cgi?id=123006

        Reviewed by Andreas Kling.

        * fast/css/long-selector-list-crash-expected.txt: Added.
        * fast/css/long-selector-list-crash.html: Added.

2014-03-19  Eric Carlson  <eric.carlson@apple.com>

        Make Remote Control commands testable
        https://bugs.webkit.org/show_bug.cgi?id=130358

        Reviewed by Jer Noble.

        * media/video-remote-control-playpause-expected.txt: Added.
        * media/video-remote-control-playpause.html: Added.

2014-03-19  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Improving webkitGetUserMedia error handling and error messages
        https://bugs.webkit.org/show_bug.cgi?id=130452

        Reviewed by Eric Carlson.

        Checking if first argument of webkitGetUserMedia is a valid Dictionary. If not, throw an exception with a
        clearer message of the error.

        * fast/mediastream/argument-types-expected.txt:
        * fast/mediastream/script-tests/argument-types.js:

2014-03-19  Dirk Schulze  <krit@webkit.org>

        Implement method addPath for Path2D
        https://bugs.webkit.org/show_bug.cgi?id=130461

        Reviewed by Dean Jackson.

        Test the addPath Path2D method.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * fast/canvas/canvas-path-addPath-expected.txt: Added.
        * fast/canvas/canvas-path-addPath.html: Added.

2014-03-19  Brent Fulgham  <bfulgham@apple.com>

        Fix cue rendering test and include support for left/right alignment
        https://bugs.webkit.org/show_bug.cgi?id=130406

        Reviewed by Eric Carlson.

        Merged from Blink (patch by vcarbune@chromium.org):
        https://chromium.googlesource.com/chromium/blink/+/e695703cb603421c741e59a557a7989113c13b94
        http://crbug.com/25155003

        * media/track/captions-webvtt/captions-snap-to-lines-not-set.vtt: Revised for left/right alignment tags.
        * media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Ditto.
        * media/track/track-cue-rendering-snap-to-lines-not-set.html: Ditto.

2014-03-19  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test system fix.

        * TestExpectations: I mistakenly checked in the region-webvtt tests as enabled. This feature is not
        ready to be turned on for all platforms yet.

2014-03-19  Frédéric Wang  <fred.wang@free.fr>

        Unreviewed gardening.

        * platform/efl/TestExpectations: remove failures for mo/row since they are already in skipped in the main TestExpectations.
        * platform/gtk/mathml/presentation/mspace-children-expected.png: Move mspace-children-expected.png to platform/gtk.
        * platform/gtk/mathml/presentation/mspace-children-expected.txt: Move mspace-children-expected.txt to platform/gtk.
        * platform/win/TestExpectations: remove failures for mo/row/roots since they are already in skipped in the main TestExpectations.

2014-03-19  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Transform origin is miscalculated when RenderLayer's
        offsetfromRenderer has device pixel fraction value.
        https://bugs.webkit.org/show_bug.cgi?id=129859

        Reviewed by Simon Fraser.

        We need to calculate the transformed origin using the painting coordinates to produce
        pixel precise result.

        * compositing/columns/composited-columns-expected.txt:
        * compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt:
        * compositing/repaint/resize-repaint-expected.txt:
        * platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
        * platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:

2014-03-19  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Compute region ranges for children of inline blocks
        https://bugs.webkit.org/show_bug.cgi?id=130392

        Reviewed by Andrei Bucur.

        * fast/regions/inline-block-inline-children-flowed-in-regions-expected.html: Added.
        * fast/regions/inline-block-inline-children-flowed-in-regions.html: Added.
        * fast/regions/inline-blocks-dyn-enlarged-regions-expected.html: Added.
        * fast/regions/inline-blocks-dyn-enlarged-regions.html: Added.
        * fast/regions/inline-blocks-dyn-shrunk-regions-expected.html: Added.
        * fast/regions/inline-blocks-dyn-shrunk-regions.html: Added.
        * fast/regions/inline-blocks-in-two-regions-expected.html: Added.
        * fast/regions/inline-blocks-in-two-regions.html: Added.

2014-03-19  Frédéric Wang  <fred.wang@free.fr>

        Fix reftest failure of mathml/presentation/bug95404.html.

        Unreviewed gardering.

        After bug 116600, the test is only failing because of some difference
        invisible by the naked eye, due to antialiasing of the radical symbol.

        * mathml/presentation/bug95404-expected.html: add a 2px border to prevent antialiasing.
        * mathml/presentation/bug95404.html: ditto.
        * platform/efl/TestExpectations: remove test failure.
        * platform/gtk/TestExpectations: ditto.

2014-03-18  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Strange layout for content with region breaks
        https://bugs.webkit.org/show_bug.cgi?id=121318

        Reviewed by Mihnea Ovidenie.

        The test verifies that elements specifying break-inside: avoid can't
        be splitted by forced breaks applied inside of them.

        * fast/regions/forced-break-inside-avoid-break-expected.txt: Added.
        * fast/regions/forced-break-inside-avoid-break.html: Added.

2014-03-18  Samuel White  <samuel_white@apple.com>

        AX: Not able to use arrow keys to read text with VoiceOver before selection is set someplace (anyplace).
        https://bugs.webkit.org/show_bug.cgi?id=130250

        Reviewed by Chris Fleizach.

        Added test to ensure that initial selection gets set when enhanced accessibility is enabled and an arrow key is pressed.

        * platform/mac/accessibility/selection-initial-expected.txt: Added.
        * platform/mac/accessibility/selection-initial.html: Added.

2014-03-18  Brent Fulgham  <bfulgham@apple.com>

        TextTrackRegion Not Implemented
        https://bugs.webkit.org/show_bug.cgi?id=116546

        Reviewed by Eric Carlson.

        Merged from Blink (patch by vcarbune@chromium.org):
        https://chromium.googlesource.com/chromium/blink/+/4940f89a087fea5b5ea628e98d0b355d398a9eea
        http://crbug.com/25798003

        * media/track/captions-webvtt/captions-regions.vtt: Added.
        * media/track/regions-webvtt/text-track-cue-region-attribute-expected.txt: Rebaseline.
        * media/track/regions-webvtt/text-track-region-display-expected.txt: Added.
        * media/track/regions-webvtt/text-track-region-display.html: Added.
        * media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Added.
        * media/track/regions-webvtt/text-track-region-dom-layout.html: Added.
        * media/track/regions-webvtt/text-track-region-list-expected.txt: Rebaseline.
        * media/track/regions-webvtt/text-track-region-parser-expected.txt: Rebaseline.

2014-03-18  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        Unreviewed GTK Gardening.

        Move expected accesibility results to the right path and update them.

        * platform/gtk/accessibility/aria-help-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/aria-help-expected.txt.
        * platform/gtk/accessibility/aria-hidden-false-works-in-subtrees-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/aria-hidden-false-works-in-subtrees-expected.txt.
        * platform/gtk/accessibility/fieldset-element-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/fieldset-element-expected.txt.
        * platform/gtk/accessibility/meter-element-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/meter-element-expected.txt.
        * platform/gtk/accessibility/negative-tabindex-does-not-expose-label-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/accessibility/negative-tabindex-does-not-expose-label-expected.txt.

2014-03-18  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        Unreviewed GTK gardening.

        Test fast/events/touch/touch-target-limited.html crashes.

        Some tests on editing/spelling are timing out, but not longer failing:
        editing/spelling/spellcheck-paste.html
        editing/spelling/spelling-changed-text.html
        editing/spelling/spellcheck-paste-disabled.html
        editing/spelling/spellcheck-paste-continuous-disabled.html

        * platform/gtk-wk2/TestExpectations:
        * platform/gtk/TestExpectations:

2014-03-18  Daniel Bates  <dabates@apple.com>

        REGRESSION (r162334): RenderTableCol::styleDidChange uses out-of-date table information
        https://bugs.webkit.org/show_bug.cgi?id=129561

        Reviewed by Antti Koivisto.

        Add a test to ensure that a table column propagates a style change to applicable
        table cells.

        * fast/table/update-col-width-and-remove-table-cell-crash-expected.txt: Added.
        * fast/table/update-col-width-and-remove-table-cell-crash.html: Added.

2014-03-18  Daniel Bates  <dabates@apple.com>

        REGRESSION (r163560): ASSERTION FAILED: childrenInline() in WebCore::RenderSVGText::layout
        https://bugs.webkit.org/show_bug.cgi?id=130346

        Reviewed by Andreas Kling.

        Added tests to ensure that SVG <a> and <tref> are always treated as inline-level elements.

        * svg/text/a-display-block-expected.txt: Added.
        * svg/text/a-display-block.html: Added.
        * svg/text/tref-display-inherit-expected.txt: Added.
        * svg/text/tref-display-inherit.html: Added.

2014-03-18  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] shape-outside: ellipse(50% 50% at) causes crash
        https://bugs.webkit.org/show_bug.cgi?id=130366

        Reviewed by Andreas Kling.

        Added invalid syntax tests for ellipse(.. at), circle(.. at) variations.

        * fast/shapes/parsing/parsing-shape-inside-expected.txt:
        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:

2014-03-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r165815.
        https://bugs.webkit.org/show_bug.cgi?id=130410

        Broke many VTT tests (Requested by bfulgham on #webkit).

        Reverted changeset:

        "TextTrackRegion Not Implemented"
        https://bugs.webkit.org/show_bug.cgi?id=116546
        http://trac.webkit.org/changeset/165815

2014-03-18  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>

        Bad cast with toRenderBox in WebCore::RenderView::repaintViewRectangle
        https://bugs.webkit.org/show_bug.cgi?id=129104

        Reviewed by Simon Fraser.

        * plugins/crash-invalid-data-reference-expected.txt: Added.
        * plugins/crash-invalid-data-reference.html: Added.

2014-03-18  Antti Koivisto  <antti@apple.com>

        Mutating rules returned by getMatchedCSSRules can result in crash
        https://bugs.webkit.org/show_bug.cgi?id=130209

        Reviewed by Andreas Kling.

        * fast/css/getMatchedCSSProperties-rule-mutation-expected.txt: Added.
        * fast/css/getMatchedCSSProperties-rule-mutation.html: Added.
        * fast/css/getMatchedCSSRules-crash-expected.txt: Added.
        * fast/css/getMatchedCSSRules-crash.html: Added.

2014-03-18  Brent Fulgham  <bfulgham@apple.com>

        TextTrackRegion Not Implemented
        https://bugs.webkit.org/show_bug.cgi?id=116546

        Reviewed by Eric Carlson.

        Merged from Blink (patch by vcarbune@chromium.org):
        https://chromium.googlesource.com/chromium/blink/+/4940f89a087fea5b5ea628e98d0b355d398a9eea
        http://crbug.com/25798003

        * media/track/captions-webvtt/captions-regions.vtt: Added.
        * media/track/regions-webvtt/text-track-cue-region-attribute-expected.txt: Rebaseline.
        * media/track/regions-webvtt/text-track-region-display-expected.txt: Added.
        * media/track/regions-webvtt/text-track-region-display.html: Added.
        * media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Added.
        * media/track/regions-webvtt/text-track-region-dom-layout.html: Added.
        * media/track/regions-webvtt/text-track-region-list-expected.txt: Rebaseline.
        * media/track/regions-webvtt/text-track-region-parser-expected.txt: Rebaseline.

2014-03-18  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Update baselines and test expectations
        https://bugs.webkit.org/show_bug.cgi?id=130387

        Unreviewed EFL gardening.

        * fast/events/touch/touch-slider-expected.txt:
        * fast/events/touch/touch-slider-no-js-touch-listener-expected.txt:
        Update baselines after enabling TOUCH_SLIDER macro (r165722).
        * platform/efl-wk2/TestExpectations:
        fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html
        is failing after adding in r165587
        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
        Update baselines after refactoring Path to Path2D (r165651).

2014-03-18  Ion Rosca  <rosca@adobe.com>

        Add blend mode property to dumped information in GraphicsLayer.
        https://bugs.webkit.org/show_bug.cgi?id=130331

        Reviewed by Simon Fraser.

        * css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
        * css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
        * css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt:

2014-03-17  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>

        Implement Math.hypot
        https://bugs.webkit.org/show_bug.cgi?id=129486

        Reviewed by Darin Adler.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/math-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/math.js:

2014-03-17  Jer Noble  <jer.noble@apple.com>

        Layout Test mathml/wbr-in-mroot-crash.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=130353

        Unreviewed TestExpectations update.

        * platform/efl/TestExpectations:
        * platform/mac/TestExpectations:

2014-01-29  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] getComputedStyle() not using author's order when showing named grid lines
        https://bugs.webkit.org/show_bug.cgi?id=127837

        Reviewed by David Hyatt.

        Grid line names are now shown using the exact same order as the one used in the CSS.

        * fast/css-grid-layout/named-grid-line-get-set-expected.txt:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:

2014-03-17  Gurpreet Kaur  <k.gurpreet@samsung.com>

        Safari should not render a cell if the <td> is empty
        https://bugs.webkit.org/show_bug.cgi?id=15273

        Reviewed by Darin Adler.

        * fast/table/table-cell-border-doctype-expected.html: Added.
        * fast/table/table-cell-border-doctype.html: Added.
        * fast/table/table-cell-border-no-doctype-expected.html: Added.
        * fast/table/table-cell-border-no-doctype.html: Added.
        Added new test cases to check the behaviour of table cell border when
        table has doctype/no doctype and table cell has child/nochild.

2014-03-16  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Do not compute region range for a box unless the parent has one
        https://bugs.webkit.org/show_bug.cgi?id=130249

        Reviewed by Andrei Bucur.

        * fast/regions/inline-block-flowed-in-regions-expected.html: Added.
        * fast/regions/inline-block-flowed-in-regions.html: Added.

2014-03-16  Frédéric Wang  <fred.wang@free.fr>

        [regression] foreign content not displayed in MathML
        <https://webkit.org/b/124128>

        Reviewed by Chris Fleizach.

        * mathml/presentation/foreign-mi-dynamic-expected.html: Added.
        * mathml/presentation/foreign-mi-dynamic.html: Added.
        * mathml/presentation/foreign-mi-expected-mismatch.html: Added.
        * mathml/presentation/foreign-mi.html: Added.
        * mathml/presentation/foreign-mn-expected-mismatch.html: Added.
        * mathml/presentation/foreign-mn.html: Added.
        * mathml/presentation/foreign-mtext-expected-mismatch.html: Added.
        * mathml/presentation/foreign-mtext-rejected-expected.html: Added.
        * mathml/presentation/foreign-mtext-rejected.html: Added.
        * mathml/presentation/foreign-mtext.html: Added.
        * platform/efl/TestExpectations: reenable the test.
        * platform/gtk/TestExpectations: ditto.

2014-03-14  Oliver Hunt  <oliver@apple.com>

        Reinstate intialiser syntax in for-in loops
        https://bugs.webkit.org/show_bug.cgi?id=130269

        Reviewed by Michael Saboff.

        Update and add test.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2014-03-14  Mark Lam  <mark.lam@apple.com>

        Accessing __lookupGetter__ and __lookupSetter__ should not crash the VM when undefined.
        <https://webkit.org/b/130279>

        Reviewed by Filip Pizlo.

        * js/property-getters-and-setters-expected.txt:
        * js/script-tests/property-getters-and-setters.js:
        (o11.new.Object.getB):
        (o12.new.Object.setB):

2014-03-14  Maciej Stachowiak  <mjs@apple.com>

        Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
        https://bugs.webkit.org/show_bug.cgi?id=130276
        <rdar://problem/16266927>

        Reviewed by Simon Fraser.

        * editing/resources/TIFF-pasteboard-data.dat:
        * fast/backgrounds/repeat/resources/gradient.gif:
        * fast/forms/resources/apple.gif:
        * http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag:
        * http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert:
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:
        * platform/wk2/TestExpectations:
        * webgl/1.0.1/resources/webgl_test_files/conformance/attribs/gl-vertexattribpointer-offsets.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/context/context-attribute-preserve-drawing-buffer.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/context/incorrect-context-object-behaviour.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/misc/bad-arguments-test.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/misc/invalid-passed-params.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/misc/null-object-behaviour.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/misc/type-conversion-test.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/programs/get-active-test.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/line-loop-tri-fan.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/triangle.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/resources/fragmentShader.frag:
        * webgl/1.0.1/resources/webgl_test_files/conformance/resources/vertexShader.vert:
        * webgl/1.0.1/resources/webgl_test_files/conformance/resources/webgl-test.js:
        * webgl/1.0.1/resources/webgl_test_files/conformance/state/gl-get-calls.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/state/gl-object-get-calls.html:
        * webgl/1.0.1/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
        * webgl/1.0.1/resources/webgl_test_files/extra/canvas-compositing-test.html:
        * webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag:
        * webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert:
        * webgl/resources/webgl_test_files/conformance/resources/fragmentShader.frag:
        * webgl/resources/webgl_test_files/conformance/resources/vertexShader.vert:

2014-03-14  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: border-radius painting falls back to rectangle at subpixel positions.
        https://bugs.webkit.org/show_bug.cgi?id=130272

        Reviewed by Simon Fraser.

        Rounded rectangle's radius needs adjustment after its containing rect gets pixel snapped.
        Keeping the old radius value could make rounded rectangle non-renderable, because the
        originally calculated radius length does not fit the snapped rectangle anymore.

        * fast/borders/hidpi-border-radius-outer-border-goes-rectangle-expected-mismatch.html: Added.
        * fast/borders/hidpi-border-radius-outer-border-goes-rectangle.html: Added.

2014-03-14  Byungseon Shin  <sun.shin@lge.com>

        Incorrect Date returned between March 1, 2034 and February 28, 2100.
        https://bugs.webkit.org/show_bug.cgi?id=130123

        Reviewed by Mark Lam.

        Fix logic by using predefined Date APIs.

        * js/date-constructor-expected.txt:
        * js/script-tests/date-constructor.js:
        (testDate):

2014-03-14  James Craig  <jcraig@apple.com>

        AX: AccessibilityObject::invalidStatus() is incorrect when aria-invalid="undefined" or whitespace
        https://bugs.webkit.org/show_bug.cgi?id=130071

        Reviewed by Chris Fleizach.

        Accounted for whitespace values and the explicit string, "undefined".

        * accessibility/aria-invalid-expected.txt:
        * accessibility/aria-invalid.html:

2014-03-14  Bear Travis  <betravis@adobe.com>

        [CSS Shapes] CSS parser accepts trailing position arguments
        https://bugs.webkit.org/show_bug.cgi?id=129514

        Reviewed by Andreas Kling.

        Add a shape with an additional argument trailing the position
        in the css shapes functions.

        * fast/shapes/parsing/parsing-shape-inside-expected.txt:
        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:

2014-03-14  Dirk Schulze  <krit@webkit.org>

        Refactor Path to Path2D and remove currentPath
        https://bugs.webkit.org/show_bug.cgi?id=130236

        Reviewed by Dean Jackson.

        Add new tests for Path2D object and new functions fill(),
        stroke() and clip() with Path2D argument.

        * fast/canvas/canvas-clip-path-expected.txt: Added.
        * fast/canvas/canvas-clip-path.html: Added.
        * fast/canvas/canvas-currentPath-crash-expected.txt: Removed.
        * fast/canvas/canvas-currentPath-crash.html: Removed.
        * fast/canvas/canvas-currentPath-expected.txt: Removed.
        * fast/canvas/canvas-currentPath.html: Removed.
        * fast/canvas/canvas-fill-path-expected.txt: Added.
        * fast/canvas/canvas-fill-path.html: Added.
        * fast/canvas/canvas-path-constructors-expected.txt:
        * fast/canvas/canvas-path-object-expected.txt:
        * fast/canvas/canvas-stroke-path-expected.txt: Added.
        * fast/canvas/canvas-stroke-path.html: Added.
        * fast/canvas/script-tests/canvas-clip-path.js: Added.
        (areaColor):
        * fast/canvas/script-tests/canvas-currentPath-crash.js: Removed.
        * fast/canvas/script-tests/canvas-currentPath.js: Removed.
        * fast/canvas/script-tests/canvas-fill-path.js: Added.
        (areaColor):
        * fast/canvas/script-tests/canvas-path-constructors.js:
        * fast/canvas/script-tests/canvas-path-object.js:
        * fast/canvas/script-tests/canvas-stroke-path.js: Added.
        (areaColor):

2014-03-14  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Suppress axParentNodeId entirely in getAccessibilityPropertiesForNode.html b/c the int value isn't consistent enough for a layout test.
        https://bugs.webkit.org/show_bug.cgi?id=130259

        Reviewed by Alexey Proskuryakov.

        Removing flaky nodeId-based output from test.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-14  Jer Noble  <jer.noble@apple.com>

        [EME] Extend the lifetime of MediaKeySession.
        https://bugs.webkit.org/show_bug.cgi?id=129841

        Reviewed by Eric Carlson.

        * media/encrypted-media/encrypted-media-session-lifetime-expected.txt: Added.
        * media/encrypted-media/encrypted-media-session-lifetime.html: Added.

2014-03-11  Oliver Hunt  <oliver@apple.com>

        Improve dom error messages
        https://bugs.webkit.org/show_bug.cgi?id=130103

        Reviewed by Andreas Kling.

        Update test results for new text.

        * fast/canvas/webgl/bad-arguments-test-expected.txt:
        * fast/canvas/webgl/null-object-behaviour-expected.txt:
        * fast/canvas/winding-enumeration-expected.txt:
        * fast/workers/storage/open-database-inputs-sync-expected.txt:
        * js/dom/dom-as-prototype-assignment-exception-expected.txt:
        * js/dom/dom-attributes-on-mismatch-type-expected.txt:
        * js/dom/toString-and-valueOf-override-expected.txt:
        * svg/dom/SVGLengthList-basics-expected.txt:
        * svg/dom/SVGMatrix-expected.txt:
        * svg/dom/SVGNumberList-basics-expected.txt:
        * svg/dom/SVGPoint-expected.txt:
        * svg/dom/SVGPointList-basics-expected.txt:
        * svg/dom/SVGTransform-expected.txt:
        * svg/dom/SVGTransformList-basics-expected.txt:
        * svg/dom/SVGTransformList-expected.txt:

2014-03-14  Bear Travis  <betravis@adobe.com>

        [CSS Shapes] polygon default fill-rule should be omitted from the serialization
        https://bugs.webkit.org/show_bug.cgi?id=129840

        Reviewed by Dirk Schulze.

        Modifying tests to expect the default fill-rule to be omitted. In addition,
        animation-test-helpers now parses its arguments as an unbounded list, rather
        than as a fixed number of capturing parentheses.

        * animations/resources/animation-test-helpers.js:
        * css3/masking/clip-path-animation-expected.txt:
        * css3/masking/clip-path-animation.html:
        * fast/masking/parsing-clip-path-shape-expected.txt:
        * fast/masking/parsing-clip-path-shape.html:
        * fast/shapes/parsing/parsing-shape-inside-expected.txt:
        * fast/shapes/parsing/parsing-shape-lengths-expected.txt:
        * fast/shapes/parsing/parsing-shape-lengths.html:
        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:
        * fast/shapes/shape-inside/shape-inside-animation-expected.txt:
        * fast/shapes/shape-inside/shape-inside-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
        * fast/shapes/shape-outside-floats/shape-outside-animation.html:

2014-03-14  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Expose Accessibility Tree parent of the selected node
        https://bugs.webkit.org/show_bug.cgi?id=129943

        Reviewed by Timothy Hatcher.

        Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

        Web Accessibility Node Inspector now displays a link to the AX parent node,
        because it's not a 1:1 match with the DOMNode parent.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-14  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: LayoutTests/compositing/hidpi-simple-container-layer-on-device-pixel-expected.html fails on Mountain Lion WK2 debug
        https://bugs.webkit.org/show_bug.cgi?id=130175

        Unreviewed TestExpectations update on ML WK2 debug.

        * platform/mac-wk2/TestExpectations:

2014-03-14  Andres Gomez  <agomez@igalia.com>

        [GStreamer] WebKit gets stalled when trying to play a stream
        https://bugs.webkit.org/show_bug.cgi?id=125926

        Reviewed by Philippe Normand.

        Added new test for checking the playback on Icecast/Shoutcast
        streamed media.

        * http/tests/media/media-play-stream-chunked-icy-expected.txt: Added.
        * http/tests/media/media-play-stream-chunked-icy.html: Added.
        * http/tests/media/resources/create-id3-db.php: Added.
        * http/tests/media/resources/serve-video.php: Added support for
        chunked streams and Icecast/Shoutcast headers.
        * http/tests/resources/dir-helpers.php: Added.
        * http/tests/resources/portabilityLayer.php: Added a couple of new
        fallback functions when they are not available in old PHP
        versions.
        * media/content/metadata.db: Added.
        * media/content/silence.mp3: Added.
        * platform/mac/TestExpectations: Skipped on Mavericks Mac port.

2014-03-14  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Inline-block child of content node incorrectly clipped
        https://bugs.webkit.org/show_bug.cgi?id=130229

        Reviewed by Andrei Bucur.

        * fast/regions/inlineblock-child-inlineblock-contentnode-in-region-expected.html: Added.
        * fast/regions/inlineblock-child-inlineblock-contentnode-in-region.html: Added.

2014-03-14  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid layout] Initial position in span not correctly computed sometimes
        https://bugs.webkit.org/show_bug.cgi?id=130124

        Reviewed by Darin Adler.

        Added the grid positioning example mentioned in the specs which
        covers this bug and some other cases.

        * fast/css-grid-layout/grid-item-named-grid-line-resolution-expected.txt:
        * fast/css-grid-layout/grid-item-named-grid-line-resolution.html:

2014-03-12  Gavin Barraclough  <barraclough@apple.com>

        Reduce memory use for static property maps
        https://bugs.webkit.org/show_bug.cgi?id=129986

        Reviewed by Andreas Kling.

        Static property tables are currently duplicated on first use from read-only memory into dirty memory
        in every process, and since the entries are large (48 bytes) and the tables can be unusually sparse
        (we use a custom hash table without a rehash) a lot of memory may be wasted.

        * inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt:
        * inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt:
        * inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
            - Properties now iterated in correct order, not permuted by hash table.

2014-03-13  Manish R Gurnaney  <m.gurnaney@samsung.com>

        Scroll size is not recalculated when absolute left of child is updated
        https://bugs.webkit.org/show_bug.cgi?id=123958

        Reviewed by Simon Fraser.

        * fast/css/display-inline-block-scrollbar-expected.txt: Added.
        * fast/css/display-inline-block-scrollbar.html: Added.
        Added test case to check that scroll size is recalculated when absolute
        left of child is updated.

2014-03-13  Dirk Schulze  <krit@webkit.org>

        [SVG2] support paint-order presentation attribute
        https://bugs.webkit.org/show_bug.cgi?id=129373

        Reviewed by Dean Jackson.

        Test parsing and bahvior of the paint-order property.

        * svg/paint-order/paint-order-fill-expected.svg: Added.
        * svg/paint-order/paint-order-fill-markers-expected.svg: Added.
        * svg/paint-order/paint-order-fill-markers.svg: Added.
        * svg/paint-order/paint-order-fill.svg: Added.
        * svg/paint-order/paint-order-markers-expected.svg: Added.
        * svg/paint-order/paint-order-markers-stroke-expected.svg: Added.
        * svg/paint-order/paint-order-markers-stroke.svg: Added.
        * svg/paint-order/paint-order-markers.svg: Added.
        * svg/paint-order/paint-order-normal-expected.svg: Added.
        * svg/paint-order/paint-order-normal.svg: Added.
        * svg/paint-order/paint-order-stroke-expected.svg: Added.
        * svg/paint-order/paint-order-stroke-marker-expected.svg: Added.
        * svg/paint-order/paint-order-stroke-marker.svg: Added.
        * svg/paint-order/paint-order-stroke.svg: Added.
        * svg/paint-order/paint-order-text-markers-expected.svg: Added.
        * svg/paint-order/paint-order-text-markers.svg: Added.
        * svg/paint-order/paint-order-text-normal-expected.svg: Added.
        * svg/paint-order/paint-order-text-normal.svg: Added.
        * svg/paint-order/paint-order-text-stroke-expected.svg: Added.
        * svg/paint-order/paint-order-text-stroke.svg: Added.
        * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added.
        * svg/paint-order/paint-order-text-tspan-001.svg: Added.
        * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added.
        * svg/paint-order/paint-order-text-tspan-002.svg: Added.
        * svg/paint-order/parsing-paint-order-expected.txt: Added.
        * svg/paint-order/parsing-paint-order.html: Added.

2014-03-13  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector
        https://bugs.webkit.org/show_bug.cgi?id=129779

        Reviewed by Timothy Hatcher.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        Updated test.

2014-03-13  Daniel Bates  <dabates@apple.com>

        REGRESSION (r160806): Incorrect cascade order of prefixed and non-prefixed variants of
        CSS properties box-shadow and background-{clip, origin, size}
        https://bugs.webkit.org/show_bug.cgi?id=130102
        <rdar://problem/16187037>

        Reviewed by Andreas Kling.

        Add tests to ensure that we correctly cascade the prefixed and non-prefixed variants
        of the CSS properties box-shadow and background-{clip, origin, size}.

        * fast/css/cascade/background-clip-and-webkit-background-clip-cascade-order-expected.html: Added.
        * fast/css/cascade/background-clip-and-webkit-background-clip-cascade-order.html: Added.
        * fast/css/cascade/background-origin-and-webkit-background-origin-cascade-order-expected.html: Added.
        * fast/css/cascade/background-origin-and-webkit-background-origin-cascade-order.html: Added.
        * fast/css/cascade/background-size-and-webkit-background-size-cascade-order-expected.html: Added.
        * fast/css/cascade/background-size-and-webkit-background-size-cascade-order.html: Added.
        * fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order-expected.html: Added.
        * fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html: Added.
        * fast/css/resources/green-128x128.png: Added.
        * fast/css/resources/green-square-above-red-square.png: Added.
        * fast/css/resources/red-square-above-green-square.png: Added.
        * fast/css/resources/red-square-in-green-square.png: Added.

2014-03-13  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r165540.
        https://bugs.webkit.org/show_bug.cgi?id=130199

        caused 1 hidpi test fail (Requested by zalan on #webkit).

        Reverted changeset:

        "Subpixel rendering: Nested layers with subpixel accumulation
        paint to wrong position."
        https://bugs.webkit.org/show_bug.cgi?id=130153
        http://trac.webkit.org/changeset/165540

2014-03-13  Andres Gomez  <agomez@igalia.com>

        Unreviewed, rolling out r165536.

        It breaks http/tests/media/media-play-stream-chunked-icy.html

        Reverted changeset:

        "[GStreamer] WebKit gets stalled when trying to play a stream"
        https://bugs.webkit.org/show_bug.cgi?id=125926
        http://trac.webkit.org/changeset/165536

2014-03-13  Brian Burg  <bburg@apple.com>

        Web Inspector: Remove unused callId parameter from evaluateInWebInspector
        https://bugs.webkit.org/show_bug.cgi?id=129744

        Reviewed by Timothy Hatcher.

        * inspector/inspector-test.js:
        (runTest): Stop passing a dummy argument to TestRunner.evaluateInWebInspector.

2014-03-13  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
        https://bugs.webkit.org/show_bug.cgi?id=130153

        Reviewed by Simon Fraser.

        Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
        need to be propagated through the layer tree so that painting coordinates match layout coordinates.
        
        Compositing case: (absolute positioning, 2x display)
        parent layer pos(0.3, 0.3) -> floored painting position (0, 0)
        child layer pos(10.2, 10.2) -> layout offset from parent (10.2, 10.2), 
        but the actual painting offset is (10.5, 10.5) as the result of parent flooring.
        
        Non-compositing case: (absolute positioning, 2x display)
        parent layer pos(0.3, 0.3) -> GraphicsContext is translated to (0, 0).
        child layer pos(10.2, 10.2) -> layout offset from parent (10.2, 10.2)
        but the GraphicsContext's offset is (10.5, 10.5) as the result of the parent's translate.   

        In both cases, without the subpixel adjustment, we'd paint the current layer at (10.0, 10.0)
        after flooring, while its painting position is actually (10.5, 10.5).
        Subpixels do accumulate through nested layers.

        * compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
        * compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
        * fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
        * fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.

2014-03-13  Andres Gomez  <agomez@igalia.com>

        [GStreamer] WebKit gets stalled when trying to play a stream
        https://bugs.webkit.org/show_bug.cgi?id=125926

        Reviewed by Eric Carlson.

        Added new test for checking the playback on Icecast/Shoutcast
        streamed media.

        * http/tests/media/media-play-stream-chunked-icy-expected.txt: Added.
        * http/tests/media/media-play-stream-chunked-icy.html: Added.
        * http/tests/media/resources/create-id3-db.php: Added.
        * http/tests/media/resources/serve-video.php: Added support for
        chunked streams and Icecast/Shoutcast headers.
        * http/tests/resources/dir-helpers.php: Added.
        * http/tests/resources/portabilityLayer.php: Added a couple of new
        fallback functions when they are not available in old PHP
        versions.
        * media/content/metadata.db: Added.
        * media/content/silence.mp3: Added.

2014-03-12  Chris Fleizach  <cfleizach@apple.com>

        AX: accessibility data table heuristics fail on this jQuery table
        https://bugs.webkit.org/show_bug.cgi?id=129369

        Reviewed by Mario Sanchez Prada.

        * accessibility/table-detection.html:
        * platform/mac/accessibility/table-detection-expected.txt:

2014-03-12  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: LayoutTests/compositing/hidpi-simple-container-layer-on-device-pixel-expected.html fails on Mountain Lion WK2 debug
        https://bugs.webkit.org/show_bug.cgi?id=130175

        Unreviewed TestExpectations update on ML WK2 debug.

        * platform/mac-wk2/TestExpectations:

2014-03-12  Brian Burg  <bburg@apple.com>

        Web Inspector: convert model tests and inspector-test.js to use Test.html
        https://bugs.webkit.org/show_bug.cgi?id=129217

        Reviewed by Timothy Hatcher.

        * TestExpectations: Add flaky content-flow and failing shape-outside inspector tests.
        * inspector-protocol/model/probe-manager-add-remove-actions.html: Removed.
        * inspector-protocol/resources/shape-info-helper.js: Removed.
        * inspector/debugger/debugger-test.js: Added.
        (InspectorTestProxy.registerInitializer.):
        (InspectorTestProxy.registerInitializer):
        * inspector/debugger/probe-manager-add-remove-actions-expected.txt: Renamed from LayoutTests/inspector-protocol/model/probe-manager-add-remove-actions-expected.txt.
        * inspector/debugger/probe-manager-add-remove-actions.html: Added.
        * inspector/debugger/resources/breakpoint.js: Added. Copied from LayoutTests/inspector-protocol/.
        (breakpointActions):
        * inspector/dom/content-flow-content-nodes-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-nodes-expected.txt.
        * inspector/dom/content-flow-content-nodes.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-nodes.html.
        * inspector/dom/content-flow-content-removal-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-removal-expected.txt.
        * inspector/dom/content-flow-content-removal.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-removal.html.
        * inspector/dom/content-flow-list-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-list-expected.txt.
        * inspector/dom/content-flow-list.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-list.html.
        * inspector/dom/content-node-region-info-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-node-region-info-expected.txt.
        * inspector/dom/content-node-region-info.html: Renamed from LayoutTests/inspector-protocol/model/content-node-region-info.html.
        * inspector/dom/highlight-shape-outside-expected.txt: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-expected.txt.
        * inspector/dom/highlight-shape-outside-margin-expected.txt: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-margin-expected.txt.
        * inspector/dom/highlight-shape-outside-margin.html: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-margin.html.
        * inspector/dom/highlight-shape-outside.html: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside.html.
        * inspector/dom/shapes-test.js: Added. Refactor existing shape helpers to use model objects
        where it makes sense, and use easy-to-read assertions.
        (InspectorTestProxy.registerInitializer.):
        * inspector/inspector-test.js: Handle reloaded test pages better. Use better names.
        (InspectorTestProxy.registerInitializer): Renamed from `register`.
        (runTest.runInitializationMethodsInFrontend):
        (runTest.runTestMethodInFrontend):
        (runTest):
        (InspectorTestProxy.completeTest):
        * inspector/page/main-frame-resource-expected.txt: Renamed from LayoutTests/inspector-protocol/model/main-frame-resource-expected.txt.
        * inspector/page/main-frame-resource.html: Renamed from LayoutTests/inspector-protocol/model/main-frame-resource.html.
        * inspector/page/resources/dummy-page.html: Added.
        * platform/efl/TestExpectations: Move failing inspector tests to generic expectations.
        * platform/gtk/TestExpectations: Move failing inspector tests to generic expectations.
        * platform/win/TestExpectations: Move failing inspector tests to generic expectations.

2014-03-12  Brent Fulgham  <bfulgham@apple.com>

        [WebVTT] HTML5 "space" cahracters around "-->" are not required
        https://bugs.webkit.org/show_bug.cgi?id=117421

        Reviewed by Eric Carlson.

        Merged from Blink (patch by caitpotter88@gmail.com):
        https://chromium.googlesource.com/chromium/blink/+/4ef469cd627a13696b88e285ae28a60e38f9c286
        http://crbug.com/242158

        * media/track/captions-webvtt/tc008-timings-no-hour-errors.vtt:
        * media/track/captions-webvtt/tc009-timings-hour-error.vtt:
        * media/track/captions-webvtt/tc029-timings-whitespace.vtt: Added.
        * media/track/track-webvtt-tc029-timings-whitespace.html: Added.
        * media/track/track-webvtt-tc029-timings-whitespace-expected.txt: Added.

2014-03-12  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r165482.
        https://bugs.webkit.org/show_bug.cgi?id=130157

        Broke the windows build; "error C2466: cannot allocate an
        array of constant size 0" (Requested by jernoble on #webkit).

        Reverted changeset:

        "Reduce memory use for static property maps"
        https://bugs.webkit.org/show_bug.cgi?id=129986
        http://trac.webkit.org/changeset/165482

2014-03-12  Simon Fraser  <simon.fraser@apple.com>

        Have the scrolling tree track the viewport size, not the viewport rect
        https://bugs.webkit.org/show_bug.cgi?id=130141

        Reviewed by Beth Dakin.

        The scrolling tree only needs to know the size of the viewport, not its
        origin, since the origin is deduced from the updated scroll position.
        
        Tests dump a size, not a rect with a 0,0 origin now.

        * platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt:
        * platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt:
        * platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
        * platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt:

2014-03-12  Simon Fraser  <simon.fraser@apple.com>

        Change scrollOffsetForFixedPosition() to do LayoutUnit math
        https://bugs.webkit.org/show_bug.cgi?id=129981

        Reviewed by Beth Dakin.

        FrameView::scrollOffsetForFixedPosition() returned an IntSize,
        but to allow subpixel scroll offsets, we need it to return a LayoutSize.

        Update test results for the progression.

        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png:
        * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:

2014-03-12  Gavin Barraclough  <barraclough@apple.com>

        Reduce memory use for static property maps
        https://bugs.webkit.org/show_bug.cgi?id=129986

        Reviewed by Andreas Kling.

        Static property tables are currently duplicated on first use from read-only memory into dirty memory
        in every process, and since the entries are large (48 bytes) and the tables can be unusually sparse
        (we use a custom hash table without a rehash) a lot of memory may be wasted.

        * inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt:
        * inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt:
        * inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
            - Properties now iterated in correct order, not permuted by hash table.

2014-03-12  Frédéric Wang  <fred.wang@free.fr>

        [GTK] Update references for mo-stretch.html.
        https://bugs.webkit.org/show_bug.cgi?id=129366.

        Reviewed by Chris Fleizach.

        The rendering of mo-stretch has changed after the recent improvements
        to the <mo> element. This updates the reference for the GTK port.

        * platform/gtk/mathml/presentation/mo-stretch-expected.png:
        * platform/gtk/mathml/presentation/mo-stretch-expected.txt:

2014-03-12  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] Remove deprecated shapes
        https://bugs.webkit.org/show_bug.cgi?id=125235

        Reviewed by Dirk Schulze.

        Remove tests for deprecated shape syntax.

        There are also a few shape-inside tests that have been removed because
        they were very difficult to make work without the rectangle shape, and
        the future of the current shape-inside implementation is questionable
        at best.

        * animations/resources/animation-test-helpers.js:
        (parseBasicShape):
        * compositing/contents-opaque/opaque-with-clip-path-expected.html:
        * compositing/contents-opaque/opaque-with-clip-path.html:
        * css3/masking/clip-path-animation-expected.txt:
        * css3/masking/clip-path-animation.html:
        * css3/masking/clip-path-rectangle-expected.txt: Removed.
        * css3/masking/clip-path-rectangle.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/subpixel-utils.js: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html: Removed.
        * csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log: Removed.
        * fast/masking/parsing-clip-path-shape-expected.txt:
        * fast/masking/parsing-clip-path-shape.html:
        * fast/regions/shape-inside/shape-inside-on-additional-regions.html:
        * fast/regions/shape-inside/shape-inside-on-first-region-block-content.html:
        * fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html:
        * fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html:
        * fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html: Removed.
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html:
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html:
        * fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html:
        * fast/regions/shape-inside/shape-inside-on-regions-expected.html:
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html:
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html:
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html:
        * fast/regions/shape-inside/shape-inside-on-regions-inline-content.html:
        * fast/regions/shape-inside/shape-inside-on-regions.html:
        * fast/regions/shape-inside/shape-inside-on-second-region-block-content.html:
        * fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html:
        * fast/regions/shape-inside/shape-inside-recursive-layout-expected.html:
        * fast/regions/shape-inside/shape-inside-recursive-layout.html:
        * fast/regions/shape-inside/shape-inside-with-region-borders.html:
        * fast/regions/shape-inside/shape-inside-with-region-padding.html:
        * fast/shapes/css-shapes-disabled-expected.txt:
        * fast/shapes/css-shapes-disabled.html:
        * fast/shapes/css-shapes-enabled-expected.txt:
        * fast/shapes/css-shapes-enabled.html:
        * fast/shapes/parsing/parsing-shape-inside-expected.txt:
        * fast/shapes/parsing/parsing-shape-inside.html:
        * fast/shapes/parsing/parsing-shape-lengths-expected.txt:
        * fast/shapes/parsing/parsing-shape-lengths.html:
        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-shape-outside.html:
        * fast/shapes/parsing/parsing-test-utils.js:
        * fast/shapes/resources/simple-rectangle.js:
        (drawTextRectangle):
        * fast/shapes/shape-inside/shape-inside-animation-expected.txt:
        * fast/shapes/shape-inside/shape-inside-animation.html:
        * fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html:
        * fast/shapes/shape-inside/shape-inside-bottom-edge.html:
        * fast/shapes/shape-inside/shape-inside-box-sizing.html:
        * fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html:
        * fast/shapes/shape-inside/shape-inside-dynamic-nested.html:
        * fast/shapes/shape-inside/shape-inside-dynamic-shape.html:
        * fast/shapes/shape-inside/shape-inside-dynamic-text.html:
        * fast/shapes/shape-inside/shape-inside-empty-expected.html:
        * fast/shapes/shape-inside/shape-inside-empty.html:
        * fast/shapes/shape-inside/shape-inside-inline-elements-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-inline-elements.html: Removed.
        * fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html:
        * fast/shapes/shape-inside/shape-inside-multiple-blocks.html:
        * fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html:
        * fast/shapes/shape-inside/shape-inside-outside-shape.html:
        * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html:
        * fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html:
        * fast/shapes/shape-inside/shape-inside-overflow.html:
        * fast/shapes/shape-inside/shape-inside-percentage-auto.html:
        * fast/shapes/shape-inside/shape-inside-percentage.html:
        * fast/shapes/shape-inside/shape-inside-rectangle-padding-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rectangle-padding.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-004-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-004.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding-expected.html: Removed.
        * fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding.html: Removed.
        * fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html:
        * fast/shapes/shape-inside/shape-inside-text.html:
        * fast/shapes/shape-inside/shape-inside-vertical-text.html:
        * fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
        * fast/shapes/shape-outside-floats/shape-outside-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html:
        * fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html:
        * fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash-expected.txt: Removed.
        * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html: Removed.
        * fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html:
        * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html.
        * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html.
        * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html.
        * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html.
        * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html.
        * fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html.
        * fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
        * svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg: Removed.
        * svg/clip-path/clip-path-shape-rounded-rect-1.svg: Removed.
        * svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg: Removed.
        * svg/clip-path/clip-path-shape-rounded-rect-2.svg: Removed.

2014-03-12  Zalan Bujtas  <zalan@apple.com>

        Add hiDPI support for compositing content in DumpRenderTree/WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=129961

        Reviewed by Simon Fraser.

        Now scaled content can go through the window capturing mechanism too for compositing content.
        AppleMagnifiedMode is redundant.

        * compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework-expected.html: Added.
        * compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework.html: Added.
        * svg/custom/hidpi-masking-clipping-expected.svg: Added.
        * svg/custom/hidpi-masking-clipping.svg: Renamed from LayoutTests/svg/custom/masking-clipping-hidpi.svg.
        * svg/custom/masking-clipping-hidpi-expected.svg: Removed.

2014-03-12  Antti Koivisto  <antti@apple.com>

        Update result after https://trac.webkit.org/r165465

        * svg/custom/use-multiple-on-nested-disallowed-font-expected.txt:

2014-03-12  Frédéric Wang  <fred.wang@free.fr>

        Invisible Operators should not add space.
        https://bugs.webkit.org/show_bug.cgi?id=115786

        Reviewed by Chris Fleizach.

        Add a reftest based on the examples of the MathML specification to verify that invisible operators do not add space.

        * mathml/presentation/mo-invisible-expected.html: Added.
        * mathml/presentation/mo-invisible.html: Added.

2014-03-11  Frédéric Wang  <fred.wang@free.fr>

        Implement MathML spacing around operators .
        https://bugs.webkit.org/show_bug.cgi?id=115787

        Reviewed by Chris Fleizach.

        Add many new tests to verify the form/lspace/rspace properties of the
        <mo> element and that the whitespace of the text content is collapsed.
        Update fenced-mi now that bug 118843 is fixed.

        * mathml/presentation/dir-mo-expected.html: Added.
        * mathml/presentation/dir-mo.html: Added.
        * mathml/presentation/fenced-expected.html:
        * mathml/presentation/fenced-mi-expected.html:
        * mathml/presentation/mo-form-dynamic-expected.html: Added.
        * mathml/presentation/mo-form-dynamic.html: Added.
        * mathml/presentation/mo-form-expected.html: Added.
        * mathml/presentation/mo-form-minus-plus-expected.html: Added.
        * mathml/presentation/mo-form-minus-plus.html: Added.
        * mathml/presentation/mo-form.html: Added.
        * mathml/presentation/mo-lspace-rspace-dynamic-expected.html: Added.
        * mathml/presentation/mo-lspace-rspace-dynamic.html: Added.
        * mathml/presentation/mo-lspace-rspace-expected.html: Added.
        * mathml/presentation/mo-lspace-rspace.html: Added.
        * mathml/presentation/mo-whitespaces-expected.html: Added.
        * mathml/presentation/mo-whitespaces.html: Added.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt: update reference.

2014-03-11  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Add layout test for anonymous grid items
        https://bugs.webkit.org/show_bug.cgi?id=130083

        Reviewed by Sergio Villar Senin.

        Add a layout test to prevent regressions supporting anonymous grid items.

        For example, anonymous grid items do not have an associated Node, so trying to access it will make this test
        crash.

        * fast/css-grid-layout/anonymous-grid-items-expected.html: Added.
        * fast/css-grid-layout/anonymous-grid-items.html: Added.

2014-03-11  Krzysztof Czech  <k.czech@samsung.com>

        [ATK] Expose aria-posinset and aria-setsize through object attributes
        https://bugs.webkit.org/show_bug.cgi?id=130011

        Reviewed by Chris Fleizach.

        Test could be shared with other platforms.

        * accessibility/aria-setsize-posinset-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-setsize-posinset-expected.txt.
        * accessibility/aria-setsize-posinset.html: Renamed from LayoutTests/platform/mac/accessibility/aria-setsize-posinset.html.
        * platform/win/TestExpectations: Skipping on win port.

2014-03-10  Frédéric Wang  <fred.wang@free.fr>

        Improve renderer classes for MathML Token elements.
        https://bugs.webkit.org/show_bug.cgi?id=124838

        Reviewed by Chris Fleizach.

        Two tests are added to fenced-mi in order to verify that the open/close
        attributes of the mfenced element collapse whitespace and accept values
        with multiple characters.

        * mathml/presentation/fenced-mi-expected.html:
        * mathml/presentation/fenced-mi.html:
        * platform/mac/accessibility/mathml-elements.html: fix bad closing tag and disable the test for now.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt: update text reference.

2014-03-10  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
        https://bugs.webkit.org/show_bug.cgi?id=129781

        Reviewed by Joseph Pecoraro.

        Enabling several more properties to be exposed in the Accessibility Node Inspector.

        * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

2014-03-10  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] inset corner radii are not flipped for vertical writing modes
        https://bugs.webkit.org/show_bug.cgi?id=129918

        Reviewed by Dean Jackson.

        Test both left and right float cases so that we cover all four
        corners.

        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html: Added.

2014-03-10  Zsolt Borbely  <borbezs@inf.u-szeged.hu>

        ASSERTION FAILED: span >= 1
        https://bugs.webkit.org/show_bug.cgi?id=129148

        Reviewed by Andreas Kling.

        Added test demonstrates the behavior of colgroup in case of large negative, large positive, zero and null span values.

        * fast/table/incorrect-colgroup-span-values-expected.txt: Added.
        * fast/table/incorrect-colgroup-span-values.html: Added.

2014-03-10  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Hit-testing is not working properly inside scrollable regions
        https://bugs.webkit.org/show_bug.cgi?id=130015

        Reviewed by Antti Koivisto.

        Added test for hit-testing inside scrollable regions.

        * fast/regions/scrollable-regions-hit-testing-inside-expected.html: Added.
        * fast/regions/scrollable-regions-hit-testing-inside.html: Added.

2014-03-10  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] SVG Image valued shape fails if root element's size is relative
        https://bugs.webkit.org/show_bug.cgi?id=128983

        Reviewed by Simon Fraser.

        Verify that an SVG Image valued shape-outside with a relatively sized SVG root element
        generates a shape with the correct size.

        * fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html: Added.

2014-03-10  Darin Adler  <darin@apple.com>

        TextIterator: Use StringView and references rather than pointers
        https://bugs.webkit.org/show_bug.cgi?id=129975

        Reviewed by Anders Carlsson.

        * dom/xhtml/level3/core/nodelookupnamespaceuri14-expected.txt: Updated to expect
        the CDATA section to be included in the text output of the test. This changed because
        TextIterator now treats CDATA sections like other text, just as rendering code does.

2014-03-10  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: js/dom/create-lots-of-workers.html frequently crashes
        (sometimes in js/dom/cross-frame-bad-time.html)
        https://bugs.webkit.org/show_bug.cgi?id=129758

        * platform/mac-wk1/TestExpectations: Removed an older incorrect expectation.

2014-03-10  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Scrolling regions with the mouse wheel only works properly if hovering over the region's padding
        https://bugs.webkit.org/show_bug.cgi?id=129485

        Reviewed by Andrei Bucur.

        Added layout tests for scrolling regions using the mouse wheel.

        * fast/regions/wheel-scrollable-single-region-expected.html: Added.
        * fast/regions/wheel-scrollable-single-region.html: Added.

2014-03-10  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Add test expectations for failing and crashing tests.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:
        * platform/efl/fast/images/image-controls-basic-expected.txt: Added after r164457.
        * platform/efl/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added after r164323.

2014-03-10  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Fix broken paths in some regions tests
        https://bugs.webkit.org/show_bug.cgi?id=130012

        Reviewed by Andrei Bucur.

        * fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions.html:
        * fast/regions/region-styling/region-style-image-background-color-expected.html:
        * fast/regions/region-styling/region-style-image-background-color.html:

2014-03-09  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: js/dom/create-lots-of-workers.html frequently crashes
        (sometimes in js/dom/cross-frame-bad-time.html)
        https://bugs.webkit.org/show_bug.cgi?id=129758

        * platform/mac/TestExpectations: Skipped the test.

2014-03-09  Oliver Hunt  <oliver@apple.com>

        Skip fast/workers/worker-copy-shared-blob-url.html in webkit2

        * platform/wk2/TestExpectations:

2014-03-08  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Simple compositing container layer (isSimpleContainerCompositingLayer) paints to wrong position.
        https://bugs.webkit.org/show_bug.cgi?id=129861

        Reviewed by Simon Fraser.

        This patch ensures that both the simple and non-simple cases paint to the same position.
        Simple compositing container layer codepath needs to take the fractional device pixel offset
        into account when painting. Without the fractional value, the final paint rounding could push the
        paint offset to a different position.
        retina example:
        compositing top-left: 0px 0px.
        fractional offset: 0.3px 0.3px
        painting coords without offseting: 0px 0px
                           with offseting: 0.5px 0.5px

        * compositing/hidpi-simple-container-layer-on-device-pixel-expected.html: Added.
        * compositing/hidpi-simple-container-layer-on-device-pixel.html: Added.

2014-03-08  Martin Robinson  <mrobinson@igalia.com>

        Skip tests on GTK+ for unimplemented features

        * platform/gtk/TestExpectations: When a feature is unimplemented, the tests may fail or
        they may timeout, or perhaps they will crash. We just skip them here, so that we don't
        have to micromanage expectations for tests against incomplete features.

2014-03-08  Oliver Hunt  <oliver@apple.com>

        SerializedScriptValue may move Identifiers between worlds
        https://bugs.webkit.org/show_bug.cgi?id=129979

        Reviewed by Andreas Kling.

        Add test cases

        * fast/workers/resources/worker-copy-shared-blob-url-worker.js: Added.
        (count.0.onmessage):
        * fast/workers/worker-copy-shared-blob-url-expected.txt: Added.
        * fast/workers/worker-copy-shared-blob-url.html: Added.

2014-03-08  Martin Robinson  <mrobinson@igalia.com>

        Lots of cleanups for the GTK+ TestExpectations

        Updated TestExpectations, adding bug standins where appropriate, skipping tests that
        expected to fail and prone to timeout or crash. Removed some unused expectations. Added
        new baselines for some tests.

        * platform/gtk-wk1/TestExpectations: Updated expectations.
        * platform/gtk-wk2/TestExpectations: Ditto.
        * platform/gtk/TestExpectations: Ditto.

2014-03-08  Martin Robinson  <mrobinson@igalia.com>

        Add and update some test expectations for GTK+

        * platform/gtk/TestExpectations: These all seem to be failing because of the same bug.

2014-03-08  Myles C. Maxfield  <mmaxfield@apple.com>

        Mountain Lion WK1 test bots are crashing often
        https://bugs.webkit.org/show_bug.cgi?id=129962

        Marking the following tests as flakey:
        js/dom/cross-frame-bad-time.html
        js/dom/create-lots-of-workers.html

        Unreviewed.

        * platform/mac-wk1/TestExpectations:

2014-03-07  Martin Robinson  <mrobinson@igalia.com>

        Mark some more tests as failing on WebKitGTK+ and file bugs for them

        * platform/gtk/TestExpectations: Update test expectations.

2014-03-07  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WebRTC] Throw SYNTAX_ERROR when maxRetransmits and maxRetransmitTime are both set in RTCDataChannelInit
        https://bugs.webkit.org/show_bug.cgi?id=129894

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
        * fast/mediastream/RTCPeerConnection-datachannel.html:

2014-03-07  Martin Robinson  <mrobinson@igalia.com>

        Rebaseline some tests for WebKitGTK+

        * platform/gtk: Rebaseline tests.

2014-03-07  Oliver Hunt  <oliver@apple.com>

        Continue hangs when performing for-of over arguments
        https://bugs.webkit.org/show_bug.cgi?id=129915

        Reviewed by Geoffrey Garen.

        Add tests

        * js/for-of-arguments-continue-hang-expected.txt: Added.
        * js/for-of-arguments-continue-hang.html: Added.
        * js/script-tests/for-of-arguments-continue-hang.js: Added.
        (test):

2014-03-07  Benjamin Poulain  <benjamin@webkit.org>

        Traversal failure in a direct adjacent chain with tail backtracking lacks the path to clear the tail
        https://bugs.webkit.org/show_bug.cgi?id=129863

        Reviewed by Gavin Barraclough.

        Test the faulty case.

        * fast/selectors/long-adjacent-backtracking-expected.txt: Added.
        * fast/selectors/long-adjacent-backtracking.html: Added.

2014-03-07  Bear Travis  <betravis@adobe.com>

        [CSS Shapes] Correctly serialize ellipse positions
        https://bugs.webkit.org/show_bug.cgi?id=129700

        Reviewed by Dirk Schulze.

        Update tests to use the new position serialization for
        ellipse.

        * fast/shapes/parsing/parsing-shape-inside-expected.txt:
        * fast/shapes/parsing/parsing-shape-outside-expected.txt:
        * fast/shapes/parsing/parsing-test-utils.js:

2014-03-07  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Clear test expectations for passing tests.

        * platform/efl/TestExpectations:

2014-03-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r165262.
        http://trac.webkit.org/changeset/165262
        https://bugs.webkit.org/show_bug.cgi?id=129887

        Fix wrong commit message (Requested by mpakula on #webkit).

        * platform/efl/TestExpectations:

2014-03-07  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] inset does not properly clamp large corner radii
        https://bugs.webkit.org/show_bug.cgi?id=129726

        Reviewed by Dirk Schulze.

        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html: Added.

2014-03-07  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Clear test expectations for passing tests.

        * platform/efl/TestExpectations:

2014-03-07  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Remove wrong test expectations.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:

2014-03-07  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WebRTC] Adding getConfiguration method to RTCPeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=129845

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCPeerConnection-getConfiguration-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-getConfiguration.html: Added.

2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WebRTC] Updating RTCPeerConnection.idl
        https://bugs.webkit.org/show_bug.cgi?id=129804

        Reviewed by Eric Carlson.

        Some methods signatures were wrong, marking some arguments as optional when they are mandatory.

        * fast/mediastream/RTCPeerConnection-stats.html:
        * fast/mediastream/RTCPeerConnection-statsSelector.html:

2014-03-06  Andy Estes  <aestes@apple.com>

        Test that the screen orientation does not change when focusing a <textarea>
        https://bugs.webkit.org/show_bug.cgi?id=129847

        Reviewed by Enrica Casucci.

        * fast/css/orientation-changes-on-textarea-focus-expected.html: Added.
        * fast/css/orientation-changes-on-textarea-focus.html: Added.

2014-03-06  Mark Lam  <mark.lam@apple.com>

        XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
        https://bugs.webkit.org/show_bug.cgi?id=45994

        Not reviewed.

        Re-landing r161051 (originally by Ryosuke Niwa, reviewed by Alexey Proskuryakov)
        since https://bugs.webkit.org/show_bug.cgi?id=126219 is no longer an issue.

        * http/tests/xmlhttprequest/exceptions-expected.txt:
        * http/tests/xmlhttprequest/exceptions.html:
        * http/tests/xmlhttprequest/status-after-abort-expected.txt:
        * http/tests/xmlhttprequest/zero-length-response-expected.txt:
        * js/dom/dfg-custom-getter-throw-expected.txt:
        * js/dom/script-tests/dfg-custom-getter-throw-inlined.js:
        (foo):
        (bar):
        * js/dom/script-tests/dfg-custom-getter-throw.js:
        (foo):
        (bar):

2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor's draft of 01/27/2014
        https://bugs.webkit.org/show_bug.cgi?id=129484

        Reviewed by Eric Carlson.

        According to the spec, createOffer and createAnswer will no longer have MediaConstraints as an argument,
        instead they will have RTCOfferOptions and RTCOfferAnswerOptions, respectively.

        * fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
        * fast/mediastream/RTCPeerConnection-createAnswer.html:
        * fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
        * fast/mediastream/RTCPeerConnection-createOffer.html:

2014-03-05  Oliver Hunt  <oliver@apple.com>

        Support caching of custom setters
        https://bugs.webkit.org/show_bug.cgi?id=129519

        Reviewed by Filip Pizlo.

        Add test cases.

        * js/regress/assign-custom-setter-expected.txt: Added.
        * js/regress/assign-custom-setter-polymorphic-expected.txt: Added.
        * js/regress/assign-custom-setter-polymorphic.html: Added.
        * js/regress/assign-custom-setter.html: Added.
        * js/regress/script-tests/assign-custom-setter-polymorphic.js: Added.
        (test):
        * js/regress/script-tests/assign-custom-setter.js: Added.
        (test):

2014-03-06  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL gardening

        Add test expectations for failing tests and remove crash expectations after r164718.

        * platform/efl-wk2/TestExpectations:
        * platform/efl/TestExpectations:
        * platform/efl/compositing/layer-creation/overlap-animation-container-expected.txt: Added after r164449.
        * platform/efl/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Rebaseline after r164867.

2014-03-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Expose the console object in JSContexts to interact with Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=127944

        Reviewed by Geoffrey Garen.

        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:

2014-03-06  Brendan Long  <b.long@cablelabs.com>

        Implement VideoTrackList.selectedIndex
        https://bugs.webkit.org/show_bug.cgi?id=129770

        Reviewed by Eric Carlson.

        * media/track/video/video-track-mkv-theora-selected-expected.txt:
        * media/track/video/video-track-mkv-theora-selected.html:

2014-03-06  Gurpreet Kaur  <k.gurpreet@samsung.com>

        REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
        https://bugs.webkit.org/show_bug.cgi?id=128873

        Reviewed by Antonio Gomes.

        * fast/css/zoom-body-scroll-expected.txt:
        * fast/css/zoom-body-scroll.html:
        * fast/dom/Element/documentElement-scrollLeft-expected.txt:
        * fast/dom/Element/documentElement-scrollLeft.html:
        * fast/dom/Element/documentElement-scrollTop-expected.txt:
        * fast/dom/Element/documentElement-scrollTop.html:
        * fast/dom/Element/scrollLeft-expected.txt:
        * fast/dom/Element/scrollLeft.html:
        * fast/dom/Element/scrollTop-expected.txt:
        * fast/dom/Element/scrollTop.html:
        * fast/events/mouse-cursor.html:
        * fast/multicol/scrolling-overflow.html:
        * http/tests/navigation/anchor-frames-expected.txt:
        * http/tests/navigation/anchor-frames-gbk-expected.txt:
        * http/tests/navigation/resources/frame-with-anchor-gbk.html:
        * http/tests/navigation/resources/frame-with-anchor-same-origin.html:
        * http/tests/navigation/resources/frame-with-anchor.html:
        * platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html:
        * platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
        Reverting changes as it caused regression.

2014-03-05  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL gardening.
        Mofify the TestExpectaions according to the renamed file name in r164299.

        * platform/efl/TestExpectations: copy-paste-converts-sticky-and-fixed.html is renamed
        to copy-paste-wraps-position-absolute.html.

2014-03-05  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r165141, r165157, and r165158.
        http://trac.webkit.org/changeset/165141
        http://trac.webkit.org/changeset/165157
        http://trac.webkit.org/changeset/165158
        https://bugs.webkit.org/show_bug.cgi?id=129772

        "broke ftl" (Requested by olliej_ on #webkit).

        * js/regress/assign-custom-setter-expected.txt: Removed.
        * js/regress/assign-custom-setter-polymorphic-expected.txt: Removed.
        * js/regress/assign-custom-setter-polymorphic.html: Removed.
        * js/regress/assign-custom-setter.html: Removed.
        * js/regress/script-tests/assign-custom-setter-polymorphic.js: Removed.
        * js/regress/script-tests/assign-custom-setter.js: Removed.

2014-03-05  Mark Lam  <mark.lam@apple.com>

        llint_slow_path_check_has_instance() should not adjust PC before accessing operands.
        <https://webkit.org/b/129768>

        Reviewed by Mark Hahnenberg.

        * js/instanceof-operator-expected.txt:
        * js/script-tests/instanceof-operator.js:

2014-03-05  Oliver Hunt  <oliver@apple.com>

        Support caching of custom setters
        https://bugs.webkit.org/show_bug.cgi?id=129519

        Reviewed by Filip Pizlo.

        Add test cases.

        * js/regress/assign-custom-setter-expected.txt: Added.
        * js/regress/assign-custom-setter-polymorphic-expected.txt: Added.
        * js/regress/assign-custom-setter-polymorphic.html: Added.
        * js/regress/assign-custom-setter.html: Added.
        * js/regress/script-tests/assign-custom-setter-polymorphic.js: Added.
        (test):
        * js/regress/script-tests/assign-custom-setter.js: Added.
        (test):

2014-03-05  David Kilzer  <ddkilzer@apple.com>

        Fix crash in CompositeEditCommand::cloneParagraphUnderNewElement()
        <http://webkit.org/b/129751>
        <rdar://problem/16237965>

        Reviewed by Jon Honeycutt.

        Merged from Blink (patch by Yuta Kitamura):
        https://src.chromium.org/viewvc/blink?revision=168160&view=revision
        http://crbug.com/345005

            The root cause is CompositeEditCommand::moveParagraphWithClones() passing
            two positions |start| and |end| which do not follow the document order,
            i.e. in some situations |start| is located after |end| because of
            the difference in affinity.

            This patch fixes this crash by normalizing |end| to |start| in such situations.
            It also adds an ASSERT that checks the relationship between |start| and |end|.

        * editing/execCommand/format-block-crash-expected.txt: Added.
        * editing/execCommand/format-block-crash.html: Added.
        * editing/execCommand/resources/format-block-crash-iframe.html: Added.

2014-03-05  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Scrollable regions
        https://bugs.webkit.org/show_bug.cgi?id=129301

        Reviewed by David Hyatt.

        Added tests for scrolling elements flowed into regions.

        * fast/regions/scrollable-last-region-expected.html: Added.
        * fast/regions/scrollable-last-region.html: Added.
        * fast/regions/scrollable-single-region-bt-expected.html: Added.
        * fast/regions/scrollable-single-region-bt.html: Added.
        * fast/regions/scrollable-single-region-expected.html: Added.
        * fast/regions/scrollable-single-region-lr-expected.html: Added.
        * fast/regions/scrollable-single-region-lr.html: Added.
        * fast/regions/scrollable-single-region-relative-element-expected.html: Added.
        * fast/regions/scrollable-single-region-relative-element.html: Added.
        * fast/regions/scrollable-single-region-rl-expected.html: Added.
        * fast/regions/scrollable-single-region-rl.html: Added.
        * fast/regions/scrollable-single-region.html: Added.

2014-03-05  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Device pixel round accumulated subpixel value when the RenderLayer with transform paints its content.
        https://bugs.webkit.org/show_bug.cgi?id=129079

        Reviewed by Simon Fraser.

        Snap the content to the device pixel position (as opposed to integral position) before
        applying the transform. Recalculate the remaining subpixels that need offsetting at painting time.

        * compositing/hidpi-absolute-subpixel-positioned-transformed-elements-expected.html: Added.
        * compositing/hidpi-absolute-subpixel-positioned-transformed-elements.html: Added.

2014-03-05  Michael Saboff  <msaboff@apple.com>

        JSDataViewPrototype::getData() and setData() crash on platforms that don't allow unaligned accesses
        https://bugs.webkit.org/show_bug.cgi?id=129746

        Reviewed by Filip Pizlo.

        New test to validate proper operation of DataView operations at
        various byte offsets using both little and big endian.

        * js/arraybuffer-dataview-expected.txt: Added.
        * js/arraybuffer-dataview.html: Added.
        * js/script-tests/arraybuffer-dataview.js: Added.
        (paddedHex):
        (byteString):
        (clearView):

2014-03-05  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Wrong cliprect on absolute positioned elements.
        https://bugs.webkit.org/show_bug.cgi?id=129656

        Reviewed by Simon Fraser.

        outlineBoundsForRepaint() is expected to return the outline repaint rect. Using enclosingIntRect()
        to calculate the outline boundaries breaks repaint logic in RenderElement::repaintAfterLayoutIfNeeded().
        Since enclosingIntRect() can return bigger rect than repaint rect, the old/new bounds' dimensions could end up
        being different which triggers the size change repaint code path.

        * fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move-expected.txt: Added.
        * fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move.html: Added.

2014-03-05  Chang Shu  <cshu@webkit.org>

        Copying wrapping text results in multiple spaces between wrapped lines stripped.
        https://bugs.webkit.org/show_bug.cgi?id=129609.

        Reviewed by Ryosuke Niwa.

        * editing/pasteboard/copy-text-with-wrapped-tag-expected.txt:
        * editing/pasteboard/copy-text-with-wrapped-tag.html:

2014-03-05  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [EFL] Update baselines and test expectations
        https://bugs.webkit.org/show_bug.cgi?id=129737

        Unreviewed EFL gardening.

        * TestExpectations:
        * platform/efl-wk2/TestExpectations:
        * platform/efl/fast/table/col-and-colgroup-offsets-expected.txt: Added.
        Test was failing due to platform-specific numeric differences in the computed offsetHeight of the table cells.

2014-03-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Remove unsupported spelling tests.
        https://bugs.webkit.org/show_bug.cgi?id=129482

        Reviewed by Ryosuke Niwa.

        Remove two spelling tests that require spellchecking of multiple words.
        Currently, neither WebKit port is supporting this feature.
        Those tests were added by Chromium at r141354.

        * editing/spelling/spelling-exactly-selected-multiple-words-expected.txt: Removed.
        * editing/spelling/spelling-exactly-selected-multiple-words.html: Removed.
        * editing/spelling/spelling-should-select-multiple-words-expected.txt: Removed.
        * editing/spelling/spelling-should-select-multiple-words.html: Removed.

        * platform/efl-wk2/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:
        Clear TestExpectations.

2014-03-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Refactoring spelling-insert-html.html to use asynchronous spellchecking
        https://bugs.webkit.org/show_bug.cgi?id=129422

        Reviewed by Ryosuke Niwa.

        Use asynchronous text checking in spelling-insert-html.html.
        Add more logs to the test expectation so that it becomes
        more descriptive.

        Additionally, the word "foo" was changed to "moo" due to
        only Mac had recognized this word as spelled correctly.

        * editing/spelling/spelling-insert-html-expected.txt:
        * editing/spelling/spelling-insert-html.html:

        * platform/efl/TestExpectations:
        Remove failing expectation for EFL.

        * platform/gtk-wk2/TestExpectations:
        * platform/gtk/TestExpectations:
        Skip the tests for GTK+ because of missing asynchronous spellchecking.

        * platform/mac-wk2/TestExpectations:
        Ditto.

2014-03-04  Filip Pizlo  <fpizlo@apple.com>

        DFG and FTL should specialize for and support CompareStrictEq over Misc (i.e. boolean, undefined, or null)
        https://bugs.webkit.org/show_bug.cgi?id=129563

        Reviewed by Geoffrey Garen.

        * js/regress/fold-strict-eq-expected.txt: Added.
        * js/regress/fold-strict-eq.html: Added.
        * js/regress/misc-strict-eq-expected.txt: Added.
        * js/regress/misc-strict-eq.html: Added.
        * js/regress/script-tests/fold-strict-eq.js: Added.
        (foo):
        (test):
        * js/regress/script-tests/misc-strict-eq.js: Added.

2014-03-04  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r165085.
        http://trac.webkit.org/changeset/165085
        https://bugs.webkit.org/show_bug.cgi?id=129729

        Broke imported/w3c/html-templates/template-element/template-
        content.html (Requested by ap on #webkit).

        * js/regress/fold-strict-eq-expected.txt: Removed.
        * js/regress/fold-strict-eq.html: Removed.
        * js/regress/misc-strict-eq-expected.txt: Removed.
        * js/regress/misc-strict-eq.html: Removed.
        * js/regress/script-tests/fold-strict-eq.js: Removed.
        * js/regress/script-tests/misc-strict-eq.js: Removed.

2014-03-04  Zalan Bujtas  <zalan@apple.com>

        Enable device pixel repaint rect tracking.
        https://bugs.webkit.org/show_bug.cgi?id=129712

        Reviewed by Simon Fraser.

        Tracked repaint rects are device pixel snapped now to support hiDPI test cases.

        * fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking-expected.txt: Added.
        * fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking.html: Added.

2014-03-01  Filip Pizlo  <fpizlo@apple.com>

        DFG and FTL should specialize for and support CompareStrictEq over Misc (i.e. boolean, undefined, or null)
        https://bugs.webkit.org/show_bug.cgi?id=129563

        Reviewed by Geoffrey Garen.

        * js/regress/fold-strict-eq-expected.txt: Added.
        * js/regress/fold-strict-eq.html: Added.
        * js/regress/misc-strict-eq-expected.txt: Added.
        * js/regress/misc-strict-eq.html: Added.
        * js/regress/script-tests/fold-strict-eq.js: Added.
        (foo):
        (test):
        * js/regress/script-tests/misc-strict-eq.js: Added.

2014-03-04  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Add test for adjusted lineTop position between left and right shape-outside floats
        https://bugs.webkit.org/show_bug.cgi?id=128696

        Reviewed by David Hyatt.

        * fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjusted-between-left-right-floats-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjusted-between-left-right-floats.html: Added.

2014-03-04  Brian Burg  <bburg@apple.com>

        Unreviewed gardening. Skip inspector tests that are still flaky.

        Skip inspector-protocol/dom/dom-search-crash.html (tracked by https://webkit.org/b/129639).
        Skip inspector/test-harness-trivially-works.html (tracked by https://webkit.org/b/129642).

        * TestExpectations:

2014-03-04  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Incorrect repaint rect cuts off content's right edge after move.
        https://bugs.webkit.org/show_bug.cgi?id=129652

        Reviewed by Simon Fraser.

        When repaint rect is adjusted in order to take the distance from renderer into account,
        the accumulated fraction value need to be added too. This is always a positive value.

        * fast/borders/hidpi-border-clipping-right-after-move-expected.html: Added.
        * fast/borders/hidpi-border-clipping-right-after-move.html: Added.

2014-02-07  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Percentages of indefinite sizes should compute to auto
        https://bugs.webkit.org/show_bug.cgi?id=128173

        Reviewed by Darin Adler.

        Added a grid with indefinite sizes to check that we use auto to
        compute the track breadths instead of the specified percentages.

        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
        * fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
        * fast/css-grid-layout/grid-columns-rows-get-set.html:
        * fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
        * fast/css-grid-layout/grid-element-repeat-get-set.html:
        * fast/css-grid-layout/named-grid-line-get-set-expected.txt:
        * fast/css-grid-layout/named-grid-line-get-set.html:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
        * fast/css-grid-layout/resources/grid.css:
        (.indefiniteSizeGrid):

2014-03-04  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>

        Implement Number.prototype.clz()
        https://bugs.webkit.org/show_bug.cgi?id=129479

        Reviewed by Oliver Hunt.

        Added/updated tests to account for Number.prototype.clz().

        * js/number-clz.html: Added.
        * js/number-clz-expected.txt: Added.
        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/number-clz.js: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:

2014-03-04  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r164856): Use after free in WebCore::QualifiedName::operator== / WebCore::StyledElement::attributeChanged
        https://bugs.webkit.org/show_bug.cgi?id=129550

        Reviewed by Andreas Kling.

        Added a regression test.

        * fast/dom/uniquing-attributes-via-setAttribute-expected.txt: Added.
        * fast/dom/uniquing-attributes-via-setAttribute.html: Added.

2014-03-03  Myles C. Maxfield  <mmaxfield@apple.com>

        Space between double underlines does not scale with font size
        https://bugs.webkit.org/show_bug.cgi?id=129521

        Reviewed by Simon Fraser.

        This test renders large text with a double underline, but then barely clips off the bottom underline
        using overflow: hidden. It makes sure that this is exactly the same as a single underline. If the
        space between the two underlines does not scale with font size, it will appear as though there is a
        single thick underline (because they will be drawn on top of each other) and will thus fail this test.

        * fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales-expected.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html: Added.

2014-03-03  Mark Lam  <mark.lam@apple.com>

        Web Inspector: debugger statements do not break.
        <https://webkit.org/b/129524>

        Reviewed by Geoff Garen.

        * inspector-protocol/debugger/debugger-statement-expected.txt: Added.
        * inspector-protocol/debugger/debugger-statement.html: Added.
        * inspector-protocol/debugger/resources/breakpoint.js:
        (debuggerStatement):

2014-03-03  Brian Burg  <bburg@apple.com>

        Inspector test dom/dom-search-crash.html times out in release builds
        https://bugs.webkit.org/show_bug.cgi?id=129462

        Reviewed by Timothy Hatcher.

        This test passes now, so stop skipping it.

        * TestExpectations:

2014-03-03  Antti Koivisto  <antti@apple.com>

        Find results on simple lines are not marked correctly
        https://bugs.webkit.org/show_bug.cgi?id=129586

        Reviewed by Andreas Kling.

        * editing/text-iterator/count-mark-lineboxes-expected.txt: Added.
        * editing/text-iterator/count-mark-lineboxes.html: Added.
        * editing/text-iterator/count-mark-simple-lines-expected.txt: Added.
        * editing/text-iterator/count-mark-simple-lines.html: Added.

2014-03-03  Jer Noble  <jer.noble@apple.com>

        [MSE] YouTube videos fail to play
        https://bugs.webkit.org/show_bug.cgi?id=129525

        Reviewed by Darin Adler.

        * media/media-source/media-source-addsourcebuffer.html: Updated.
        * media/media-source/media-source-addsourcebuffer-expected.txt: Updated.
        * media/media-source/media-source-fudge-factor-expected.txt: Added.
        * media/media-source/media-source-fudge-factor.html: Added.

2014-03-03  Bear Travis  <betravis@adobe.com>

        [CSS Shapes] Serialize circle positions
        https://bugs.webkit.org/show_bug.cgi?id=129404

        Reviewed by Dirk Schulze.

        Modify each circle test to have a correctly serialized position.

        * fast/masking/parsing-clip-path-shape-expected.html: Updated result.
        * fast/masking/parsing-clip-path-shape.html: Updated test.
        * fast/shapes/parsing/parsing-shape-inside-expected.txt: Updated results.
        * fast/shapes/parsing/parsing-shape-outside-expected.txt: Updated results.
        * fast/shapes/parsing/parsing-test-utils.js: Updated serialization results.

2014-03-03  Dirk Schulze  <krit@webkit.org>

        Transform CSS clip-path pixel tests to ref tests
        https://bugs.webkit.org/show_bug.cgi?id=129607

        Reviewed by Andreas Kling.

        * css3/masking/clip-path-border-box.html:
        * css3/masking/clip-path-circle-filter-expected.txt: Removed.
        * css3/masking/clip-path-circle-overflow-expected.txt: Removed.
        * css3/masking/clip-path-circle-overflow-hidden-expected.txt: Removed.
        * css3/masking/clip-path-circle-overflow-hidden.html: Removed.
        * css3/masking/clip-path-circle-relative-overflow-expected.txt: Removed.
        * css3/masking/clip-path-ellipse-expected.html: Renamed from LayoutTests/css3/masking/clip-path-circle-filter.html.
        * css3/masking/clip-path-ellipse-expected.txt: Removed.
        * css3/masking/clip-path-ellipse.html:
        * css3/masking/clip-path-filter-expected.html: Added.
        * css3/masking/clip-path-filter.html: Added.
        * css3/masking/clip-path-inset-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
        * css3/masking/clip-path-inset-expected.txt: Removed.
        * css3/masking/clip-path-overflow-expected.html: Copied from LayoutTests/css3/masking/clip-path-circle-overflow.html.
        * css3/masking/clip-path-overflow-hidden-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
        * css3/masking/clip-path-overflow-hidden.html: Renamed from LayoutTests/css3/masking/clip-path-circle-overflow.html.
        * css3/masking/clip-path-overflow.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
        * css3/masking/clip-path-polygon-evenodd-expected.html: Added.
        * css3/masking/clip-path-polygon-evenodd-expected.txt: Removed.
        * css3/masking/clip-path-polygon-evenodd.html:
        * css3/masking/clip-path-polygon-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
        * css3/masking/clip-path-polygon-expected.txt: Removed.
        * css3/masking/clip-path-polygon-nonzero-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
        * css3/masking/clip-path-polygon-nonzero-expected.txt: Removed.
        * css3/masking/clip-path-polygon-nonzero.html:
        * css3/masking/clip-path-polygon.html:
        * platform/efl/css3/masking/clip-path-circle-overflow-expected.png: Removed.
        * platform/efl/css3/masking/clip-path-circle-overflow-hidden-expected.png: Removed.
        * platform/efl/css3/masking/clip-path-ellipse-expected.png: Removed.
        * platform/gtk/css3/masking/clip-path-circle-overflow-expected.png: Removed.
        * platform/gtk/css3/masking/clip-path-circle-overflow-hidden-expected.png: Removed.
        * platform/gtk/css3/masking/clip-path-ellipse-expected.png: Removed.
        * platform/mac/css3/masking/clip-path-circle-overflow-expected.png: Removed.
        * platform/mac/css3/masking/clip-path-circle-overflow-hidden-expected.png: Removed.
        * platform/mac/css3/masking/clip-path-ellipse-expected.png: Removed.
        * platform/mac/css3/masking/clip-path-inset-expected.png: Removed.
        * platform/mac/css3/masking/clip-path-polygon-evenodd-expected.png: Removed.
        * platform/mac/css3/masking/clip-path-polygon-expected.png: Removed.
        * platform/mac/css3/masking/clip-path-polygon-nonzero-expected.png: Removed.

2014-03-03  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Overset computation is incorrect in some cases
        https://bugs.webkit.org/show_bug.cgi?id=129032

        Reviewed by Mihnea Ovidenie.

        Adjust the tests to cope with the overset changes. 

        * fast/regions/cssom/element-region-overset-state-expected.txt:
        * fast/regions/cssom/element-region-overset-state-vertical-rl-expected.txt:
        * fast/regions/cssom/element-region-overset-state-vertical-rl.html:
        * fast/regions/cssom/element-region-overset-state.html:
        This test has a new case that verifies region clamping is correctly taken into account.
        * fast/regions/cssom/webkit-named-flow-overset-expected.txt:
        * fast/regions/cssom/webkit-named-flow-overset.html:

2014-03-02  Timothy Hatcher  <timothy@apple.com>

        Remove ASSERT in ~IDBRequest since it is firing during legitimate uses in Web Inspector.

        Adding the ASSERT back is tracked by https://webkit.org/b/129593.

        https://bugs.webkit.org/show_bug.cgi?id=129328

        Reviewed by Sam Weinig.

        * TestExpectations: Remove skipped tests.
        * inspector-protocol/model/probe-manager-add-remove-actions-expected.txt: Rebaselined.

2014-03-02  Brian Burg  <bburg@apple.com>

        Web Inspector model tests load wrong inspector page under WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=129460

        Reviewed by Dan Bernstein.

        Stop skipping inspector/test-harness-trivially-works.html.

        * platform/wk2/TestExpectations:

2014-03-02  Dean Jackson  <dino@apple.com>

        Add protected casting to FilterOperation classes.
        https://bugs.webkit.org/show_bug.cgi?id=124062

        Reviewed by Sam Weinig.

        * css3/filters/animation-from-initial-values-with-color-matrix-expected.html: Added.
        * css3/filters/animation-from-initial-values-with-color-matrix.html: Added.

2014-03-02  Yoav Weiss  <yoav@yoav.ws>

        Fix srcset related bugs
        https://bugs.webkit.org/show_bug.cgi?id=129539

        These tests make sure that:
        1. Invalid srcset descriptors are handled according to the spec. The invalid descriptors are ignored, but the resource is not.
        2. When both src and srcset have only 1x descriptors and the DPR is higher than 1, the srcset's resource is picked.

        I've also fixed the invalid inputs test, which was faulty.

        Reviewed by Andreas Kling.

        * fast/hidpi/image-srcset-invalid-descriptor-expected.txt: Added.
        * fast/hidpi/image-srcset-invalid-descriptor.html: Added.
        * fast/hidpi/image-srcset-invalid-inputs-correct-src.html:
        * fast/hidpi/image-srcset-src-selection-1x-both-expected.txt: Added.
        * fast/hidpi/image-srcset-src-selection-1x-both.html: Added.
        * fast/hidpi/resources/srcset-helper.js:
        (runTest):

2014-03-02  Dirk Schulze  <krit@webkit.org>

        Reactivate SVG mask-type tests for Mac
        https://bugs.webkit.org/show_bug.cgi?id=129577

        Reviewed by Darin Adler.

        Reduce mask-type tests to the minimum to test the feature.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * svg/masking/mask-type-alpha-expected.svg:
        * svg/masking/mask-type-alpha.svg:
        * svg/masking/mask-type-luminance-expected.svg:
        * svg/masking/mask-type-luminance.svg:
        * svg/masking/mask-type-not-set-expected.svg:
        * svg/masking/mask-type-not-set.svg:

2014-03-02  Dirk Schulze  <krit@webkit.org>

        Remove path to non-existent SVG clip-path test from TestExpectations
        https://bugs.webkit.org/show_bug.cgi?id=129574

        Reviewed by Simon Fraser.

        The test was transformed to a ref test and moved to a different location.
        It passes on all platforms now.

        * platform/gtk/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:
        * platform/wk2/TestExpectations:

2014-03-02  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Updating some WebRTC and MediaStream LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=129442

        Reviewed by Eric Carlson.

        Due to changes in JavaScriptCore (in r163562), some LayoutTests in fast/mediastream needed to be updated:
            - MediaStreamTrack.html: checking hasOwnProperty in __proto__ as well, until CustomGetter properties are
            moved to the prototype chain.
            - RTCIceCandidate.html and RTCSessionDescription.html: JSON.stringify are not considering properties in
            __proto__, so remove this for now.

        * fast/mediastream/MediaStreamTrack-expected.txt:
        * fast/mediastream/MediaStreamTrack.html:
        * fast/mediastream/RTCIceCandidate-expected.txt:
        * fast/mediastream/RTCIceCandidate.html:
        * fast/mediastream/RTCPeerConnection-have-local-answer.html: Removed. Other tests already test what this one was
        testing
        * fast/mediastream/RTCSessionDescription-expected.txt:
        * fast/mediastream/RTCSessionDescription.html:

2014-03-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r164929 and r164934.
        http://trac.webkit.org/changeset/164929
        http://trac.webkit.org/changeset/164934
        https://bugs.webkit.org/show_bug.cgi?id=129570

        Caused assertions on two srcset tests (Requested by ap on
        #webkit).

        * fast/hidpi/image-srcset-invalid-descriptor-expected.txt: Removed.
        * fast/hidpi/image-srcset-invalid-descriptor.html: Removed.
        * fast/hidpi/image-srcset-invalid-inputs-correct-src.html:
        * fast/hidpi/image-srcset-src-selection-1x-both-expected.txt: Removed.
        * fast/hidpi/image-srcset-src-selection-1x-both.html: Removed.
        * fast/hidpi/resources/srcset-helper.js:
        (runTest):

2014-03-01  Filip Pizlo  <fpizlo@apple.com>

        This shouldn't be a layout test since it runs only under jsc. Moving it to JSC
        stress tests.

        * js/script-tests/generational-opaque-roots.js: Removed.

2014-03-01  David Kilzer  <ddkilzer@apple.com>

        Ensure keySplines is valid in SMIL animations
        <http://webkit.org/b/129547>
        <rdar://problem/15676128>

        Reviewed by Darin Adler.

        Merged from Blink (patch by Philip Rogers):
        https://src.chromium.org/viewvc/blink?revision=156452&view=revision
        http://crbug.com/276111

            This patch fixes a crash in SMIL animations when keySplines are not
            specified. The SMIL spec is clear on this:
            http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncCalcMode
            "If there are any errors in the keyTimes specification (bad values,
            too many or too few values), the animation will have no effect."

            This patch simply checks that keyTimes is not empty. Previously,
            splinesCount was set to be m_keySplines.size() + 1 in
            SVGAnimationElement.cpp; this patch changes splinesCount to be equal
            to m_keySplines.size() to make the logic easier to follow and to
            match other checks in SVGAnimationElement::startedActiveInterval.

        * svg/animations/animate-keysplines-crash-expected.txt: Added.
        * svg/animations/animate-keysplines-crash.html: Added.

2014-03-01  Benjamin Poulain  <benjamin@webkit.org>

        Tighten minimumRegisterRequirements()
        https://bugs.webkit.org/show_bug.cgi?id=129538

        Reviewed by Andreas Kling.

        * fast/selectors/adjacent-descendant-tail-register-requirement-expected.txt: Added.
        * fast/selectors/adjacent-descendant-tail-register-requirement.html: Added.

2014-03-01  Yoav Weiss  <yoav@yoav.ws>

        Fix srcset related bugs
        https://bugs.webkit.org/show_bug.cgi?id=129539

        These tests make sure that:
        1. Invalid srcset descriptors are handled according to the spec. The invalid descriptors are ignored, but the resource is not.
        2. When both src and srcset have only 1x descriptors and the DPR is higher than 1, the srcset's resource is picked.

        I've also fixed the invalid inputs test, which was faulty.

        Reviewed by Andreas Kling.

        * fast/hidpi/image-srcset-invalid-descriptor-expected.txt: Added.
        * fast/hidpi/image-srcset-invalid-descriptor.html: Added.
        * fast/hidpi/image-srcset-invalid-inputs-correct-src.html:
        * fast/hidpi/image-srcset-src-selection-1x-both-expected.txt: Added.
        * fast/hidpi/image-srcset-src-selection-1x-both.html: Added.
        * fast/hidpi/resources/srcset-helper.js:
        (runTest):

2014-03-01  Adenilson Cavalcanti  <cavalcantii@gmail.com>

        Set css3/filter/huge-region as skipped
        https://bugs.webkit.org/show_bug.cgi?id=129552

        It tries to use an insanely huge kernel for a huge blur filtered
        element while it is expected to *not* execute. Thanks to the changes
        introduced in #123716, this test will try to be executed and may
        timeout in some machines. The proper fix will follow up in #129553.

        Reviewed by Dirk Schulze.

        * TestExpectations:

2014-03-01  Benjamin Poulain  <benjamin@webkit.org>

        Optimized querySelector(All) when selector contains #id
        https://bugs.webkit.org/show_bug.cgi?id=116502

        Reviewed by Andreas Kling.

        * fast/selectors/querySelector-id-filtering-expected.txt: Added.
        * fast/selectors/querySelector-id-filtering.html: Added.

2014-02-28  Alexey Proskuryakov  <ap@apple.com>

        Node::compareDocumentPosition leaks memory structure
        https://bugs.webkit.org/show_bug.cgi?id=120244

        Reviewed by Ryosuke Niwa.

        * TestExpectations:
        * dom/xhtml/level3/core/nodecomparedocumentposition38-expected.txt:
        * fast/dom/compare-document-position-disconnected-nodes-expected.txt:
        * fast/dom/compare-document-position-disconnected-nodes.html:
        * fast/dom/shadow/compare-document-position-expected.txt:
        * fast/dom/shadow/compare-document-position.html:

2014-03-01  David Kilzer  <ddkilzer@apple.com>

        Fix lifetime handling of SVGPropertyTearOffs
        <http://webkit.org/b/129211>
        <rdar://problem/15696025>

        Reviewed by Maciej Stachowiak.

        Merged from Blink (patch by Ojan Vafai):
        https://src.chromium.org/viewvc/blink?revision=157801&view=revision
        http://crbug.com/288771

            -Replace SVGStaticPropertyWithParentTearOff with SVGMatrixTearOff
            since it's only used in that one place. This means we can get rid
            of the templatizing and the method pointer.
            -Change SVGPropertyTearOff to keep track of it's child tearoffs
            and call detachWrapper on its child tearoffs when it's destroyed
            or when it's wrapper is detached.
            -Have SVGPropertyTearOff hold WeakPtrs to the child tearoffs
            to avoid having a cycle.

        * svg/transforms/svg-matrix-tearoff-crash-expected.txt: Added.
        * svg/transforms/svg-matrix-tearoff-crash.html: Added.

2014-02-28  Benjamin Poulain  <benjamin@webkit.org>

        Caller saved registers can be accidentally discarded when clearing the local stack
        https://bugs.webkit.org/show_bug.cgi?id=129532

        Reviewed by Andreas Kling.

        * fast/selectors/tree-modifying-case-insensitive-selectors.html: Added.
        * fast/selectors/tree-modifying-selectors.html: Added.

2014-02-28  Adenilson Cavalcanti  <cavalcantii@gmail.com>

        Filters should test for area instead of single dimension
        https://bugs.webkit.org/show_bug.cgi?id=123716

        Reviewed by Dirk Schulze.

        A filtered SVG element with a sigle dimension bigger than 5000
        (counting the margin/border) will fail to render. So an element
        with 4000x4000 will render fine, while another with 5000x10
        won't. This patch instead tests against the total element area,
        which fixes such cases.

        The current patch fixes the rendering issue and at same time,
        fixes some layer violations where FilterEffectRenderer and
        RenderSVGResourceFilter were directly accessing the kMax value
        in FilterEffect. Since before a somewhat bigger filter would
        be aborted, it required to change the maximum kernel size
        for blur filter (some filters are slower to run than others for
        bigger SVGs).

        * svg/filters/big-height-filter-expected.svg: Added.
        * svg/filters/big-height-filter.svg: Added.
        * svg/filters/big-width-filter-expected.svg: Added.
        * svg/filters/big-width-filter.svg: Added.

2014-02-28  Zalan Bujtas  <zalan@apple.com>

        Add hiDPI support to DumpRenderTree/WebKitTestRunner without the need of reloading the test case.
        https://bugs.webkit.org/show_bug.cgi?id=129438

        Reviewed by Simon Fraser.

        'hidpi-' prefixed test cases now trigger 2x scale factor on the testing
        offscreen window. It makes testing subpixel rendering and positioning possible.

        Both the offscreen window's and WebKit's scaling are set accordingly.

        * fast/borders/hidpi-simple-hairline-border-painting-expected.html: Added.
        * fast/borders/hidpi-simple-hairline-border-painting.html: Added.

2014-02-28  Alexey Proskuryakov  <ap@apple.com>

        paragraphs with different directionality in textarea with unicode-bidi: plaintext are aligned the same
        https://bugs.webkit.org/show_bug.cgi?id=71194

        * platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
        Updated Mac results for Mavericks (the original patch only updated Mountain Lion results).

2014-02-28  Andreas Kling  <akling@apple.com>

        MouseEvent.offsetX/Y should just return 0,0 for simulated clicks.
        <https://webkit.org/b/129477>

        Add a test documenting the behavior of offsetX/Y on the simulated
        mouse events that get sent by HTMLElement.click().

        Reviewed by Alexey Proskuryakov.

        * fast/events/relative-offset-of-simulated-click-expected.txt: Added.
        * fast/events/relative-offset-of-simulated-click.html: Added.

2014-02-27  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Fix positioning grid items using named grid lines/areas
        https://bugs.webkit.org/show_bug.cgi?id=129372

        Reviewed by Darin Adler.

        Added a new test that checks that we correctly position grid items
        using named grid lines, grid areas and also with the implicit
        named grid lines created by grid areas.

        I'm also importing a test from Blink that checks that we can
        dynamically change the position of a grid item by changing the
        name of the grid lines used to position it.

        * fast/css-grid-layout/grid-item-position-changed-dynamic-expected.txt:
        Merged from Blink r153913 by <jchaffraix@chromium.org>.
        * fast/css-grid-layout/grid-item-position-changed-dynamic.html: Ditto.
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution-expected.txt: Added.
        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html: Added.

2014-02-28  Mario Sanchez Prada  <mario.prada@samsung.com>

        paragraphs with different directionality in textarea with unicode-bidi: plaintext are aligned the same
        https://bugs.webkit.org/show_bug.cgi?id=71194

        Reviewed by David Hyatt.

        Merged from Blink r157263 by <igor.o@sisa.samsung.com>
        <https://src.chromium.org/viewvc/blink?revision=157263&view=revision>

        Modified expectations for two layout tests to make them conforming to the spec.

        * fast/text/international/unicode-bidi-plaintext-expected.html:
        * platform/gtk/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
        * platform/mac-mountainlion/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:

2014-02-28  Jochen Eisinger  <jochen@chromium.org>

        Update meta-referrer behavior for invalid policies
        https://bugs.webkit.org/show_bug.cgi?id=129475

        Reviewed by Alexey Proskuryakov.

        * http/tests/security/referrer-policy-invalid-expected.txt: Added.
        * http/tests/security/referrer-policy-invalid.html: Added.

2014-02-28  Daniel Bates  <dabates@apple.com>

        SubresourceLoader::didFinishLoading() should not assert when a decode error occurs
        https://bugs.webkit.org/show_bug.cgi?id=127029

        Reviewed by Darin Adler.

        Added a test to ensure that we don't cause an assertion failure when an image fails
        to load because of a decode error. In particular, the estimated decoded image size
        exceeds the maximum decoded image size.

        * fast/images/decoded-size-exceeds-max-decoded-size-expected.txt: Added.
        * fast/images/decoded-size-exceeds-max-decoded-size.html: Added.

2014-02-28  Martin Hodovan  <mhodovan@inf.u-szeged.hu>

        ASSERTION FAILED: roundedIntPoint(rendererMappedResult) == roundedIntPoint(result) in WebCore::RenderGeometryMap::mapToContainer
        https://bugs.webkit.org/show_bug.cgi?id=119626

        Backported from Blink: https://codereview.chromium.org/143363004

        Reviewed by Simon Fraser.

        * svg/transforms/svg-geometry-crash-expected.txt: Added.
        * svg/transforms/svg-geometry-crash.html: Added.

2014-02-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r164859.
        http://trac.webkit.org/changeset/164859
        https://bugs.webkit.org/show_bug.cgi?id=129483

        caused WK1 crashes (DumpRenderTree) (Requested by zalan on
        #webkit).

        * fast/borders/hidpi-simple-hairline-border-painting-expected.html: Removed.
        * fast/borders/hidpi-simple-hairline-border-painting.html: Removed.

2014-02-28  Zalan Bujtas  <zalan@apple.com>

        Add hiDPI support to DumpRenderTree/WebKitTestRunner without the need of reloading the test case.
        https://bugs.webkit.org/show_bug.cgi?id=129438

        Reviewed by Simon Fraser.

        'hidpi-' prefixed test cases now trigger 2x scale factor on the testing
        offscreen window. It makes testing subpixel rendering and positioning possible.

        Both the offscreen window's and WebKit's scaling are set accordingly.

        * fast/borders/hidpi-simple-hairline-border-painting-expected.html: Added.
        * fast/borders/hidpi-simple-hairline-border-painting.html: Added.

2014-02-28  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] ASSERTION FAILED: !m_regionsInvalidated in RenderFlowThread::regionAtBlockOffset
        https://bugs.webkit.org/show_bug.cgi?id=129371

        Reviewed Andrei Bucur.

        * compositing/regions/video-in-overflow-region-expected.txt: Added.
        * compositing/regions/video-in-overflow-region.html: Added.

2014-02-27  Benjamin Poulain  <benjamin@webkit.org>

        Compile attribute value matching
        https://bugs.webkit.org/show_bug.cgi?id=129228

        Reviewed by Geoffrey Garen.

        * fast/selectors/case-insensitive-value-matching-expected.txt: Added.
        * fast/selectors/case-insensitive-value-matching.html: Added.
        Test the various cases that require more register than the common case.

        The values match Firefox behavior.

2014-02-27  Alexey Proskuryakov  <ap@apple.com>

        css3/compositing/isolation-isolate-blended-child.html fails
        https://bugs.webkit.org/show_bug.cgi?id=129468

        * platform/mac-wk2/TestExpectations: Marked as failing on OS X 10.8 Debug WK2.
        Not sure if it's hardware related or dependent on confuguration in some other way.

2014-02-27  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Enable support of X-Content-Type-Options: nosniff header for EFL
        https://bugs.webkit.org/show_bug.cgi?id=128673

        Reviewed by Gyuyoung Kim.

        * http/tests/security/contentTypeOptions/nosniff-script-blocked-expected.txt:
        * http/tests/security/contentTypeOptions/nosniff-script-without-content-type-blocked-expected.txt:
        Updated expectations as console output now includes line numbers.
        * platform/efl/TestExpectations:
        Unskipped http/tests/security/contentTypeOptions tests.


2014-02-27  Timothy Hatcher  <timothy@apple.com>

        Improve how ContentSearchUtilities::lineEndings works by supporting the three common line endings.

        https://bugs.webkit.org/show_bug.cgi?id=129458

        Reviewed by Joseph Pecoraro.

        * inspector-protocol/debugger/resources/mac-linebreaks.js: Added.
        * inspector-protocol/debugger/resources/mixed-linebreaks.js: Added.
        * inspector-protocol/debugger/resources/unix-linebreaks.js: Added.
        * inspector-protocol/debugger/resources/windows-linebreaks.js: Added.
        * inspector-protocol/debugger/searchInContent-linebreaks-expected.txt: Added.
        * inspector-protocol/debugger/searchInContent-linebreaks.html: Added.

2014-02-27  Brian Burg  <bburg@apple.com>

        Unreviewed, update test expectations after r164830.

        Inspector test dom/dom-search-crash.html times out in release builds
        https://bugs.webkit.org/show_bug.cgi?id=129462

        Web Inspector model tests load wrong inspector page under WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=129460

        * TestExpectations: Updating test expectations.
        * platform/wk2/TestExpectations: Updating test expectations.

2014-02-17  Myles C. Maxfield  <mmaxfield@apple.com>

        text-decoration-skip: ink does not skip over SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=128936

        Reviewed by Darin Adler.

        This font simply draws some underlined text with a SVG font and makes sure the underline skips.

        * fast/css3-text/css3-text-decoration/text-decoration-skip/resources/Litherum.svg: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg-expected.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg.html: Added.

2014-02-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WebRTC] Removing MediaConstraints argument from RTCPeerConnection addStream, updateIce methods and constructor
        https://bugs.webkit.org/show_bug.cgi?id=129449

        Reviewed by Eric Carlson.

        According to WebRTC editor's draft, MediaConstraints will no longer be an argument of those methods and
        constructor.

        * fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
        * fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
        * fast/mediastream/RTCPeerConnection-expected.txt:
        * fast/mediastream/RTCPeerConnection.html:

2014-02-27  Brian Burg  <bburg@apple.com>

        Web Inspector: model tests should use a special Test.html inspector page
        https://bugs.webkit.org/show_bug.cgi?id=129190

        Reviewed by Timothy Hatcher.

        Add a stripped-down version of the inspector test script that's used by
        all inspector model tests. Clean up the namespaces so things accessible
        from only the test page are part of the `InspectorTestProxy` object.

        Add a minimal test that exercises the initialization and communication code
        paths on the test page and the inspector page.

        * http/tests/inspector-protocol/resources/InspectorTest.js: Add a FIXME.
        * inspector/inspector-test.js: Added.
        (InspectorTestProxy.register):
        (runTest.initializeFrontend):
        (runTest.runTestInFrontend):
        (runTest):
        (InspectorTestProxy.completeTest):
        (InspectorTestProxy.debugLog):
        (InspectorTestProxy.addResult):
        (InspectorTestProxy.clearResults):
        (InspectorTestProxy.reportUncaughtException):
        * inspector/test-harness-trivially-works-expected.txt: Added.
        * inspector/test-harness-trivially-works.html: Added.

2014-02-27  Dirk Schulze  <krit@webkit.org>

        Transform more clip-path pixel tests to reference tests
        https://bugs.webkit.org/show_bug.cgi?id=129230

        Reviewed by Simon Fraser.

        Fix masking test.

        * svg/masking/mask-negative-scale.svg:

2014-02-27  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>

        Math.{max, min}() must not return after first NaN value
        https://bugs.webkit.org/show_bug.cgi?id=104147

        Reviewed by Oliver Hunt.

        Extended the Math.{max, min}() tests, to check that these methods are return after first NaN value or not.

        * js/math-expected.txt:
        * js/script-tests/math.js:

2014-02-27  Chris Fleizach  <cfleizach@apple.com>

        speechSynthesis.speak of a zero length utterance kills future speech
        https://bugs.webkit.org/show_bug.cgi?id=129403

        Reviewed by Mario Sanchez Prada.

        * platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Added.
        * platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Added.

2014-02-27  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r164783.
        http://trac.webkit.org/changeset/164783
        https://bugs.webkit.org/show_bug.cgi?id=129425

        Broke number of multicol tests (Requested by anttik on
        #webkit).

        * fast/css/crash-on-column-splitting-expected.txt: Removed.
        * fast/css/crash-on-column-splitting.html: Removed.

2014-02-27  Antoine Quint  <graouts@webkit.org>

        Respect SVG fragment identifiers in <img> src attribute
        https://bugs.webkit.org/show_bug.cgi?id=129387

        Reviewed by Antti Koivisto.

        Test that we correctly handle the fragment identifier used in SVG URLs in <img> elements,
        checking for correct srcset handling as well.

        * svg/css/resources/fragment-identifiers.svg: Added.
        * svg/css/svg-resource-fragment-identifier-img-src-expected.html: Added.
        * svg/css/svg-resource-fragment-identifier-img-src.html: Added.

2014-02-27  Mihai Tica  <mitica@adobe.com>

        [CSS Blending] Parse and implement the -webkit-isolation CSS property.

        https://bugs.webkit.org/show_bug.cgi?id=128958

        Reviewed by Dirk Schulze.

        Test parsing of -webkit-isolation. Test if setting -webkit-isolation: isolate creats a stacking context.
        Test for SVG and HTML that blending is restricted to the contents of an isolated parent element.

        * css3/compositing/isolation-isolate-blended-child-expected.html: Added.
        * css3/compositing/isolation-isolate-blended-child.html: Added.
        * css3/compositing/isolation-isolate-simple-expected.txt: Added.
        * css3/compositing/isolation-parsing-expected.txt: Added.
        * css3/compositing/isolation-parsing.html: Added.
        * css3/compositing/svg-isolation-default-expected.html: Added.
        * css3/compositing/svg-isolation-default.html: Added.
        * css3/compositing/svg-isolation-isolated-group-expected.html: Added.
        * css3/compositing/svg-isolation-isolated-group.html: Added.
        * css3/compositing/svg-isolation-simple-expected.html: Added.
        * css3/compositing/svg-isolation-simple.html: Added.

2014-02-27  Krzysztof Czech  <k.czech@samsung.com>

        [ATK] Utilize AtkTableCell to expose directly AccessibilityTableCell to AT
        https://bugs.webkit.org/show_bug.cgi?id=129250

        Reviewed by Mario Sanchez Prada.

        Sharing test with GTK/EFL.

        * accessibility/table-scope-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-scope-expected.txt.
        * accessibility/table-scope.html: Renamed from LayoutTests/platform/mac/accessibility/table-scope.html.
        * platform/win/TestExpectations: Skipping on windows, missing implementation.

2014-02-27  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>

        Improving containing column block determination
        https://bugs.webkit.org/show_bug.cgi?id=125449

        Reviewed by Darin Adler.

        * fast/css/crash-on-column-splitting-expected.txt: Added.
        * fast/css/crash-on-column-splitting.html: Added.

2014-02-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GTK] Improve JavaScript multimedia controls
        https://bugs.webkit.org/show_bug.cgi?id=129044

        Reviewed by Jer Noble.

        * media/controls-without-preload.html: Fixed.
        * platform/gtk/accessibility/media-controls-panel-title-expected.txt:
        * platform/gtk/accessibility/media-controls-panel-title.html:
        * platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
        * platform/gtk/media/video-volume-slider-expected.png:
        * platform/gtk/media/video-volume-slider-expected.txt:
        * platform/gtk/media/video-zoom-controls-expected.txt: Rebaseline.

2014-02-26  Ryosuke Niwa  <rniwa@webkit.org>

        Indenting an indented image element resulted in an extra indentation
        https://bugs.webkit.org/show_bug.cgi?id=129201

        Reviewed by Enrica Casucci.

        Added a regression test.

        * editing/execCommand/indent-img-twice-expected.txt: Added.
        * editing/execCommand/indent-img-twice.html: Added.

2014-02-26  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] inset and inset-rectangle trigger assert with replaced element and large percentage dimension
        https://bugs.webkit.org/show_bug.cgi?id=129060

        Reviewed by Simon Fraser.

        * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-negative-width-crash-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-negative-width-crash.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash-expected.txt: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html: Added.

2014-02-26  Myles C. Maxfield  <mmaxfield@apple.com>

        Underlines are too thick when zoomed in
        https://bugs.webkit.org/show_bug.cgi?id=129352

        Reviewed by Dean Jackson.

        This test changes the page scale factor to a very large value, simulating
        the user zooming in with a trackpad. It then positions the viewport
        to a place where the underline should not be drawn. It then compares this
        to a completely white page.

        This explanation cannot be in the test itself because the test sets the
        scale factor too high for the tester to be able to read text.

        * fast/css3-text/css3-text-decoration/text-decoration-scaled-expected.html: Added.
        * fast/css3-text/css3-text-decoration/text-decoration-scaled.html: Added.

2014-02-26  Oliver Hunt  <oliver@apple.com>

        Function.prototype.apply has a bad time with the spread operator
        https://bugs.webkit.org/show_bug.cgi?id=129381

        Reviewed by Mark Hahnenberg.

        Add tests

        * js/regress/call-spread-apply-expected.txt: Added.
        * js/regress/call-spread-apply.html: Added.
        * js/regress/script-tests/call-spread-apply.js: Added.
        (testFunction):
        (test2):
        (test3):

2014-02-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove console.profiles from window.console API
        https://bugs.webkit.org/show_bug.cgi?id=116883

        Reviewed by Timothy Hatcher.

        * fast/profiler/resources/profiler-test-JS-resources.js:
        (printHeavyProfilesDataWithoutTime):
        (printProfilesDataWithoutTime):

2014-02-26  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Check default getComputedStyle() return values for grid properties
        https://bugs.webkit.org/show_bug.cgi?id=129092

        Reviewed by Darin Adler.

        Added checks for several CSS Grid Layout properties. According to
        the specs, the ones we have implemented so far should be all of
        them "auto" but grid-template-{rows|columns}, grid-auto-flow and
        grid-template-areas that should be "none" by default.

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * fast/css/getComputedStyle/resources/property-names.js:
        * svg/css/getComputedStyle-basic-expected.txt:

2014-02-26  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GTK] Regression when showing the captions menu
        https://bugs.webkit.org/show_bug.cgi?id=129106

        Reviewed by Martin Robinson.

        Checked in an existing test that the menu is shown then the
        captions button is clicked.

        * media/trackmenu-test.js:
        (startTrackMenuTest): Deactivated animations
        * media/video-controls-captions-trackmenu.html: Added check for
        the regression we are testing.

2014-02-25  Frédéric Wang  <fred.wang@free.fr>

        Add support for minsize/maxsize attributes.
        https://bugs.webkit.org/show_bug.cgi?id=122567

        Reviewed by Chris Fleizach.

        Add some reftests for the minsize/maxsize attributes of the mo element.

        * platform/mac/mathml/presentation/mo-stretch-expected.txt:
        * mathml/presentation/stretchy-minsize-maxsize-dynamic-expected.html: Added.
        * mathml/presentation/stretchy-minsize-maxsize-dynamic.html: Added.
        * mathml/presentation/stretchy-minsize-maxsize-expected.html: Added.
        * mathml/presentation/stretchy-minsize-maxsize.html: Added.

2014-02-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Port some profiler tests to inspector-protocol
        https://bugs.webkit.org/show_bug.cgi?id=129353

        Reviewed by Timothy Hatcher.

        * inspector-obsolete/profiler/cpu-profiler-parameterless-profile-end-crash-expected.txt: Removed.
        * inspector-obsolete/profiler/cpu-profiler-parameterless-profile-end-crash.html: Removed.
        * inspector-obsolete/profiler/cpu-profiler-profiling-without-inspector-expected.txt: Removed.
        * inspector-obsolete/profiler/cpu-profiler-profiling-without-inspector.html: Removed.
        * inspector-protocol/profiler/console-profile-expected.txt: Added.
        * inspector-protocol/profiler/console-profile.html: Added.
        * inspector-protocol/profiler/console-profileEnd-parameterless-expected.txt: Added.
        * inspector-protocol/profiler/console-profileEnd-parameterless.html: Added.

2014-02-25  Samuel White  <samuel_white@apple.com>

        Add accessibility search predicate support for AXOutlines
        https://bugs.webkit.org/show_bug.cgi?id=123748

        Reviewed by Chris Fleizach.

        Updated test to validate support for AXOutlineSearchKey (elements with aria role=tree).

        * platform/mac/accessibility/search-predicate-expected.txt:
        * platform/mac/accessibility/search-predicate.html:

2014-02-25  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>

        display:table with padding and/or borders in border-box calculates height incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=126576

        Reviewed by David Hyatt.

        Based on blink issue https://codereview.chromium.org/25206002/

        * fast/box-sizing/css-table-collapse-expected.txt: Added.
        * fast/box-sizing/css-table-collapse.html: Added.
        * fast/box-sizing/css-table-no-collapse-expected.txt: Added.
        * fast/box-sizing/css-table-no-collapse.html: Added.
        * fast/box-sizing/table-collapse-expected.txt: Added.
        * fast/box-sizing/table-collapse.html: Added.
        * fast/box-sizing/table-no-collapse-expected.txt: Added.
        * fast/box-sizing/table-no-collapse.html: Added.

2014-02-25  Alexey Proskuryakov  <ap@apple.com>

        inspector-protocol/page/deny-X-FrameOption.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=129331

        * TestExpectations: Marking as such.

2014-02-25  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: All inspector-protocol/model very frequently assert in IDBRequest::~IDBRequest
        https://bugs.webkit.org/show_bug.cgi?id=129328

        inspector-protocol/indexeddb/basics.html fails
        https://bugs.webkit.org/show_bug.cgi?id=129327

        * TestExpectations: Updating test expectations.

2014-02-25  Morten Stenshorne  <mstensho@opera.com>

        [New Multicolumn] -webkit-column-break-inside:avoid doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=129299

        Reviewed by Andrei Bucur.

        * fast/multicol/newmulticol/avoid-column-break-inside-expected.html: Added.
        * fast/multicol/newmulticol/avoid-column-break-inside.html: Added.

2014-02-25  Grzegorz Czajkowski  <g.czajkowski@samsung.com>

        Refactoring inline_spelling_markers.html to use asynchronous spellchecking
        https://bugs.webkit.org/show_bug.cgi?id=127284

        Reviewed by Ryosuke Niwa.

        Use asynchronous text checking in inline-spelling-markers.html and
        inline-spelling-markers-hidpi.html

        Rename the test to inline-spelling-markers.html to match the naming convention.

        * editing/spelling/inline-spelling-markers-expected.txt: Added.
        Make cross platform text expectation by dumping spelling/grammar markers
        instead of whole tree which in terms of spellchecking says nothing.

        * editing/spelling/inline-spelling-markers.html: Added.
        Remove unnecessary new lines from div elements so position of markers can be given from 0.
        Activate text checking by adding a word separator so WebKit starts performing spell and grammar
        checking. Selection change does not invoke grammar checking unless we start editing the input
        element's content.

        * platform/efl/editing/spelling/inline_spelling_markers-expected.png: Removed.
        * platform/efl/editing/spelling/inline_spelling_markers-expected.txt: Removed.
        * platform/gtk/editing/spelling/inline_spelling_markers-expected.png: Removed.
        * platform/gtk/editing/spelling/inline_spelling_markers-expected.txt: Removed.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.png: Removed.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.txt: Removed.
        Those are not needed as pixel tests don't introduce anything special here.
        Let's keep them in hidpi test only.

        * editing/spelling/inline-spelling-markers-hidpi-expected.txt:
        * editing/spelling/inline-spelling-markers-hidpi.html:
        Apply changes from inline-spelling-markers.html

        * platform/mac/editing/spelling/inline-spelling-markers-hidpi-expected.png: Added.

        * platform/efl/editing/spelling/inline-spelling-markers-hidpi-expected.png: Removed.
        * platform/gtk/editing/spelling/inline-spelling-markers-hidpi-expected.png: Removed.
        Remove wrong baselines due to missing grammar markers.

        * platform/efl-wk2/TestExpectations:
        * platform/gtk/TestExpectations:
        Mark inline-spelling-markers.html and its hidpi version as failures
        since EFL and GTK do not implement grammar checking.

        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        Mark inline-spelling-markers.html and its hidpi version as failures
        due to missing TextChecker::requestCheckingOfString() implementation.

2014-02-25  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] scrollIntoView for elements flowed into regions
        https://bugs.webkit.org/show_bug.cgi?id=129151

        Reviewed by Mihnea Ovidenie.

        Added tests for scrollIntoView on elements flowed inside regions.

        * fast/regions/scroll-into-view-expected.html: Added.
        * fast/regions/scroll-into-view-relative-expected.html: Added.
        * fast/regions/scroll-into-view-relative.html: Added.
        * fast/regions/scroll-into-view.html: Added.

2014-02-25  Mihai Tica  <mitica@adobe.com>

        [CSS Blending] -webkit-mix-blend-mode should force transform-style: flat.
        https://bugs.webkit.org/show_bug.cgi?id=126158

        Reviewed by Mihnea Ovidenie.

        For an element with -webkit-mix-blend-mode, test that the value of -webkit-transform-style computes to flat.

        * css3/compositing/blend-mode-transform-style-expected.txt: Added.
        * css3/compositing/blend-mode-transform-style.html: Added.

2014-02-24  Chris Fleizach  <cfleizach@apple.com>

        AX: Support abbr, acronym
        https://bugs.webkit.org/show_bug.cgi?id=128860

        Reviewed by Mario Sanchez Prada.

        * platform/mac/accessibility/abbr-acronym-tags-expected.txt: Added.
        * platform/mac/accessibility/abbr-acronym-tags.html: Added.

2014-02-24  Oliver Hunt  <oliver@apple.com>

        Spread operator has a bad time when applied to call function
        https://bugs.webkit.org/show_bug.cgi?id=128853

        Reviewed by Geoffrey Garen.

        Test case all the things!

        * js/regress/call-spread-call-expected.txt: Added.
        * js/regress/call-spread-call.html: Added.
        * js/regress/script-tests/call-spread-call.js: Added.
        (testFunction):
        (test2):
        (test3):

2014-02-24  Filip Pizlo  <fpizlo@apple.com>

        FTL should do polymorphic PutById inlining
        https://bugs.webkit.org/show_bug.cgi?id=129210

        Reviewed by Mark Hahnenberg and Oliver Hunt.
        
        Add a microbenchmark for polymorphic PutById.

        * js/regress/polymorphic-put-by-id-expected.txt: Added.
        * js/regress/polymorphic-put-by-id.html: Added.
        * js/regress/script-tests/polymorphic-put-by-id.js: Added.
        (foo):

2014-02-24  Samuel White  <samuel_white@apple.com>

        AX: AccessibilityObject::findMatchingObjects should never include 'this' in results.
        https://bugs.webkit.org/show_bug.cgi?id=129243

        Reviewed by Chris Fleizach.

        Added test to ensure that the container you are searching in can never be a search result.

        * platform/mac/accessibility/search-predicate-container-not-included-expected.txt: Added.
        * platform/mac/accessibility/search-predicate-container-not-included.html: Added.

2014-02-24  Samuel White  <samuel_white@apple.com>

        AX: findMatchingObjects backwards start position inconsistent with forwards start position when startObject == nullptr.
        https://bugs.webkit.org/show_bug.cgi?id=129266

        Reviewed by Chris Fleizach.

        Added test to ensure that searching backward & forward without a start object produces similar
        results. Backward will begin from the end of the container and forward will begin from the start.

        * platform/mac/accessibility/search-predicate-start-not-specified-expected.txt: Added.
        * platform/mac/accessibility/search-predicate-start-not-specified.html: Added.

2014-02-24  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Adjust lineTop position to the next available wrapping location at shape-outsides
        https://bugs.webkit.org/show_bug.cgi?id=128693

        Reviewed by David Hyatt.

        * fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment-expected.html: Added.
        * fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html: Added.

2014-02-24  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] handle undefined RemainingSpace in computeUsedBreadthOfGridTracks algorithm
        https://bugs.webkit.org/show_bug.cgi?id=128372

        Reviewed by David Hyatt.

        From Blink r165692 by <svillar@igalia.com>

        Adapt tests to consider also cases for undefined RemainingSpace.

        * fast/css-grid-layout/flex-and-minmax-content-resolution-rows-expected.txt:
        * fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
        * fast/css-grid-layout/flex-content-resolution-rows-expected.txt:
        * fast/css-grid-layout/flex-content-resolution-rows.html:
        * fast/css-grid-layout/grid-auto-columns-rows-update-expected.txt:
        * fast/css-grid-layout/grid-auto-columns-rows-update.html:
        * fast/css-grid-layout/grid-dynamic-updates-relayout-expected.txt:
        * fast/css-grid-layout/grid-dynamic-updates-relayout.html:
        * fast/css-grid-layout/grid-item-addition-track-breadth-update-expected.txt:
        * fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
        * fast/css-grid-layout/grid-item-multiple-minmax-content-resolution-expected.txt:
        * fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
        * fast/css-grid-layout/grid-item-removal-track-breadth-update-expected.txt:
        * fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
        * fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution-expected.txt:
        * fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
        * fast/css-grid-layout/implicit-position-dynamic-change-expected.txt:
        * fast/css-grid-layout/implicit-position-dynamic-change.html:
        * fast/css-grid-layout/minmax-max-content-resolution-rows-expected.txt:
        * fast/css-grid-layout/minmax-max-content-resolution-rows.html:
        * fast/css-grid-layout/minmax-min-content-column-resolution-rows-expected.txt:
        * fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
        * fast/css-grid-layout/minmax-spanning-resolution-rows-expected.txt:
        * fast/css-grid-layout/minmax-spanning-resolution-rows.html:

2014-02-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WebRTC] Validating RTCConfiguration according to the spec
        https://bugs.webkit.org/show_bug.cgi?id=129182

        Reviewed by Eric Carlson.

        Spec states that:
            - iceServers should not be an empty list
            - the entry in the configuration dictionary is "urls", instead of "url"
            - urls can be either a list or a string
        Fixing all that in RTCConfiguration validation when creating a RTCPeerConnection

        * fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
        * fast/mediastream/RTCPeerConnection-createAnswer.html:
        * fast/mediastream/RTCPeerConnection-createOffer.html:
        * fast/mediastream/RTCPeerConnection-datachannel.html:
        * fast/mediastream/RTCPeerConnection-dtmf.html:
        * fast/mediastream/RTCPeerConnection-events.html:
        * fast/mediastream/RTCPeerConnection-expected.txt:
        * fast/mediastream/RTCPeerConnection-have-local-answer.html:
        * fast/mediastream/RTCPeerConnection-have-local-offer.html:
        * fast/mediastream/RTCPeerConnection-have-local-pranswer.html:
        * fast/mediastream/RTCPeerConnection-have-remote-offer.html:
        * fast/mediastream/RTCPeerConnection-have-remote-pranswer.html:
        * fast/mediastream/RTCPeerConnection-ice-expected.txt:
        * fast/mediastream/RTCPeerConnection-ice.html:
        * fast/mediastream/RTCPeerConnection-localDescription.html:
        * fast/mediastream/RTCPeerConnection-onnegotiationneeded.html:
        * fast/mediastream/RTCPeerConnection-remoteDescription.html:
        * fast/mediastream/RTCPeerConnection-stable.html:
        * fast/mediastream/RTCPeerConnection-state-expected.txt:
        * fast/mediastream/RTCPeerConnection-state.html:
        * fast/mediastream/RTCPeerConnection-stats-expected.txt:
        * fast/mediastream/RTCPeerConnection-stats.html:
        * fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
        * fast/mediastream/RTCPeerConnection-statsSelector.html:
        * fast/mediastream/RTCPeerConnection.html:

2014-02-24  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile
        https://bugs.webkit.org/show_bug.cgi?id=129254

        Reviewed by Antti Koivisto.

        Added test for the painting across tiles of relative positioned elements flowed into regions.

        * fast/regions/content-relative-next-tile-expected.html: Added.
        * fast/regions/content-relative-next-tile.html: Added.

2014-02-24  Dirk Schulze  <krit@webkit.org>

        Transform more clip-path pixel tests to reference tests
        https://bugs.webkit.org/show_bug.cgi?id=129230

        Reviewed by Andreas Kling.

        * svg/clip-path/clip-path-content-use-007-expected.svg: Added.
        * svg/clip-path/clip-path-content-use-007.svg: Added.
        * svg/clip-path/clip-path-css-transform-003-expected.svg: Added.
        * svg/clip-path/clip-path-css-transform-003.svg: Added.
        * svg/clip-path/clip-path-css-transform-004-expected.svg: Added.
        * svg/clip-path/clip-path-css-transform-004.svg: Added.
        * svg/clip-path/clip-path-document-change-assert-expected.txt: Renamed from LayoutTests/svg/custom/clip-path-document-change-assert-expected.txt.
        * svg/clip-path/clip-path-document-change-assert.html: Renamed from LayoutTests/svg/custom/clip-path-document-change-assert.html.
        * svg/clip-path/clip-path-dom-child-changes-expected.svg: Added.
        * svg/clip-path/clip-path-dom-child-changes.svg: Added.
        * svg/clip-path/clip-path-dom-clippathunits-expected.svg: Added.
        * svg/clip-path/clip-path-dom-clippathunits.svg: Added.
        * svg/clip-path/clip-path-dom-href-expected.svg: Added.
        * svg/clip-path/clip-path-dom-href.svg: Added.
        * svg/clip-path/clip-path-dom-id-expected.svg: Added.
        * svg/clip-path/clip-path-dom-id.svg: Added.
        * svg/clip-path/clip-path-negative-scale-expected.svg: Added.
        * svg/clip-path/clip-path-negative-scale.svg: Added.
        * svg/clip-path/clip-path-no-content-004-expected.svg: Added.
        * svg/clip-path/clip-path-no-content-004.svg: Added.
        * svg/clip-path/clip-path-on-marker-001-expected.svg: Added.
        * svg/clip-path/clip-path-on-marker-001.svg: Added.
        * svg/clip-path/clip-path-on-marker-002-expected.svg: Added.
        * svg/clip-path/clip-path-on-marker-002.svg: Added.
        * svg/clip-path/clip-path-on-marker-003-expected.svg: Added.
        * svg/clip-path/clip-path-on-marker-003.svg: Added.
        * svg/clip-path/clip-path-recursion-001-expected.svg: Renamed from LayoutTests/svg/custom/circular-clip-path-references-crash-expected.svg.
        * svg/clip-path/clip-path-recursion-001.svg: Renamed from LayoutTests/svg/custom/circular-clip-path-references-crash.svg.
        * svg/clip-path/clip-path-recursion-002-expected.svg: Added.
        * svg/clip-path/clip-path-recursion-002.svg: Added.
        * svg/clip-path/clip-path-shape-stroke-expected.svg:
        * svg/clip-path/clip-path-with-transform-expected.svg: Added.
        * svg/clip-path/clip-path-with-transform.svg: Added.
        * svg/clip-path/mask-nested-clip-path-010-expected.svg: Renamed from LayoutTests/svg/custom/clamped-masking-clipping-expected.svg.
        * svg/clip-path/mask-nested-clip-path-010.svg: Renamed from LayoutTests/svg/custom/clamped-masking-clipping.svg.
        * svg/custom/clip-mask-negative-scale-expected.txt: Removed.
        * svg/custom/clip-mask-negative-scale.svg: Removed.
        * svg/custom/clip-path-child-changes-expected.txt: Removed.
        * svg/custom/clip-path-child-changes.svg: Removed.
        * svg/custom/clip-path-href-changes-expected.txt: Removed.
        * svg/custom/clip-path-href-changes.svg: Removed.
        * svg/custom/clip-path-id-changes-expected.txt: Removed.
        * svg/custom/clip-path-id-changes.svg: Removed.
        * svg/custom/clip-path-referencing-use.svg: Removed.
        * svg/custom/clip-path-referencing-use2.svg: Removed.
        * svg/custom/clip-path-units-changes-expected.txt: Removed.
        * svg/custom/clip-path-units-changes.svg: Removed.
        * svg/custom/clip-path-with-css-transform-1-expected.txt: Removed.
        * svg/custom/clip-path-with-css-transform-1.svg: Removed.
        * svg/custom/clip-path-with-css-transform-2-expected.txt: Removed.
        * svg/custom/clip-path-with-css-transform-2.svg: Removed.
        * svg/custom/clip-path-with-transform-expected.txt: Removed.
        * svg/custom/clip-path-with-transform.svg: Removed.
        * svg/custom/empty-clip-path.svg: Removed.
        * svg/custom/recursive-clippath.svg: Removed.
        * svg/masking/mask-negative-scale.svg: Added.
        * svg/masking/mast-negative-scale-expected.svg: Added.

2014-02-24  Dirk Schulze  <krit@webkit.org>

        Transform more clip-path pixel tests to reference tests
        https://bugs.webkit.org/show_bug.cgi?id=129230

        Reviewed by Andreas Kling.

        Remove unnecessary pixel test results.

        * platform/efl/svg/custom/clip-mask-negative-scale-expected.png: Removed.
        * platform/gtk/svg/custom/clip-mask-negative-scale-expected.png: Removed.
        * platform/gtk/svg/custom/clip-mask-negative-scale-expected.txt: Removed.
        * platform/gtk/svg/custom/clip-path-child-changes-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-href-changes-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-id-changes-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-referencing-use-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-referencing-use-expected.txt: Removed.
        * platform/gtk/svg/custom/clip-path-referencing-use2-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-referencing-use2-expected.txt: Removed.
        * platform/gtk/svg/custom/clip-path-units-changes-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-with-css-transform-1-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-with-css-transform-2-expected.png: Removed.
        * platform/gtk/svg/custom/clip-path-with-transform-expected.png: Removed.
        * platform/gtk/svg/custom/empty-clip-path-expected.png: Removed.
        * platform/gtk/svg/custom/empty-clip-path-expected.txt: Removed.
        * platform/gtk/svg/custom/recursive-clippath-expected.png: Removed.
        * platform/gtk/svg/custom/recursive-clippath-expected.txt: Removed.
        * platform/mac/svg/custom/clip-mask-negative-scale-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-child-changes-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-display-none-child-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-display-none-child-expected.txt: Removed.
        * platform/mac/svg/custom/clip-path-href-changes-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-id-changes-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-referencing-use-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-referencing-use-expected.txt: Removed.
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.txt: Removed.
        * platform/mac/svg/custom/clip-path-units-changes-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-with-css-transform-1-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-with-css-transform-2-expected.png: Removed.
        * platform/mac/svg/custom/clip-path-with-transform-expected.png: Removed.
        * platform/mac/svg/custom/empty-clip-path-expected.png: Removed.
        * platform/mac/svg/custom/empty-clip-path-expected.txt: Removed.
        * platform/mac/svg/custom/recursive-clippath-expected.png: Removed.
        * platform/mac/svg/custom/recursive-clippath-expected.txt: Removed.

2014-02-24  Mihai Tica  <mitica@adobe.com>

        [CSS Blending] An element having -webkit-mix-blend-mode should only blend with the contents of the parent stacking context
        https://bugs.webkit.org/show_bug.cgi?id=129154

        Reviewed by Dean Jackson.

        Test that isolation is performed for blending, in other words, an element having -webkit-mix-blend-mode is blending with the
        contents of the parent stacking context, but not with any of the underlying content.

        * css3/compositing/blend-mode-isolated-group-1.html: Added.
        * css3/compositing/blend-mode-isolated-group-2.html: Added.
        * css3/compositing/blend-mode-isolated-group-3.html: Added.
        * platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.png: Added.
        * platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.png: Added.
        * platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.txt: Added.
        * platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.png: Added.
        * platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.txt: Added.

2014-02-24  Krzysztof Czech  <k.czech@samsung.com>

        [ATK] Wrong selected element at a given index in a list box.
        https://bugs.webkit.org/show_bug.cgi?id=129039

        Reviewed by Chris Fleizach.

        Proposed test that checks whether correct element at a given index is retrieved.
        Also testing some other scenarios such as removing selection from rows, counting all
        selected rows and setting selection.

        * accessibility/select-element-at-index-expected.txt: Added.
        * accessibility/select-element-at-index.html: Added.
        * platform/mac/TestExpectations: Skipping test in Mac, missing implementation.

2014-02-23  Dean Jackson  <dino@apple.com>

        [WebGL] Allow ANGLE to initialize unused varyings
        https://bugs.webkit.org/show_bug.cgi?id=129240
        <rdar://problem/15203342>

        Reviewed by Sam Weinig.

        Unskip conformance/glsl/misc/shaders-with-varyings.html.

        * platform/mac/TestExpectations:

2014-02-22  Alexey Proskuryakov  <ap@apple.com>

        Rename JWK key_ops values from wrap/unwrap to wrapKey/unwrapKey
        https://bugs.webkit.org/show_bug.cgi?id=129121

        Reviewed by Sam Weinig.

        * crypto/subtle/aes-export-key-expected.txt:
        * crypto/subtle/aes-export-key.html:
        * crypto/subtle/jwk-export-use-values-expected.txt:
        * crypto/subtle/jwk-export-use-values.html:
        * crypto/subtle/jwk-import-use-values-expected.txt:
        * crypto/subtle/jwk-import-use-values.html:
        * crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
        * crypto/subtle/rsa-oaep-key-manipulation.html:

2014-02-21  Timothy Hatcher  <timothy@apple.com>

        Add inspection user interface for IndexedDB.

        https://bugs.webkit.org/show_bug.cgi?id=129162

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector-protocol/resources/InspectorTest.js:
        (InspectorTest.initializeInspectorModels): Add IndexedDatabase models and StorageManager.
        * inspector-protocol/indexeddb/basics-expected.txt: Added.
        * inspector-protocol/indexeddb/basics.html: Added.

2014-02-21  Dirk Schulze  <krit@webkit.org>

        Replace svg/clip-path pixel tests by reference tests
        https://bugs.webkit.org/show_bug.cgi?id=129177

        Rubber-stamped by Ryosuke Niwa.

        This patch removes all pixel tests.

        * platform/efl/svg/clip-path/clip-in-mask-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-clipped-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-on-g-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-on-svg-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-pixelation-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-text-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-transform-2-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
        * platform/efl/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
        * platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
        * platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
        * platform/efl/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
        * platform/efl/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
        * platform/efl/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
        * platform/efl/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
        * platform/efl/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-in-mask-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-child-clipped-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-clipped-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-evenodd-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-evenodd-nonzero-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-nonzero-evenodd-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-nonzero-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-on-g-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-on-svg-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-pixelation-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-text-and-shape-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-text-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-transform-2-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
        * platform/gtk/svg/clip-path/clip-path-with-text-clipped-expected.png: Removed.
        * platform/gtk/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
        * platform/gtk/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
        * platform/gtk/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
        * platform/gtk/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
        * platform/gtk/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
        * platform/gtk/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
        * platform/gtk/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-in-clip-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-in-mask-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-in-mask-objectBoundingBox-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-in-mask-userSpaceOnUse-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-child-clipped-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-clipped-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-clipped-no-content-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-evenodd-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-nonzero-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-on-g-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-on-svg-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-pixelation-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-pixelation-expected.txt: Removed.
        * platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-recursive-call-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-text-and-shape-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-text-and-shape-expected.txt: Removed.
        * platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.txt: Removed.
        * platform/mac/svg/clip-path/clip-path-text-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-text-expected.txt: Removed.
        * platform/mac/svg/clip-path/clip-path-transform-1-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-transform-2-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Removed.
        * platform/mac/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-use-as-child2-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-use-as-child3-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-use-as-child4-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-use-as-child5-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-with-container-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes2-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.png: Removed.
        * platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.txt: Removed.
        * platform/mac/svg/clip-path/clipper-placement-issue-expected.png: Removed.
        * platform/mac/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
        * platform/mac/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
        * platform/mac/svg/clip-path/deep-nested-clip-in-mask-expected.txt: Removed.
        * platform/mac/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
        * platform/mac/svg/clip-path/deep-nested-clip-in-mask-panning-expected.txt: Removed.
        * platform/mac/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
        * platform/mac/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
        * platform/mac/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
        * svg/clip-path/clip-in-clip-expected.png: Removed.
        * svg/clip-path/clip-in-clip-expected.txt: Removed.
        * svg/clip-path/clip-in-clip.svg: Removed.
        * svg/clip-path/clip-in-mask-expected.txt: Removed.
        * svg/clip-path/clip-in-mask-objectBoundingBox-expected.txt: Removed.
        * svg/clip-path/clip-in-mask-objectBoundingBox.svg: Removed.
        * svg/clip-path/clip-in-mask-userSpaceOnUse-expected.txt: Removed.
        * svg/clip-path/clip-in-mask-userSpaceOnUse.svg: Removed.
        * svg/clip-path/clip-in-mask.svg: Removed.
        * svg/clip-path/clip-path-child-clipped-expected.txt: Removed.
        * svg/clip-path/clip-path-child-clipped.svg: Removed.
        * svg/clip-path/clip-path-childs-clipped-expected.txt: Removed.
        * svg/clip-path/clip-path-childs-clipped.svg: Removed.
        * svg/clip-path/clip-path-clipped-evenodd-twice-expected.txt: Removed.
        * svg/clip-path/clip-path-clipped-evenodd-twice.svg: Removed.
        * svg/clip-path/clip-path-clipped-expected.txt: Removed.
        * svg/clip-path/clip-path-clipped-no-content-expected.png: Removed.
        * svg/clip-path/clip-path-clipped-no-content-expected.txt: Removed.
        * svg/clip-path/clip-path-clipped-no-content.svg: Removed.
        * svg/clip-path/clip-path-clipped-nonzero-expected.txt: Removed.
        * svg/clip-path/clip-path-clipped-nonzero.svg: Removed.
        * svg/clip-path/clip-path-clipped.svg: Removed.
        * svg/clip-path/clip-path-css-transform-1-expected.txt: Removed.
        * svg/clip-path/clip-path-css-transform-1.svg: Removed.
        * svg/clip-path/clip-path-css-transform-2-expected.txt: Removed.
        * svg/clip-path/clip-path-css-transform-2.svg: Removed.
        * svg/clip-path/clip-path-evenodd-expected.txt: Removed.
        * svg/clip-path/clip-path-evenodd-nonzero-expected.txt: Removed.
        * svg/clip-path/clip-path-evenodd-nonzero.svg: Removed.
        * svg/clip-path/clip-path-evenodd.svg: Removed.
        * svg/clip-path/clip-path-nonzero-evenodd-expected.txt: Removed.
        * svg/clip-path/clip-path-nonzero-evenodd.svg: Removed.
        * svg/clip-path/clip-path-nonzero-expected.txt: Removed.
        * svg/clip-path/clip-path-nonzero.svg: Removed.
        * svg/clip-path/clip-path-objectBoundingBox-expected.txt: Removed.
        * svg/clip-path/clip-path-objectBoundingBox.svg: Removed.
        * svg/clip-path/clip-path-on-clipped-use-expected.txt: Removed.
        * svg/clip-path/clip-path-on-clipped-use.svg: Removed.
        * svg/clip-path/clip-path-on-g-and-child-expected.txt: Removed.
        * svg/clip-path/clip-path-on-g-and-child.svg: Removed.
        * svg/clip-path/clip-path-on-g-expected.txt: Removed.
        * svg/clip-path/clip-path-on-g.svg: Removed.
        * svg/clip-path/clip-path-on-svg-and-child-expected.txt: Removed.
        * svg/clip-path/clip-path-on-svg-and-child.svg: Removed.
        * svg/clip-path/clip-path-on-svg-expected.txt: Removed.
        * svg/clip-path/clip-path-on-svg.svg: Removed.
        * svg/clip-path/clip-path-pixelation-expected.txt: Removed.
        * svg/clip-path/clip-path-pixelation.svg: Removed.
        * svg/clip-path/clip-path-recursive-call-by-child-expected.png: Removed.
        * svg/clip-path/clip-path-recursive-call-by-child-expected.txt: Removed.
        * svg/clip-path/clip-path-recursive-call-by-child.svg: Removed.
        * svg/clip-path/clip-path-recursive-call-expected.png: Removed.
        * svg/clip-path/clip-path-recursive-call-expected.txt: Removed.
        * svg/clip-path/clip-path-recursive-call.svg: Removed.
        * svg/clip-path/clip-path-text-and-shape-expected.txt: Removed.
        * svg/clip-path/clip-path-text-and-shape.svg: Removed.
        * svg/clip-path/clip-path-text-and-stroke-expected.txt: Removed.
        * svg/clip-path/clip-path-text-and-stroke.svg: Removed.
        * svg/clip-path/clip-path-text-expected.txt: Removed.
        * svg/clip-path/clip-path-text.svg: Removed.
        * svg/clip-path/clip-path-transform-1-expected.txt: Removed.
        * svg/clip-path/clip-path-transform-1.svg: Removed.
        * svg/clip-path/clip-path-transform-2-expected.txt: Removed.
        * svg/clip-path/clip-path-transform-2.svg: Removed.
        * svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Removed.
        * svg/clip-path/clip-path-tspan-and-stroke.svg: Removed.
        * svg/clip-path/clip-path-use-as-child-expected.txt: Removed.
        * svg/clip-path/clip-path-use-as-child.svg: Removed.
        * svg/clip-path/clip-path-use-as-child2-expected.png: Removed.
        * svg/clip-path/clip-path-use-as-child2-expected.txt: Removed.
        * svg/clip-path/clip-path-use-as-child2.svg: Removed.
        * svg/clip-path/clip-path-use-as-child3-expected.png: Removed.
        * svg/clip-path/clip-path-use-as-child3-expected.txt: Removed.
        * svg/clip-path/clip-path-use-as-child3.svg: Removed.
        * svg/clip-path/clip-path-use-as-child4-expected.png: Removed.
        * svg/clip-path/clip-path-use-as-child4-expected.txt: Removed.
        * svg/clip-path/clip-path-use-as-child4.svg: Removed.
        * svg/clip-path/clip-path-use-as-child5-expected.png: Removed.
        * svg/clip-path/clip-path-use-as-child5-expected.txt: Removed.
        * svg/clip-path/clip-path-use-as-child5.svg: Removed.
        * svg/clip-path/clip-path-userSpaceOnUse-expected.txt: Removed.
        * svg/clip-path/clip-path-userSpaceOnUse.svg: Removed.
        * svg/clip-path/clip-path-with-container-expected.png: Removed.
        * svg/clip-path/clip-path-with-container-expected.txt: Removed.
        * svg/clip-path/clip-path-with-container.svg: Removed.
        * svg/clip-path/clip-path-with-different-unittypes-expected.png: Removed.
        * svg/clip-path/clip-path-with-different-unittypes-expected.txt: Removed.
        * svg/clip-path/clip-path-with-different-unittypes.svg: Removed.
        * svg/clip-path/clip-path-with-different-unittypes2-expected.png: Removed.
        * svg/clip-path/clip-path-with-different-unittypes2-expected.txt: Removed.
        * svg/clip-path/clip-path-with-different-unittypes2.svg: Removed.
        * svg/clip-path/clip-path-with-invisibile-child-expected.png: Removed.
        * svg/clip-path/clip-path-with-invisibile-child-expected.txt: Removed.
        * svg/clip-path/clip-path-with-invisibile-child.svg: Removed.
        * svg/clip-path/clip-path-with-text-clipped-expected.txt: Removed.
        * svg/clip-path/clip-path-with-text-clipped.svg: Removed.
        * svg/clip-path/clipper-placement-issue-expected.png: Removed.
        * svg/clip-path/clipper-placement-issue-expected.txt: Removed.
        * svg/clip-path/clipper-placement-issue.svg: Removed.
        * svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
        * svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg: Removed.
        * svg/clip-path/deep-nested-clip-in-mask-expected.txt: Removed.
        * svg/clip-path/deep-nested-clip-in-mask-panning-expected.txt: Removed.
        * svg/clip-path/deep-nested-clip-in-mask-panning.svg: Removed.
        * svg/clip-path/deep-nested-clip-in-mask.svg: Removed.
        * svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.txt: Removed.
        * svg/clip-path/nested-clip-in-mask-image-based-clipping.svg: Removed.
        * svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.txt: Removed.
        * svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg: Removed.
        * svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.txt: Removed.
        * svg/clip-path/nested-clip-in-mask-path-based-clipping.svg: Removed.

2014-02-22  Frédéric Wang  <fred.wang@free.fr>

        Only skip stretchy operators when determining the stretch height.
        https://bugs.webkit.org/show_bug.cgi?id=126842

        Reviewed by Chris Fleizach.

        * mathml/presentation/stretchy-depth-height.html: Add a test with non-stretchy mo siblings.

2014-02-22  Frédéric Wang  <fred.wang@free.fr>

        Implement asymmetric/symmetric stretching of vertical operators.
        https://bugs.webkit.org/show_bug.cgi?id=124827.

        Reviewed by Chris Fleizach.

        Add a new test to verify the symmetric property of operators (either implicit by the operator dictionary or explicit via an mo attribute).

        * LayoutTests/platform/mac/mathml/presentation/mo-stretch-expected.txt: rebased.
        * mathml/presentation/stretchy-depth-height-symmetric-expected.txt: Added.
        * mathml/presentation/stretchy-depth-height-symmetric.html: Added.

2014-02-22  Frédéric Wang  <fred.wang@free.fr>

        Bug 119043 - Large stretch size error for MathML operators.
        https://bugs.webkit.org/show_bug.cgi?id=119043

        Reviewed by Chris Fleizach.

        This adds a test to check that the depth/height of stretchy operators match the maximum of their siblings. This also fixes the reference of mo-stretch.html to ignore the stretch error.

        * mathml/presentation/stretchy-depth-height-expected.txt: Added.
        * mathml/presentation/stretchy-depth-height.html: Added.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt:

2014-02-22  Frédéric Wang  <fred.wang@free.fr>

        Unreviewed, rolling out r164534.
        http://trac.webkit.org/changeset/164534
        https://bugs.webkit.org/show_bug.cgi?id=119043

        missing tests

        * mathml/presentation/stretchy-depth-height-expected.txt: Removed.
        * mathml/presentation/stretchy-depth-height.html: Removed.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt:

2014-02-22  Frédéric Wang  <fred.wang@free.fr>

        Bug 119043 - Large stretch size error for MathML operators.
        https://bugs.webkit.org/show_bug.cgi?id=119043

        Reviewed by Chris Fleizach.

        This adds a test to check that the depth/height of stretchy operators match the maximum of their siblings. This also fixes the reference of mo-stretch.html to ignore the stretch error.

        * mathml/presentation/stretchy-depth-height-expected.txt: Added.
        * mathml/presentation/stretchy-depth-height.html: Added.
        * platform/mac/mathml/presentation/mo-stretch-expected.txt:

2014-02-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, EFL WK2 gardening. Skip a webgl test because of crashing.
        Besides a bug is filed and assigned to those crash tests.

        * platform/efl-wk2/TestExpectations:

2014-02-21  Dirk Schulze  <krit@webkit.org>

        Replace svg/clip-path pixel tests by reference tests
        https://bugs.webkit.org/show_bug.cgi?id=129177

        Reviewed by Dean Jackson.

        New reference tests for SVG clip-path.

        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * svg/clip-path/clip-path-clip-expected.svg: Added.
        * svg/clip-path/clip-path-clip-nested-twice-expected.svg: Added.
        * svg/clip-path/clip-path-clip-nested-twice.svg: Added.
        * svg/clip-path/clip-path-clip-rule-001-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-001.svg: Added.
        * svg/clip-path/clip-path-clip-rule-002-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-002.svg: Added.
        * svg/clip-path/clip-path-clip-rule-003-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-003.svg: Added.
        * svg/clip-path/clip-path-clip-rule-004-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-004.svg: Added.
        * svg/clip-path/clip-path-clip-rule-005-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-005.svg: Added.
        * svg/clip-path/clip-path-clip-rule-006-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-006.svg: Added.
        * svg/clip-path/clip-path-clip-rule-007-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-007.svg: Added.
        * svg/clip-path/clip-path-clip-rule-008-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-008.svg: Added.
        * svg/clip-path/clip-path-clip-rule-009-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-009.svg: Added.
        * svg/clip-path/clip-path-clip-rule-010-expected.svg: Added.
        * svg/clip-path/clip-path-clip-rule-010.svg: Added.
        * svg/clip-path/clip-path-clip.svg: Added.
        * svg/clip-path/clip-path-content-clip-001-expected.svg: Added.
        * svg/clip-path/clip-path-content-clip-001.svg: Added.
        * svg/clip-path/clip-path-content-clip-002-expected.svg: Added.
        * svg/clip-path/clip-path-content-clip-002.svg: Added.
        * svg/clip-path/clip-path-content-clip-003-expected.svg: Added.
        * svg/clip-path/clip-path-content-clip-003.svg: Added.
        * svg/clip-path/clip-path-content-invisible-expected.svg: Added.
        * svg/clip-path/clip-path-content-invisible.svg: Added.
        * svg/clip-path/clip-path-content-syling-expected.svg: Added.
        * svg/clip-path/clip-path-content-syling.svg: Added.
        * svg/clip-path/clip-path-content-use-001-expected.svg: Added.
        * svg/clip-path/clip-path-content-use-001.svg: Added.
        * svg/clip-path/clip-path-content-use-002-expected.svg: Added.
        * svg/clip-path/clip-path-content-use-002.svg: Added.
        * svg/clip-path/clip-path-content-use-003-expected.svg: Added.
        * svg/clip-path/clip-path-content-use-003.svg: Added.
        * svg/clip-path/clip-path-content-use-004-expected.svg: Added.
        * svg/clip-path/clip-path-content-use-004.svg: Added.
        * svg/clip-path/clip-path-content-use-005-expected.svg: Added.
        * svg/clip-path/clip-path-content-use-005.svg: Added.
        * svg/clip-path/clip-path-content-use-006-expected.svg: Added.
        * svg/clip-path/clip-path-content-use-006.svg: Added.
        * svg/clip-path/clip-path-css-transform-001-expected.svg: Added.
        * svg/clip-path/clip-path-css-transform-001.svg: Added.
        * svg/clip-path/clip-path-css-transform-002-expected.svg: Added.
        * svg/clip-path/clip-path-css-transform-002.svg: Added.
        * svg/clip-path/clip-path-invalid-expected.svg: Added.
        * svg/clip-path/clip-path-invalid.svg: Added.
        * svg/clip-path/clip-path-no-content-001-expected.svg: Added.
        * svg/clip-path/clip-path-no-content-001.svg: Added.
        * svg/clip-path/clip-path-no-content-002-expected.svg: Added.
        * svg/clip-path/clip-path-no-content-002.svg: Added.
        * svg/clip-path/clip-path-no-content-003-expected.svg: Added.
        * svg/clip-path/clip-path-no-content-003.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-001-expected.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-001.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-002-expected.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-002.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-003-expected.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-003.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-004-expected.svg: Added.
        * svg/clip-path/clip-path-objectboundingbox-004.svg: Added.
        * svg/clip-path/clip-path-on-g-001-expected.svg: Added.
        * svg/clip-path/clip-path-on-g-001.svg: Added.
        * svg/clip-path/clip-path-on-g-002-expected.svg: Added.
        * svg/clip-path/clip-path-on-g-002.svg: Added.
        * svg/clip-path/clip-path-on-g-003-expected.svg: Added.
        * svg/clip-path/clip-path-on-g-003.svg: Added.
        * svg/clip-path/clip-path-on-g-004-expected.svg: Added.
        * svg/clip-path/clip-path-on-g-004.svg: Added.
        * svg/clip-path/clip-path-on-g-005-expected.svg: Added.
        * svg/clip-path/clip-path-on-g-005.svg: Added.
        * svg/clip-path/clip-path-on-svg-001-expected.svg: Added.
        * svg/clip-path/clip-path-on-svg-001.svg: Added.
        * svg/clip-path/clip-path-on-svg-002-expected.svg: Added.
        * svg/clip-path/clip-path-on-svg-002.svg: Added.
        * svg/clip-path/clip-path-on-use-001-expected.svg: Added.
        * svg/clip-path/clip-path-on-use-001.svg: Added.
        * svg/clip-path/clip-path-on-use-002-expected.svg: Added.
        * svg/clip-path/clip-path-on-use-002.svg: Added.
        * svg/clip-path/clip-path-precision-001-expected.svg: Added.
        * svg/clip-path/clip-path-precision-001.svg: Added.
        * svg/clip-path/clip-path-text-001-expected.svg: Added.
        * svg/clip-path/clip-path-text-001.svg: Added.
        * svg/clip-path/clip-path-text-002-expected.svg: Added.
        * svg/clip-path/clip-path-text-002.svg: Added.
        * svg/clip-path/clip-path-text-003-expected.svg: Added.
        * svg/clip-path/clip-path-text-003.svg: Added.
        * svg/clip-path/clip-path-text-004-expected.svg: Added.
        * svg/clip-path/clip-path-text-004.svg: Added.
        * svg/clip-path/clip-path-text-005-expected.svg: Added.
        * svg/clip-path/clip-path-text-005.svg: Added.
        * svg/clip-path/clip-path-userspaceonuse-001-expected.svg: Added.
        * svg/clip-path/clip-path-userspaceonuse-001.svg: Added.
        * svg/clip-path/mask-nested-clip-path-001-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-001.svg: Added.
        * svg/clip-path/mask-nested-clip-path-002-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-002.svg: Added.
        * svg/clip-path/mask-nested-clip-path-003-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-003.svg: Added.
        * svg/clip-path/mask-nested-clip-path-004-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-004.svg: Added.
        * svg/clip-path/mask-nested-clip-path-005-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-005.svg: Added.
        * svg/clip-path/mask-nested-clip-path-006-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-006.svg: Added.
        * svg/clip-path/mask-nested-clip-path-007-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-007.svg: Added.
        * svg/clip-path/mask-nested-clip-path-008-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-008.svg: Added.
        * svg/clip-path/mask-nested-clip-path-009-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-009.svg: Added.
        * svg/clip-path/mask-nested-clip-path-panning-001-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-panning-001.svg: Added.
        * svg/clip-path/mask-nested-clip-path-panning-002-expected.svg: Added.
        * svg/clip-path/mask-nested-clip-path-panning-002.svg: Added.
        * svg/clip-path/mask-objectboundingbox-content-clip-expected.svg: Added.
        * svg/clip-path/mask-objectboundingbox-content-clip-transform-expected.svg: Added.
        * svg/clip-path/mask-objectboundingbox-content-clip-transform.svg: Added.
        * svg/clip-path/mask-objectboundingbox-content-clip.svg: Added.
        * svg/clip-path/mask-userspaceonuse-content-clip-expected.svg: Added.
        * svg/clip-path/mask-userspaceonuse-content-clip-transform-expected.svg: Added.
        * svg/clip-path/mask-userspaceonuse-content-clip-transform.svg: Added.
        * svg/clip-path/mask-userspaceonuse-content-clip.svg: Added.

2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>

        Inner text element should not use -webkit-user-modify
        https://bugs.webkit.org/show_bug.cgi?id=129035

        Reviewed by Andreas Kling.

        Rebaselined tests as the user agent shadow DOM of input and textarea elements now have contenteditable attribute.

        * editing/input/paste-text-ending-with-interchange-newline-expected.txt:
        * editing/inserting/5607069-2-expected.txt:
        * editing/inserting/5607069-3-expected.txt:
        * editing/pasteboard/copy-image-with-alt-text-expected.txt:
        * editing/pasteboard/copy-null-characters-expected.txt:
        * editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * editing/pasteboard/nested-blocks-with-text-field-expected.txt:
        * editing/selection/dump-as-markup-expected.txt:
        * editing/selection/dump-as-markup-form-text-expected.txt:
        * fast/forms/suggested-value-after-setvalue-expected.txt:
        * fast/forms/suggested-value-expected.txt:
        * fast/parser/object-with-textarea-fallback-expected.txt:

2014-02-21  Myles C. Maxfield  <mmaxfield@apple.com>

        After copy and paste, cursor may appear to be above the bottom of content
        https://bugs.webkit.org/show_bug.cgi?id=129167

        Reviewed by Ryosuke Niwa.

        Makes sure that the clearing div is inserted.

        * editing/pasteboard/copy-paste-inserts-clearing-div-expected.txt: Added.
        * editing/pasteboard/copy-paste-inserts-clearing-div.html: Added.

2014-02-21  Brian Burg  <bburg@apple.com>

        Move unported Web Inspector tests to LayoutTests/inspector-obsolete
        https://bugs.webkit.org/show_bug.cgi?id=129183

        Rubber-stamped by Timothy Hatcher.

        Move inspector/ to inspector-obsolete/.
        Move http/tests/inspector/ to inspector-obsolete/http-tests/.
        Fold http/tests/inspector-enabled/ into inspector-obsolete/http-tests/.

        I have elided about 1100 lines of rename Changelog spew;
        no filenames have been altered in this reorganization.

        Remove mentions of obsolete tests from TestExpectations. Remove skips
        for inspector-obsolete/ from port-specific expectations, and just
        put it in the generic expectations file.

        Remove inspector-protocol/heap-profiler tests, as they are obsolete.

        * TestExpectations:
         * inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree-expected.txt: Removed.
        * inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html: Removed.
        * inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt: Removed.
        * inspector-protocol/heap-profiler/heap-snapshot-with-event-listener.html: Removed.
        * inspector-protocol/heap-profiler/resources/heap-snapshot-common.js: Removed.
        * inspector-protocol/heap-profiler/resources/page-with-function.html: Removed.
        * inspector-protocol/heap-profiler/take-heap-snapshot-expected.txt: Removed.
        * inspector-protocol/heap-profiler/take-heap-snapshot.html: Removed.
        * platform/efl/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win-xp/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:
        * platform/wk2/TestExpectations:

2014-02-21  Brian Burg  <bburg@apple.com>

        Web Inspector: remove old inspector tests that cannot be ported
        https://bugs.webkit.org/show_bug.cgi?id=129168

        Reviewed by Timothy Hatcher.

        Remove many tests that were specific to the old inspector user interface.
        These cannot be ported either because they were specific to the UI, or
        they test features that no longer exist in the Web Inspector.

        * inspector/audits/audits-panel-functional-expected.txt: Removed.
        * inspector/audits/audits-panel-functional.html: Removed.
        * inspector/audits/audits-panel-noimages-functional-expected.txt: Removed.
        * inspector/audits/audits-panel-noimages-functional.html: Removed.
        * inspector/audits/audits-test.js: Removed.
        * inspector/audits/resources/audits-script1.js: Removed.
        * inspector/audits/resources/audits-script2.js: Removed.
        * inspector/audits/resources/audits-style1.css: Removed.
        * inspector/console/command-line-api-getEventListeners-expected.txt: Removed.
        * inspector/console/command-line-api-getEventListeners.html: Removed.
        * inspector/console/console-big-array-expected.txt: Removed.
        * inspector/console/console-big-array.html: Removed.
        * inspector/console/console-clear-expected.txt: Removed.
        * inspector/console/console-clear.html: Removed.
        * inspector/console/console-dirxml-expected.txt: Removed.
        * inspector/console/console-dirxml.html: Removed.
        * inspector/console/console-filter-test-expected.txt: Removed.
        * inspector/console/console-filter-test.html: Removed.
        * inspector/console/console-format-collections-expected.txt: Removed.
        * inspector/console/console-format-collections.html: Removed.
        * inspector/console/console-format-expected.txt: Removed.
        * inspector/console/console-format-style-expected.txt: Removed.
        * inspector/console/console-format-style-whitelist-expected.txt: Removed.
        * inspector/console/console-format-style-whitelist.html: Removed.
        * inspector/console/console-format-style.html: Removed.
        * inspector/console/console-format-table-expected.txt: Removed.
        * inspector/console/console-format-table.html: Removed.
        * inspector/console/console-format.html: Removed.
        * inspector/console/console-trim-long-urls-expected.txt: Removed.
        * inspector/console/console-trim-long-urls.html: Removed.
        * inspector/cookie-parser-expected.txt: Removed.
        * inspector/cookie-parser.html: Removed.
        * inspector/cookie-resource-match-expected.txt: Removed.
        * inspector/cookie-resource-match.html: Removed.
        * inspector/curl-command-expected.txt: Removed.
        * inspector/curl-command.html: Removed.
        * inspector/database-table-name-excaping-expected.txt: Removed.
        * inspector/database-table-name-excaping.html: Removed.
        * inspector/datagrid-autosize-expected.txt: Removed.
        * inspector/datagrid-autosize.html: Removed.
        * inspector/debugger/breakpoint-manager-listeners-count-expected.txt: Removed.
        * inspector/debugger/breakpoint-manager-listeners-count.html: Removed.
        * inspector/debugger/callstack-placards-discarded-expected.txt: Removed.
        * inspector/debugger/callstack-placards-discarded.html: Removed.
        * inspector/debugger/content-providers-expected.txt: Removed.
        * inspector/debugger/content-providers.html: Removed.
        * inspector/debugger/debug-inlined-scripts-expected.txt: Removed.
        * inspector/debugger/debug-inlined-scripts.html-disabled: Removed.
        * inspector/debugger/debugger-expand-scope-expected.txt: Removed.
        * inspector/debugger/debugger-expand-scope.html: Removed.
        * inspector/debugger/debugger-proto-property-expected.txt: Removed.
        * inspector/debugger/debugger-proto-property.html: Removed.
        * inspector/debugger/debugger-script-preprocessor-expected.txt: Removed.
        * inspector/debugger/debugger-script-preprocessor.html: Removed.
        * inspector/debugger/debugger-step-into-event-listener-expected.txt: Removed.
        * inspector/debugger/debugger-step-into-event-listener.html: Removed.
        * inspector/debugger/disable-script-expected.txt: Removed.
        * inspector/debugger/disable-script.html: Removed.
        * inspector/debugger/dom-breakpoints-expected.txt: Removed.
        * inspector/debugger/dom-breakpoints.html: Removed.
        * inspector/debugger/dynamic-script-tag-expected.txt: Removed.
        * inspector/debugger/dynamic-script-tag.html: Removed.
        * inspector/debugger/dynamic-scripts-expected.txt: Removed.
        * inspector/debugger/dynamic-scripts.html: Removed.
        * inspector/debugger/error-in-watch-expressions-expected.txt: Removed.
        * inspector/debugger/error-in-watch-expressions.html: Removed.
        * inspector/debugger/event-listener-breakpoints-expected.txt: Removed.
        * inspector/debugger/event-listener-breakpoints.html: Removed.
        * inspector/debugger/file-system-project-mapping-expected.txt: Removed.
        * inspector/debugger/file-system-project-mapping.html: Removed.
        * inspector/debugger/linkifier-expected.txt: Removed.
        * inspector/debugger/linkifier.html: Removed.
        * inspector/debugger/live-edit-breakpoints-expected.txt: Removed.
        * inspector/debugger/live-edit-breakpoints.html: Removed.
        * inspector/debugger/live-edit-expected.txt: Removed.
        * inspector/debugger/live-edit.html: Removed.
        * inspector/debugger/mutation-observer-suspend-while-paused-expected.txt: Removed.
        * inspector/debugger/mutation-observer-suspend-while-paused.html: Removed.
        * inspector/debugger/navigator-view-expected.txt: Removed.
        * inspector/debugger/navigator-view.html: Removed.
        * inspector/debugger/network-uisourcecode-provider-expected.txt: Removed.
        * inspector/debugger/network-uisourcecode-provider.html: Removed.
        * inspector/debugger/properties-special-expected.txt: Removed.
        * inspector/debugger/properties-special.html: Removed.
        * inspector/debugger/resource-script-mapping-expected.txt: Removed.
        * inspector/debugger/resource-script-mapping.html: Removed.
        * inspector/debugger/reveal-execution-line-expected.txt: Removed.
        * inspector/debugger/reveal-execution-line.html: Removed.
        * inspector/debugger/script-extract-outline-expected.txt: Removed.
        * inspector/debugger/script-extract-outline.html: Removed.
        * inspector/debugger/script-formatter-breakpoints-expected.txt: Removed.
        * inspector/debugger/script-formatter-breakpoints.html: Removed.
        * inspector/debugger/script-formatter-console-expected.txt: Removed.
        * inspector/debugger/script-formatter-console.html: Removed.
        * inspector/debugger/script-snippet-model-expected.txt: Removed.
        * inspector/debugger/script-snippet-model.html: Removed.
        * inspector/debugger/scripts-panel-expected.txt: Removed.
        * inspector/debugger/scripts-panel.html: Removed.
        * inspector/debugger/scripts-sorting-expected.txt: Removed.
        * inspector/debugger/scripts-sorting.html: Removed.
        * inspector/debugger/selected-call-frame-after-formatting-source-expected.txt: Removed.
        * inspector/debugger/selected-call-frame-after-formatting-source.html: Removed.
        * inspector/debugger/set-breakpoint-expected.txt: Removed.
        * inspector/debugger/set-breakpoint.html: Removed.
        * inspector/debugger/source-frame-count-expected.txt: Removed.
        * inspector/debugger/source-frame-count.html: Removed.
        * inspector/debugger/source-frame-expected.txt: Removed.
        * inspector/debugger/source-frame.html: Removed.
        * inspector/debugger/step-through-event-listeners-expected.txt: Removed.
        * inspector/debugger/step-through-event-listeners.html: Removed.
        * inspector/debugger/ui-source-code-display-name-expected.txt: Removed.
        * inspector/debugger/ui-source-code-display-name.html: Removed.
        * inspector/debugger/ui-source-code-expected.txt: Removed.
        * inspector/debugger/ui-source-code.html: Removed.
        * inspector/debugger/watch-expressions-panel-switch-expected.txt: Removed.
        * inspector/debugger/watch-expressions-panel-switch.html: Removed.
        * inspector/debugger/watch-expressions-preserve-expansion-expected.txt: Removed.
        * inspector/debugger/watch-expressions-preserve-expansion.html: Removed.
        * inspector/debugger/xhr-breakpoints-expected.txt: Removed.
        * inspector/debugger/xhr-breakpoints.html: Removed.
        * inspector/dom-statistics-expected.txt: Removed.
        * inspector/dom-statistics.html-disabled: Removed.
        * inspector/editor/brace-matcher-expected.txt: Removed.
        * inspector/editor/brace-matcher.html: Removed.
        * inspector/editor/editor-test.js: Removed.
        * inspector/editor/highlighter-basics-expected.txt: Removed.
        * inspector/editor/highlighter-basics.html: Removed.
        * inspector/editor/highlighter-chunk-limit-expected.txt: Removed.
        * inspector/editor/highlighter-chunk-limit.html: Removed.
        * inspector/editor/highlighter-long-line-expected.txt: Removed.
        * inspector/editor/highlighter-long-line.html: Removed.
        * inspector/editor/highlighter-paste-in-comment-expected.txt: Removed.
        * inspector/editor/highlighter-paste-in-comment.html: Removed.
        * inspector/editor/highlighter-test.js: Removed.
        * inspector/editor/indentation-expected.txt: Removed.
        * inspector/editor/indentation.html: Removed.
        * inspector/editor/text-editor-brace-highlighter-expected.txt: Removed.
        * inspector/editor/text-editor-brace-highlighter.html: Removed.
        * inspector/editor/text-editor-char-to-coordinates-expected.txt: Removed.
        * inspector/editor/text-editor-char-to-coordinates.html: Removed.
        * inspector/editor/text-editor-formatter-expected.txt: Removed.
        * inspector/editor/text-editor-formatter.html: Removed.
        * inspector/editor/text-editor-highlight-api-expected.txt: Removed.
        * inspector/editor/text-editor-highlight-api.html: Removed.
        * inspector/editor/text-editor-highlight-token-expected.txt: Removed.
        * inspector/editor/text-editor-highlight-token.html: Removed.
        * inspector/editor/text-editor-home-button-expected.txt: Removed.
        * inspector/editor/text-editor-home-button.html: Removed.
        * inspector/editor/text-editor-line-breaks-expected.txt: Removed.
        * inspector/editor/text-editor-line-breaks.html: Removed.
        * inspector/editor/text-editor-long-line-expected.txt: Removed.
        * inspector/editor/text-editor-long-line.html: Removed.
        * inspector/editor/text-editor-model-expected.txt: Removed.
        * inspector/editor/text-editor-model.html: Removed.
        * inspector/editor/text-editor-remove-chunks-from-dom-expected.txt: Removed.
        * inspector/editor/text-editor-remove-chunks-from-dom.html: Removed.
        * inspector/editor/text-editor-selection-expected.txt: Removed.
        * inspector/editor/text-editor-selection-to-search-expected.txt: Removed.
        * inspector/editor/text-editor-selection-to-search.html: Removed.
        * inspector/editor/text-editor-selection.html: Removed.
        * inspector/editor/text-editor-show-whitespace-expected.txt: Removed.
        * inspector/editor/text-editor-show-whitespace.html: Removed.
        * inspector/editor/text-editor-smart-braces-expected.txt: Removed.
        * inspector/editor/text-editor-smart-braces.html: Removed.
        * inspector/editor/text-editor-token-at-position-expected.txt: Removed.
        * inspector/editor/text-editor-token-at-position.html: Removed.
        * inspector/editor/text-editor-type-over-decoration-expected.txt: Removed.
        * inspector/editor/text-editor-type-over-decoration.html: Removed.
        * inspector/editor/text-editor-undo-redo-expected.txt: Removed.
        * inspector/editor/text-editor-undo-redo.html: Removed.
        * inspector/editor/text-editor-word-jumps-expected.txt: Removed.
        * inspector/editor/text-editor-word-jumps.html: Removed.
        * inspector/elements/breadcrumb-updates-expected.txt: Removed.
        * inspector/elements/breadcrumb-updates.html: Removed.
        * inspector/elements/delete-from-document-expected.txt: Removed.
        * inspector/elements/delete-from-document.html: Removed.
        * inspector/elements/edit-dom-actions-expected.txt: Removed.
        * inspector/elements/edit-dom-actions.html: Removed.
        * inspector/elements/elements-delete-inline-style-expected.txt: Removed.
        * inspector/elements/elements-delete-inline-style.html: Removed.
        * inspector/elements/elements-img-tooltip-expected.txt: Removed.
        * inspector/elements/elements-img-tooltip.html: Removed.
        * inspector/elements/elements-inspect-iframe-from-different-domain-expected.txt: Removed.
        * inspector/elements/elements-inspect-iframe-from-different-domain.html: Removed.
        * inspector/elements/elements-panel-limited-children-expected.txt: Removed.
        * inspector/elements/elements-panel-limited-children.html: Removed.
        * inspector/elements/elements-panel-rewrite-href-expected.txt: Removed.
        * inspector/elements/elements-panel-rewrite-href.html: Removed.
        * inspector/elements/elements-panel-selection-on-refresh-expected.txt: Removed.
        * inspector/elements/elements-panel-selection-on-refresh.html: Removed.
        * inspector/elements/elements-panel-structure-expected.txt: Removed.
        * inspector/elements/elements-panel-structure.html: Removed.
        * inspector/elements/elements-panel-xhtml-structure-expected.txt: Removed.
        * inspector/elements/elements-panel-xhtml-structure.xhtml-disabled: Removed.
        * inspector/elements/event-listener-sidebar-expected.txt: Removed.
        * inspector/elements/event-listener-sidebar.html: Removed.
        * inspector/elements/event-listeners-about-blank-expected.txt: Removed.
        * inspector/elements/event-listeners-about-blank.html: Removed.
        * inspector/elements/expand-recursively-expected.txt: Removed.
        * inspector/elements/expand-recursively.html: Removed.
        * inspector/elements/hide-shortcut-expected.txt: Removed.
        * inspector/elements/hide-shortcut.html: Removed.
        * inspector/elements/iframe-load-event-expected.txt: Removed.
        * inspector/elements/iframe-load-event.html: Removed.
        * inspector/elements/insert-node-collapsed-expected.txt: Removed.
        * inspector/elements/insert-node-collapsed.html: Removed.
        * inspector/elements/insert-node-expected.txt: Removed.
        * inspector/elements/insert-node.html: Removed.
        * inspector/elements/modify-chardata-expected.txt: Removed.
        * inspector/elements/modify-chardata.html: Removed.
        * inspector/elements/move-node-expected.txt: Removed.
        * inspector/elements/move-node.html: Removed.
        * inspector/elements/node-xpath-expected.txt: Removed.
        * inspector/elements/node-xpath.xhtml: Removed.
        * inspector/elements/remove-node-expected.txt: Removed.
        * inspector/elements/remove-node.html: Removed.
        * inspector/elements/resources/iframe-load-event-iframe-1.html: Removed.
        * inspector/elements/resources/iframe-load-event-iframe-2.html: Removed.
        * inspector/elements/resources/iframe-load-event-iframe.js: Removed.
        * inspector/elements/resources/user-properties.js: Removed.
        * inspector/elements/set-html-via-resource-expected.txt: Removed.
        * inspector/elements/shadow-dom-modify-chardata-expected.txt: Removed.
        * inspector/elements/shadow-dom-modify-chardata.html: Removed.
        * inspector/elements/shadow-root-expected.txt: Removed.
        * inspector/elements/shadow-root.html: Removed.
        * inspector/elements/undo-dom-edits-2-expected.txt: Removed.
        * inspector/elements/undo-dom-edits-2.html: Removed.
        * inspector/elements/undo-dom-edits-expected.txt: Removed.
        * inspector/elements/undo-dom-edits.html: Removed.
        * inspector/elements/update-shadowdom-expected.txt: Removed.
        * inspector/elements/update-shadowdom.html: Removed.
        * inspector/elements/user-properties-expected.txt: Removed.
        * inspector/elements/user-properties.html: Removed.
        * inspector/evaluate-in-page-expected.txt: Removed.
        * inspector/evaluate-in-page.html: Removed.
        * inspector/extensions/extensions-api-expected.txt: Removed.
        * inspector/extensions/extensions-api.html: Removed.
        * inspector/extensions/extensions-audits-api-expected.txt: Removed.
        * inspector/extensions/extensions-audits-api.html: Removed.
        * inspector/extensions/extensions-audits-content-script-expected.txt: Removed.
        * inspector/extensions/extensions-audits-content-script.html: Removed.
        * inspector/extensions/extensions-audits-expected.txt: Removed.
        * inspector/extensions/extensions-audits-tests.js: Removed.
        * inspector/extensions/extensions-audits.html: Removed.
        * inspector/extensions/extensions-console-expected.txt: Removed.
        * inspector/extensions/extensions-console.html: Removed.
        * inspector/extensions/extensions-eval-content-script-expected.txt: Removed.
        * inspector/extensions/extensions-eval-content-script.html: Removed.
        * inspector/extensions/extensions-eval-expected.txt: Removed.
        * inspector/extensions/extensions-eval.html: Removed.
        * inspector/extensions/extensions-events-expected.txt: Removed.
        * inspector/extensions/extensions-events.html: Removed.
        * inspector/extensions/extensions-network-expected.txt: Removed.
        * inspector/extensions/extensions-network.html: Removed.
        * inspector/extensions/extensions-panel-expected.txt: Removed.
        * inspector/extensions/extensions-panel.html: Removed.
        * inspector/extensions/extensions-reload-expected.txt: Removed.
        * inspector/extensions/extensions-reload.html: Removed.
        * inspector/extensions/extensions-resources-expected.txt: Removed.
        * inspector/extensions/extensions-resources.html: Removed.
        * inspector/extensions/extensions-sidebar-expected.txt: Removed.
        * inspector/extensions/extensions-sidebar.html: Removed.
        * inspector/extensions/resources/abe.png: Removed.
        * inspector/extensions/resources/audits-style1.css: Removed.
        * inspector/extensions/resources/test-script.js: Removed.
        * inspector/file-mapping-expected.txt: Removed.
        * inspector/file-mapping.html: Removed.
        * inspector/file-system-mapping-expected.txt: Removed.
        * inspector/file-system-mapping.html: Removed.
        * inspector/file-system-project-expected.txt: Removed.
        * inspector/file-system-project.html: Removed.
        * inspector/filtered-item-selection-dialog-filtering-expected.txt: Removed.
        * inspector/filtered-item-selection-dialog-filtering.html: Removed.
        * inspector/inspector-backend-commands-generation-expected.txt: Removed.
        * inspector/inspector-backend-commands-generation.html: Removed.
        * inspector/map-expected.txt: Removed.
        * inspector/map.html: Removed.
        * inspector/network-status-non-http-expected.txt: Removed.
        * inspector/network-status-non-http.html: Removed.
        * inspector/profiler/canvas-profiler-test.js: Removed.
        * inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases-expected.txt: Removed.
        * inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html: Removed.
        * inspector/profiler/canvas2d/canvas-replay-log-grid-expected.txt: Removed.
        * inspector/profiler/canvas2d/canvas-replay-log-grid.html: Removed.
        * inspector/profiler/canvas2d/canvas-stack-trace-expected.txt: Removed.
        * inspector/profiler/canvas2d/canvas-stack-trace.html: Removed.
        * inspector/profiler/canvas2d/canvas2d-api-changes-expected.txt: Removed.
        * inspector/profiler/canvas2d/canvas2d-api-changes.html: Removed.
        * inspector/profiler/canvas2d/canvas2d-gradient-capturing-expected.txt: Removed.
        * inspector/profiler/canvas2d/canvas2d-gradient-capturing.html: Removed.
        * inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics-expected.txt: Removed.
        * inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics.html: Removed.
        * inspector/profiler/heap-snapshot-comparison-dom-groups-change-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-comparison-dom-groups-change.html: Removed.
        * inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-comparison-show-all.html: Removed.
        * inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-comparison-show-next.html: Removed.
        * inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-comparison-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-containment-show-all.html: Removed.
        * inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-containment-show-next.html: Removed.
        * inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-containment-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-dominators-show-all.html: Removed.
        * inspector/profiler/heap-snapshot-dominators-show-next-actual.txt: Removed.
        * inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-dominators-show-next.html: Removed.
        * inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-dominators-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-get-profile-crash-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-get-profile-crash.html: Removed.
        * inspector/profiler/heap-snapshot-inspect-dom-wrapper-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-inspect-dom-wrapper.html: Removed.
        * inspector/profiler/heap-snapshot-loader-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-loader.html: Removed.
        * inspector/profiler/heap-snapshot-reveal-in-dominators-view-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-reveal-in-dominators-view.html: Removed.
        * inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-summary-retainers-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-retainers.html: Removed.
        * inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-show-all.html: Removed.
        * inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-show-next.html: Removed.
        * inspector/profiler/heap-snapshot-summary-show-ranges-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-show-ranges.html: Removed.
        * inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-sorting-fields-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-sorting-fields.html: Removed.
        * inspector/profiler/heap-snapshot-summary-sorting-instances-expected.txt: Removed.
        * inspector/profiler/heap-snapshot-summary-sorting-instances.html: Removed.
        * inspector/profiler/heap-snapshot-summary-sorting.html: Removed.
        * inspector/profiler/heap-snapshot-test.js: Removed.
        * inspector/profiler/heap-snapshot.html: Removed.
        * inspector/profiler/resources/image.jpeg: Removed.
        * inspector/profiler/selector-profiler-url-expected.txt: Removed.
        * inspector/profiler/selector-profiler-url.html: Removed.
        * inspector/profiler/webgl/webgl-profiler-api-changes-expected.txt: Removed.
        * inspector/profiler/webgl/webgl-profiler-api-changes.html: Removed.
        * inspector/profiler/webgl/webgl-profiler-get-error-expected.txt: Removed.
        * inspector/profiler/webgl/webgl-profiler-get-error.html: Removed.
        * inspector/progress-bar-expected.txt: Removed.
        * inspector/progress-bar.html: Removed.
        * inspector/snippet-storage-expected.txt: Removed.
        * inspector/snippet-storage.html: Removed.
        * inspector/styles/commit-selector-expected.txt: Removed.
        * inspector/styles/commit-selector.html: Removed.
        * inspector/styles/css-live-edit-expected.txt: Removed.
        * inspector/styles/css-live-edit.html: Removed.
        * inspector/styles/edit-inspector-stylesheet-expected.txt: Removed.
        * inspector/styles/edit-inspector-stylesheet.html: Removed.
        * inspector/styles/edit-value-with-trimmed-url-expected.txt: Removed.
        * inspector/styles/edit-value-with-trimmed-url.html: Removed.
        * inspector/styles/force-pseudo-state-expected.txt: Removed.
        * inspector/styles/force-pseudo-state.html: Removed.
        * inspector/styles/inactive-properties-expected.txt: Removed.
        * inspector/styles/inactive-properties.html: Removed.
        * inspector/styles/lazy-computed-style-expected.txt: Removed.
        * inspector/styles/lazy-computed-style.html: Removed.
        * inspector/styles/media-emulation-expected.txt: Removed.
        * inspector/styles/media-emulation.html: Removed.
        * inspector/styles/media-queries-expected.txt: Removed.
        * inspector/styles/media-queries.html: Removed.
        * inspector/styles/metrics-box-sizing-expected.txt: Removed.
        * inspector/styles/metrics-box-sizing.html: Removed.
        * inspector/styles/paste-property-expected.txt: Removed.
        * inspector/styles/paste-property.html: Removed.
        * inspector/styles/perform-undo-perform-of-mergable-action-expected.txt: Removed.
        * inspector/styles/perform-undo-perform-of-mergable-action.html: Removed.
        * inspector/styles/protocol-css-regions-commands-expected.txt: Removed.
        * inspector/styles/protocol-css-regions-commands.html: Removed.
        * inspector/styles/selector-line-expected.txt: Removed.
        * inspector/styles/selector-line.html: Removed.
        * inspector/styles/show-user-agent-styles-expected.txt: Removed.
        * inspector/styles/show-user-agent-styles.html: Removed.
        * inspector/styles/styles-add-new-rule-expected.txt: Removed.
        * inspector/styles/styles-add-new-rule.html: Removed.
        * inspector/styles/styles-cancel-editing-expected.txt: Removed.
        * inspector/styles/styles-cancel-editing.html: Removed.
        * inspector/styles/styles-change-node-while-editing-expected.txt: Removed.
        * inspector/styles/styles-change-node-while-editing.html: Removed.
        * inspector/styles/styles-commit-editing-expected.txt: Removed.
        * inspector/styles/styles-commit-editing.html: Removed.
        * inspector/styles/styles-edit-property-after-invalid-rule-expected.txt: Removed.
        * inspector/styles/styles-edit-property-after-invalid-rule.html: Removed.
        * inspector/styles/styles-update-from-js-expected.txt: Removed.
        * inspector/styles/styles-update-from-js.html: Removed.
        * inspector/styles/styles-url-linkify-expected.txt: Removed.
        * inspector/styles/styles-url-linkify.html: Removed.
        * inspector/styles/svg-style-expected.txt: Removed.
        * inspector/styles/svg-style.xhtml: Removed.
        * inspector/styles/up-down-numerics-and-colors-expected.txt: Removed.
        * inspector/styles/up-down-numerics-and-colors.html: Removed.
        * inspector/styles/updates-during-dom-traversal-expected.txt: Removed.
        * inspector/styles/updates-during-dom-traversal.html: Removed.
        * inspector/styles/updates-throttled-expected.txt: Removed.
        * inspector/styles/updates-throttled.html: Removed.
        * inspector/styles/url-color-swatch-expected.txt: Removed.
        * inspector/styles/url-color-swatch.html: Removed.
        * inspector/styles/variables/css-variables-expected.txt: Removed.
        * inspector/styles/variables/css-variables.html: Removed.
        * inspector/styles/vendor-prefixes-expected.txt: Removed.
        * inspector/styles/vendor-prefixes.html: Removed.
        * inspector/syntax-highlight-css-expected.txt: Removed.
        * inspector/syntax-highlight-css.html: Removed.
        * inspector/syntax-highlight-html-expected.txt: Removed.
        * inspector/syntax-highlight-html.html: Removed.
        * inspector/syntax-highlight-javascript-expected.txt: Removed.
        * inspector/syntax-highlight-javascript.html: Removed.
        * inspector/syntax-highlight.js: Removed.
        * inspector/tabbed-editors-history-expected.txt: Removed.
        * inspector/tabbed-editors-history.html: Removed.
        * inspector/tabbed-pane-max-tab-width-calculation-expected.txt: Removed.
        * inspector/tabbed-pane-max-tab-width-calculation.html: Removed.
        * inspector/tabbed-pane-tabs-to-show-expected.txt: Removed.
        * inspector/tabbed-pane-tabs-to-show.html: Removed.
        * inspector/timeline-dfs-expected.txt: Removed.
        * inspector/timeline-dfs.html: Removed.
        * inspector/timeline/timeline-coalescing-expected.txt: Removed.
        * inspector/timeline/timeline-coalescing.html: Removed.
        * inspector/timeline/timeline-enum-stability-expected.txt: Removed.
        * inspector/timeline/timeline-enum-stability.html: Removed.
        * inspector/uisourcecode-revisions-expected.txt: Removed.
        * inspector/uisourcecode-revisions.html: Removed.
        * inspector/user-metrics-expected.txt: Removed.
        * inspector/user-metrics.html: Removed.
        * inspector/utilities-highlight-results-expected.txt: Removed.
        * inspector/utilities-highlight-results.html: Removed.
        * inspector/version-controller-expected.txt: Removed.
        * inspector/version-controller.html: Removed.
        * inspector/view-css-expected.txt: Removed.
        * inspector/view-css.html: Removed.
        * inspector/view-events-expected.txt: Removed.
        * inspector/view-events.html: Removed.
        * inspector/workspace-mapping-expected.txt: Removed.
        * inspector/workspace-mapping.html: Removed.

2014-02-21  Chi Wai Lau  <clau@apple.com>

        Web Inspector: Replace binarySearch with lowerBound and upperBound functions
        https://bugs.webkit.org/show_bug.cgi?id=118609

        Reviewed by Timothy Hatcher.

        * inspector/utilities-expected.txt:
        * inspector/utilities.html:

2014-02-21  Daniel Bates  <dabates@apple.com>

        [Win] fast/table/col-and-colgroup-offsets.html - offsetHeight differs from Mac results
        https://bugs.webkit.org/show_bug.cgi?id=129179

        The test col-and-colgroup-offsets.html is failing on the Apple Win Debug (Tests) bot due
        to platform-specific numeric differences in the computed offsetHeight of the table cells.
        For now, I am landing Windows-specific expected results as the behavior tested by the test
        is correct despite the numerical differences. I'll further investigate the Window-specific
        difference in <https://bugs.webkit.org/show_bug.cgi?id=129179>.

        * platform/win/fast/table/col-and-colgroup-offsets-expected.txt: Added.

2014-02-21  Brian Burg  <bburg@apple.com>

        Web Inspector: animate breakpoint tree elements when probe samples are received
        https://bugs.webkit.org/show_bug.cgi?id=128334

        Reviewed by Timothy Hatcher.

        Adjust probe manager tracing listeners to access the correct data container property.

        * inspector-protocol/resources/probe-helper.js:
        (ProbeHelper.installTracingListeners):

2014-02-21  Daniel Bates  <dabates@apple.com>

        COL element in table has 0 for offsetWidth
        https://bugs.webkit.org/show_bug.cgi?id=15277

        Reviewed by David Hyatt.

        Added test to ensure that offset{Left, Top, Width, Height} return correct results
        for table columns and column groups.

        For now, we fail almost all of the offset{Height, Top} sub-tests for the separate
        border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.

        * fast/table/col-and-colgroup-offsets-expected.txt: Added.
        * fast/table/col-and-colgroup-offsets.html: Added.

2014-02-21  Benjamin Poulain  <bpoulain@apple.com>

        'mouseenter' mouse compat event not fired when listeners for touch events
        https://bugs.webkit.org/show_bug.cgi?id=128534

        Reviewed by Andreas Kling.

        The existing tests for mouseenter/mouseleave had very poor readability which made them
        useless for debugging.
        This updates them to log what cause the events, and log all the events everywhere on the page.

        * fast/events/mouseenter-mouseleave-capture-expected.txt:
        * fast/events/mouseenter-mouseleave-capture.html:
        * fast/events/mouseenter-mouseleave-expected.txt:
        * fast/events/mouseenter-mouseleave.html:

2014-02-21  Jon Honeycutt  <jhoneycutt@apple.com>

        Crash reloading page with position: fixed content
        https://bugs.webkit.org/show_bug.cgi?id=129119
        <rdar://problem/16127090>

        Reviewed by Brent Fulgham.

        * platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt: Added.
        * platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html: Added.

2014-02-21  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Regions don't paint correctly in new-multicol elements
        https://bugs.webkit.org/show_bug.cgi?id=120711

        Reviewed by David Hyatt.

        Add tests for regions in multi-column elements and a test that verifies
        regions are correctly clipped by their containers when both have hidden
        overflow.
        For the non horizontal-tb writing modes tests there's no overflow after the
        last region because it's not rendered correctly yet in a new column.

        * fast/regions/region-clipping-expected.html: Added.
        * fast/regions/region-clipping.html: Added.
        * fast/regions/regions-in-multicol-bt-expected.html: Added.
        * fast/regions/regions-in-multicol-bt.html: Added.
        * fast/regions/regions-in-multicol-expected.html: Added.
        * fast/regions/regions-in-multicol-hover-expected.html: Added.
        * fast/regions/regions-in-multicol-hover-overflow-expected.html: Added.
        * fast/regions/regions-in-multicol-hover-overflow.html: Added.
        * fast/regions/regions-in-multicol-hover.html: Added.
        * fast/regions/regions-in-multicol-lr-expected.html: Added.
        * fast/regions/regions-in-multicol-lr.html: Added.
        * fast/regions/regions-in-multicol-rl-expected.html: Added.
        * fast/regions/regions-in-multicol-rl.html: Added.
        * fast/regions/regions-in-multicol.html: Added.

2014-02-21  Mihai Tica  <mitica@adobe.com>

        [CSS Blending] Refactor -webkit-blend-mode to -webkit-mix-blend-mode
        https://bugs.webkit.org/show_bug.cgi?id=128805

        Reviewed by Dean Jackson.

        The spec defines the mix-blend-mode property. This means that the
        prefixed version should be -webkit-mix-blend-mode, instead of
        -webkit-blend-mode. Update all tests accordingly.

        * css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
        * css3/compositing/blend-mode-layers.html:
        * css3/compositing/blend-mode-overflow.html:
        * css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html:
        * css3/compositing/blend-mode-property-expected.txt:
        * css3/compositing/blend-mode-property-parsing-expected.txt:
        * css3/compositing/blend-mode-property-parsing-invalid-expected.txt:
        * css3/compositing/blend-mode-reflection.html:
        * css3/compositing/blend-mode-simple-composited.html:
        * css3/compositing/blend-mode-simple.html:
        * css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html:
        * css3/compositing/resources/red-circle.svg:
        * css3/compositing/script-tests/blend-mode-property-parsing-invalid.js:
        (testInvalidFilterRule):
        * css3/compositing/script-tests/blend-mode-property-parsing.js:
        (testBlendModeRule):
        * css3/compositing/script-tests/blend-mode-property.js:
        (testblendmode):
        * css3/compositing/svg-blend-color-burn.html:
        * css3/compositing/svg-blend-color-dodge.html:
        * css3/compositing/svg-blend-color.html:
        * css3/compositing/svg-blend-darken.html:
        * css3/compositing/svg-blend-difference.html:
        * css3/compositing/svg-blend-exclusion.html:
        * css3/compositing/svg-blend-hard-light.html:
        * css3/compositing/svg-blend-hue.html:
        * css3/compositing/svg-blend-layer-blend.html:
        * css3/compositing/svg-blend-layer-clip-path.html:
        * css3/compositing/svg-blend-layer-filter.html:
        * css3/compositing/svg-blend-layer-mask.html:
        * css3/compositing/svg-blend-layer-opacity.html:
        * css3/compositing/svg-blend-layer-shadow.html:
        * css3/compositing/svg-blend-lighten.html:
        * css3/compositing/svg-blend-luminosity.html:
        * css3/compositing/svg-blend-multiply-alpha.html:
        * css3/compositing/svg-blend-multiply.html:
        * css3/compositing/svg-blend-normal.html:
        * css3/compositing/svg-blend-overlay.html:
        * css3/compositing/svg-blend-saturation.html:
        * css3/compositing/svg-blend-screen.html:
        * css3/compositing/svg-blend-soft-light.html:
        * transitions/blendmode-transitions-expected.txt:
        * transitions/blendmode-transitions.html:

2014-02-20  ChangSeok Oh  <changseok.oh@collabora.com>

        Rename EXT_draw_buffers to WEBGL_draw_buffers
        https://bugs.webkit.org/show_bug.cgi?id=128894

        Reviewed by Dean Jackson.

        webgl-draw-buffers.html came from Khronos's webgl conformace tests. It requires
        some new apis in webgl-test-utils.js so that it is updated as well. The attached
        test results are for mac. But they're expected to fail since EXT_draw_buffers are
        disabled with some reason. See WebGLDrawBuffers::supported. So I add a line
        for webgl-draw-buffers.html to mac/TestExpectations.

        * fast/canvas/webgl/resources/webgl-test-utils.js:
        (WebGLTestUtils):
        (WebGLTestUtils.):
        * fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
        * fast/canvas/webgl/webgl-draw-buffers.html: Added.
        * platform/mac-mountainlion/fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
        * platform/mac/TestExpectations:

2014-02-20  Ryosuke Niwa  <rniwa@webkit.org>

        Update test expectations after r164449.

        * TestExpectations:

2014-02-19  Ryosuke Niwa  <rniwa@webkit.org>

        m_ancestorDisabledState should never be unknown
        https://bugs.webkit.org/show_bug.cgi?id=129084

        Reviewed by Benjamin Poulain.

        Added more test cases.

        * fast/forms/fieldset/fieldset-disabled-2-expected.txt:
        * fast/forms/fieldset/fieldset-disabled-2.html:

2014-02-20  Joseph Pecoraro  <pecoraro@apple.com>

        [iOS] Assert / crash trying to draw empty checked input
        https://bugs.webkit.org/show_bug.cgi?id=129138

        Reviewed by Simon Fraser.

        * fast/forms/checkbox-empty-size-expected.txt: Added.
        * fast/forms/checkbox-empty-size.html: Added.

2014-02-20  Geoffrey Garen  <ggaren@apple.com>

        Math.imul gives wrong results
        https://bugs.webkit.org/show_bug.cgi?id=126345

        Reviewed by Mark Hahnenberg.

        Test this edge case of a double just outside the int range.

        * js/dom/imul-expected.txt:
        * js/dom/script-tests/imul.js:

2014-02-20  Brady Eidson  <beidson@apple.com>

        Add very basic image control rendering
        https://bugs.webkit.org/show_bug.cgi?id=129080

        Reviewed by Tim Horton.

        * fast/images/image-controls-basic.html: Added.
        * platform/mac/fast/images/image-controls-basic-expected.txt: Added.

== Rolled over to ChangeLog-2014-02-20 ==
