2018-01-01  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, add some more GTK crash expectations

        * platform/gtk/TestExpectations:

2017-12-30  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r225122): fePointLights don't work
        https://bugs.webkit.org/show_bug.cgi?id=181142

        Reviewed by Dan Bates.

        Ref test that compares a point light with a flood color.

        * svg/filters/fePointLight-color-expected.svg: Added.
        * svg/filters/fePointLight-color.svg: Added.

2017-12-31  Simon Fraser  <simon.fraser@apple.com>

        Bottom right pixel of feDiffuseLighting has the wrong color
        https://bugs.webkit.org/show_bug.cgi?id=181203

        Reviewed by Antti Koivisto.

        Test that draws an SVG image into a canvas, and scales it up without interpolation.

        * svg/filters/feDiffuseLighting-bottomRightPixel-expected.html: Added.
        * svg/filters/feDiffuseLighting-bottomRightPixel.html: Added.
        * svg/filters/resources/feDiffuseLighting-rect.svg: Added.

2017-12-30  Simon Fraser  <simon.fraser@apple.com>

        SVG lighting colors need to be converted into linearSRGB
        https://bugs.webkit.org/show_bug.cgi?id=181196

        Reviewed by Dan Bates.

        Compare a far-away green spotlight with a green flood. The bottom right pixel always
        has the wrong color (webkit.org/b/181203), so mask it out.

        * svg/filters/feSpotLight-color-expected.svg: Added.
        * svg/filters/feSpotLight-color.svg: Added.

2017-12-28  Zalan Bujtas  <zalan@apple.com>

        RenderTreeUpdater::GeneratedContent should hold a weak reference to RenderQuote.
        https://bugs.webkit.org/show_bug.cgi?id=181185
        <rdar://problem/36235307>

        Reviewed by David Kilzer.

        * fast/css/content/content-quotes-crash-with-details-expected.txt: Added.
        * fast/css/content/content-quotes-crash-with-details.html: Added.

2017-12-26  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html as failing on macOS and iOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=181167

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-12-26  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https.html as flaky on macOS and iOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=181166

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-12-26  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * platform/gtk/TestExpectations:

2017-12-22  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement Element.animate()
        https://bugs.webkit.org/show_bug.cgi?id=180402
        <rdar://problem/35851353>

        Reviewed by Dean Jackson.

        Turning on Element.animate() means that a ton of WPT tests that would immediately fail when Element.animate()
        was used now progressed to either PASS, FAIL or TIMEOUT. We update the output to match the updated behavior
        and TestExpectations for some cases of flaky outputs due to incomplete implementations that had not surfaced
        until now.

        We're also removing a Blink test that uses Web Animations to animate a bogus "rotate" property.

        * TestExpectations:
        * http/wpt/web-animations/animation-model/animation-types/discrete-animation-expected.txt:
        * http/wpt/web-animations/animation-model/combining-effects/effect-composition-expected.txt:
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt:
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt:
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt:
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility-expected.txt:
        * http/wpt/web-animations/interfaces/Animatable/animate-expected.txt:
        * http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt:
        * http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/cancel-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/effect-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/finish-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/finished-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/id-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/oncancel-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/onfinish-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/pause-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/play-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/playState-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/playbackRate-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/ready-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/startTime-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt:
        * http/wpt/web-animations/interfaces/Document/getAnimations-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt:
        * http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt:
        * http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt:
        * http/wpt/web-animations/timing-model/animation-effects/local-time-expected.txt:
        * http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt:
        * http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt:
        * http/wpt/web-animations/timing-model/animations/canceling-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/finishing-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/pausing-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/playing-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/reversing-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/updating-the-finished-state-expected.txt:
        * http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:
        * imported/blink/virtual/threaded/animations/compositor-rotate-zero-degrees-expected.html: Removed.
        * imported/blink/virtual/threaded/animations/compositor-rotate-zero-degrees.html: Removed.

2017-12-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK layout test gardening

        * platform/gtk/TestExpectations:

2017-12-23  Minsheng Liu  <lambda@liu.ms>

        Add comments and improve code styles for RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren() and related functions
        https://bugs.webkit.org/show_bug.cgi?id=180923

        Reviewed by Frédéric Wang.

        Add one more case for the test "mathml/opentype/munderover-stretch-width.html" 
        to handle the corner case where all components of <munderover>/<munder>/<mover> are stretchy.

        Since there is no behavior change, no new test is required.

        * mathml/opentype/munderover-stretch-width-expected.txt:
        * mathml/opentype/munderover-stretch-width.html:

2017-12-22  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK layout test gardening

        * TestExpectations:
        * platform/gtk/TestExpectations:

2017-12-22  Michael Catanzaro  <mcatanzaro@igalia.com>

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

        * media/content/encrypted/VideoClearKeyCenc.mp4: Removed.
        * media/content/encrypted/segments/VideoClearKeyCenc-seg-0.mp4: Removed.
        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-expected.txt: Removed.
        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-mse-expected.txt: Removed.
        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-mse.html: Removed.
        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event.html: Removed.
        * media/encrypted-media/medias-enc.js: Removed.
        * media/media-source/media-source-loader-simple.js: Removed.
        * platform/gtk/TestExpectations:
        * platform/mac-elcapitan/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:

2017-12-22  Dan Bernstein  <mitz@apple.com>

        Crash beneath ScriptedAnimationController::serviceScriptedAnimations after a requestAnimationFrame callback removes the requesting iframe
        https://bugs.webkit.org/show_bug.cgi?id=181132
        <rdar://problem/35143540>

        Reviewed by Simon Fraser.

        * fast/animation/request-animation-frame-remove-iframe-in-callback-expected.txt: Added.
        * fast/animation/request-animation-frame-remove-iframe-in-callback.html: Added.

2017-12-22  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Implement "Soft Update" algorithm
        https://bugs.webkit.org/show_bug.cgi?id=180702
        <rdar://problem/36163461>

        Reviewed by Youenn Fablet.

        Unskip soft update WPT test that no longer times out.

        * TestExpectations:

2017-12-21  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r223678): Cannot copy & paste a web page content into Yahoo! Mail
        https://bugs.webkit.org/show_bug.cgi?id=181114

        Reviewed by Geoffrey Garen.

        Updated http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin.html to test the new behavior
        whereby which HTTP/HTTPs and data URLs are not converted to blob URLs.

        * http/tests/security/clipboard/copy-paste-html-across-origin-sanitizes-html.html:
        * http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin-expected.txt: Renamed.
        * http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin.html: Added more test cases for data URLs.
        * http/tests/security/clipboard/resources/content-to-copy.html: Notify the parent that the page had finished loading.
        * http/tests/security/clipboard/resources/data-url-content-to-copy.html: Added.
        * http/tests/security/clipboard/resources/subdirectory/paste-html.html: Since we can no longer access contents
        in the pasted frames but scripts DO run in the pasted cross-origin iframes, rely on those frames to postMessage
        this frame when the image had finished loading.

2017-12-21  John Wilander  <wilander@apple.com>

        Skip http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html
        https://bugs.webkit.org/show_bug.cgi?id=181108

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-12-21  Jiewen Tan  <jiewen_tan@apple.com>

        Update Credential Management API for WebAuthentication
        https://bugs.webkit.org/show_bug.cgi?id=181082
        <rdar://problem/36055239>

        Reviewed by Daniel Bates.

        * credentials/idlharness-expected.txt:

2017-12-21  John Wilander  <wilander@apple.com>

        Storage Access API: Allow requests from non-sandboxed iframes
        https://bugs.webkit.org/show_bug.cgi?id=181099
        <rdar://problem/36184501>

        Reviewed by Brent Fulgham.

        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe.html:

2017-12-21  John Wilander  <wilander@apple.com>

        Storage Access API: Make DocumentLoader::willSendRequest() and WebFrameLoaderClient::detachedFromParent2() tell the network process to get rid of any sub frame access entries
        https://bugs.webkit.org/show_bug.cgi?id=180728
        <rdar://problem/36009288>

        Reviewed by Youenn Fablet.

        This change calls the network process to clear any storage access
        entries when a subframe navigates or is detached.

        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction-expected.txt:
        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction-expected.txt:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html: Added.
        * http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-iframe-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt:
        * http/tests/storageAccess/resources/echo-incoming-cookies-as-json.php: Added.
        * http/tests/storageAccess/resources/has-storage-access-iframe.html:
        * http/tests/storageAccess/resources/request-storage-access-iframe.html:
        * http/tests/storageAccess/resources/self-navigating-frame-after-granted-access.html: Added.
        * platform/wk2/TestExpectations:
            Removed http/tests/storageAccess/request-storage-access-top-frame.html
            because it now only passes on High Sierra+.
        * platform/mac-wk2/TestExpectations:
            Added the new tests as [ Pass ] on High Sierra+.

2017-12-21  Antoine Quint  <graouts@apple.com>

        [Web Animations] Complete support for keyframe animations
        https://bugs.webkit.org/show_bug.cgi?id=179708

        Reviewed by Dean Jackson.

        Rebase some WPT expectations with progressions due to supporting all keyframes arguments.

        * http/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:

2017-12-21  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html because it frequently times out.
        https://bugs.webkit.org/show_bug.cgi?id=178536

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-12-21  Jer Noble  <jer.noble@apple.com>

        Add initial DOM support for Media Capabilities
        https://bugs.webkit.org/show_bug.cgi?id=181064

        Reviewed by Eric Carlson.

        * fast/dom/navigator-detached-no-crash-expected.txt:
        * media/mediacapabilities/mediacapabilities-types-expected.txt: Added.
        * media/mediacapabilities/mediacapabilities-types.html: Added.
        * platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/mac-elcapitan-wk2/fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/win/fast/dom/navigator-detached-no-crash-expected.txt:

2017-12-21  Ryan Haddad  <ryanhaddad@apple.com>

        Correct a TestExpectations entry after r226074.
        https://bugs.webkit.org/show_bug.cgi?id=180703

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-12-21  Ms2ger  <Ms2ger@igalia.com>

        REGRESSION(r207238): [GTK] Layout test storage/domstorage/events/basic-body-attribute.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=163826

        Reviewed by Daniel Bates.

        Update basic-body-attribute.html to the current standard.

        * platform/gtk/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:
        * storage/domstorage/events/basic-body-attribute-expected.txt:
        * storage/domstorage/events/basic-body-attribute.html:

2017-12-20  Ryosuke Niwa  <rniwa@webkit.org>

        DeferredLoadingScope incorrectly disabled images or enables deferred loading
        https://bugs.webkit.org/show_bug.cgi?id=181077

        Reviewed by Wenson Hsieh.

        Added a regression test.

        * editing/pasteboard/pasting-with-images-disabled-should-not-enable-deferred-loading-expected.txt: Added.
        * editing/pasteboard/pasting-with-images-disabled-should-not-enable-deferred-loading.html: Added.

2017-12-20  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Add screen capture IDL and stub functions
        https://bugs.webkit.org/show_bug.cgi?id=181070
        <rdar://problem/35555184>

        Reviewed by Youenn Fablet.

        * fast/mediastream/screencapture-disabled-expected.txt: Added.
        * fast/mediastream/screencapture-disabled.html: Added.
        * fast/mediastream/screencapture-enabled-expected.txt: Added.
        * fast/mediastream/screencapture-enabled.html: Added.

2017-12-20  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r225656.

        The test has been a flaky timout since being added.

        Reverted changeset:

        "WebAssembly: sending module to iframe fails"
        https://bugs.webkit.org/show_bug.cgi?id=179263
        https://trac.webkit.org/changeset/225656

2017-12-20  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r226155.

        This caused test failures.

        Reverted changeset:

        "Web Inspector: add TestPage.debug() to inspect evaluations
        being sent to Inspector page"
        https://bugs.webkit.org/show_bug.cgi?id=181005
        https://trac.webkit.org/changeset/226155

2017-12-20  Brady Eidson  <beidson@apple.com>

        Assertion failure in MessagePort::contextDestroyed in http/tests/security/MessagePort/event-listener-context.html, usually attributed to later tests.
        https://bugs.webkit.org/show_bug.cgi?id=94458

        Reviewed by Chris Dumez.

        * fast/events/message-port-constructor-for-deleted-document-expected.txt:
        * fast/events/message-port-constructor-for-deleted-document.html:
        * fast/events/resources/copy-of-message-port-context-destroyed.html: Added.
        * platform/mac/TestExpectations: Reenable the now-reliable and now-passing test.

2017-12-20  Youenn Fablet  <youenn@apple.com>

        LayoutTests/http/tests/workers/service/service-worker-cache-api.https.html is failing on most platforms
        https://bugs.webkit.org/show_bug.cgi?id=181052

        Reviewed by Chris Dumez.

        Fixing buggy test: load was probably not intercepted.

        * TestExpectations:
        * http/tests/workers/service/resources/service-worker-cache-api.js: Removed.
        * http/tests/workers/service/service-worker-cache-api.https-expected.txt:
        * http/tests/workers/service/service-worker-cache-api.https.html:

2017-12-20  Alicia Boya García  <aboya@igalia.com>

        [GTK] imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=181029

        Reviewed by Carlos Alberto Lopez Perez.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:

2017-12-20  Youenn Fablet  <youenn@apple.com>

        LayoutTest imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=179137
        <rdar://problem/35337335>

        Reviewed by Chris Dumez.

        * TestExpectations:

2017-12-20  Alicia Boya García  <aboya@igalia.com>

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=181045

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations:

2017-12-20  Daniel Bates  <dabates@apple.com>

        Remove Alternative Presentation Button
        https://bugs.webkit.org/show_bug.cgi?id=180500
        <rdar://problem/35891047>

        Reviewed by Simon Fraser.

        We no longer need the alternative presentation button.

        * TestExpectations:
        * accessibility/alternative-presentation-button-expected.txt: Removed.
        * accessibility/alternative-presentation-button-input-type-expected.txt: Removed.
        * accessibility/alternative-presentation-button-input-type.html: Removed.
        * accessibility/alternative-presentation-button.html: Removed.
        * fast/forms/alternative-presentation-button/replace-and-remove-expected.html: Removed.
        * fast/forms/alternative-presentation-button/replace-and-remove.html: Removed.
        * fast/forms/alternative-presentation-button/replaced-elements-expected.txt: Removed.
        * fast/forms/alternative-presentation-button/replaced-elements.html: Removed.
        * fast/forms/alternative-presentation-button/replacement-expected.txt: Removed.
        * fast/forms/alternative-presentation-button/replacement.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/ios/fast/forms/alternative-presentation-button/replacement-expected.txt: Removed.
        * platform/mac/TestExpectations:

2017-12-20  Chris Dumez  <cdumez@apple.com>

        Do not reuse resource for memory cache if selected service worker differs
        https://bugs.webkit.org/show_bug.cgi?id=181042

        Reviewed by Youenn Fablet.

        Drop test from flaky list now that it is consistently passing.

        * TestExpectations:

2017-12-20  Matt Lewis  <jlewis3@apple.com>

        Marked svg/animations/smil-leak-element-instances-noBaseValRef.svg as flaky on macOS WK1.
        https://bugs.webkit.org/show_bug.cgi?id=180997

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-12-20  Ms2ger  <Ms2ger@igalia.com>

        Remove some obsolete test expectations for GTK.
        https://bugs.webkit.org/show_bug.cgi?id=181038

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
          - Remove tests that now use a matching expectation.
          - Move a test out of the "Unexplained failures" section.
          - Remove a test that is now skipped in all wk2 ports.
        * platform/gtk/fast/forms/mailto/formenctype-attribute-button-html-expected.txt:
          Removed: the generic file is correct for GTK as well.
        * platform/gtk/fast/forms/mailto/formenctype-attribute-input-html-expected.txt:
          Removed: the generic file is correct for GTK as well.
        * platform/mac-wk2/TestExpectations:
          Remove a test that is now skipped in all wk2 ports.
        * platform/wk2/TestExpectations:
          Add another test to the list of skipped tests that use beginDragWithFiles,
          which is only implemented in DumpRenderTree.

2017-12-20  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Rebaseline fast/canvas/canvas-imageSmoothingQuality.html
        https://bugs.webkit.org/show_bug.cgi?id=163973

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: Remove failure annotation.
        * platform/gtk/fast/canvas/canvas-imageSmoothingQuality-expected.txt:
          Rebaseline: r202609 added additional output when one of the assertions
          fails, which happens in this test.

2017-12-20  Matt Lewis  <jlewis3@apple.com>

        Marked two imported/w3c/web-platform-tests/service-workers/service-worker/ test as slow.
        https://bugs.webkit.org/show_bug.cgi?id=180982
        https://bugs.webkit.org/show_bug.cgi?id=179194

        Unreviewed test expectations.

        * platform/mac-wk2/TestExpectations:

2017-12-20  Frederic Wang  <fwang@igalia.com>

        Split layout of RenderMathMLRow into smaller steps
        https://bugs.webkit.org/show_bug.cgi?id=180348

        Reviewed by Manuel Rego Casasnovas.

        New test to verify that out-of-flow positioned children are not taken into account in the
        calculation of the preferred width of the mrow element.

        * mathml/mrow-preferred-width-with-out-of-flow-child-expected.html: Added.
        * mathml/mrow-preferred-width-with-out-of-flow-child.html: Added.

2017-12-20  Ms2ger  <Ms2ger@igalia.com>

        Make fast/css-generated-content/quotes-lang.html pass on GTK
        https://bugs.webkit.org/show_bug.cgi?id=93976

        Unreviewed test gardening.

        Adding a span to the reference file avoids a one-pixel difference in the
        font rendering between test and reference on GTK.

        * fast/css-generated-content/quotes-lang-expected.html:
        * platform/gtk/TestExpectations:

2017-12-19  Myles C. Maxfield  <mmaxfield@apple.com>

        Refactor user-installed font setting for clarity
        https://bugs.webkit.org/show_bug.cgi?id=181013

        Reviewed by Simon Fraser.

        * fast/text/user-installed-fonts/disable.html:
        * fast/text/user-installed-fonts/shadow-disable.html:
        * fast/text/user-installed-fonts/shadow-family-disable.html:
        * fast/text/user-installed-fonts/shadow-postscript-disable.html:
        * fast/text/user-installed-fonts/shadow-postscript-family-disable.html:

2017-12-19  Brian Burg  <bburg@apple.com>

        Web Inspector: InspectorTest.evaluateInPage should return a rejection if an error was thrown
        https://bugs.webkit.org/show_bug.cgi?id=180956

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/test-harness-evaluate-in-page-expected.txt:
        * inspector/unit-tests/test-harness-evaluate-in-page.html:
        Update test case to expect an exception when an error was thrown in our evaluation.

2017-12-19  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Clean up RealtimeMediaSource interfaces
        https://bugs.webkit.org/show_bug.cgi?id=180934
        <rdar://problem/36108648>

        Reviewed by Youenn Fablet.

        * http/tests/media/media-stream/disconnected-frame-expected.txt:
        * http/tests/media/media-stream/disconnected-frame.html:

2017-12-19  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/images/image-supports-video.html as flaky on macOS WK1.
        https://bugs.webkit.org/show_bug.cgi?id=181008

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-12-19  Brian Burg  <bburg@apple.com>

        Web Inspector: add TestPage.debug() to inspect evaluations being sent to Inspector page
        https://bugs.webkit.org/show_bug.cgi?id=181005

        Reviewed by Joseph Pecoraro.

        When TestPage.debug() is called, dump out all code that is sent to be evaluated in
        the inspector page. This is useful for debugging initialization and InspectorTest.awaitEvent.

        * http/tests/inspector/resources/inspector-test.js:
        (runTest):
        (TestPage.debug):
        (TestPage.evaluateInWebInspector):
        (TestPage.dispatchEventToFrontend):

2017-12-19  Youenn Fablet  <youenn@apple.com>

        Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/getregistrations.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=180497
        <rdar://problem/35947470>

        Unreviewed.

        * TestExpectations: Marking test as slow on Debug.

2017-12-19  Brian Burg  <bburg@apple.com>

        Web Inspector: InspectorTest.expectException does not handle implicitly resolved async functions correctly
        https://bugs.webkit.org/show_bug.cgi?id=180944

        Reviewed by Joseph Pecoraro.

        Add a new test case for implicitly resolved async functions passed to expectException.
        Rebaseline one existing test that had a failing assertion that progresses with
        this change. I didn't notice it because the assertion just prior is expected to fail.

        * inspector/unit-tests/test-harness-expect-functions-async-expected.txt:
        * inspector/unit-tests/test-harness-expect-functions-async.html:

2017-12-19  Jer Noble  <jer.noble@apple.com>

        Playing media elements which call "pause(); play()" will have the play promise rejected.
        https://bugs.webkit.org/show_bug.cgi?id=180781
        <rdar://problem/33191377>

        Reviewed by Eric Carlson.

        * media/video-load-require-user-gesture.html:

2017-12-19  Chris Dumez  <cdumez@apple.com>

        scopeURL should start with the provided scriptURL
        https://bugs.webkit.org/show_bug.cgi?id=180983

        Reviewed by Youenn Fablet.

        Update WebKit tests due to new restrictions.

        * http/tests/workers/service/basic-unregister.https-expected.txt:
        * http/tests/workers/service/controller-change.html:
        * http/tests/workers/service/resources/ServiceWorkerGlobalScope_getRegistration-worker.js:
        (async.runTest):
        * http/tests/workers/service/resources/ServiceWorkerGlobalScope_register-worker.js:
        (async.runTest):
        * http/tests/workers/service/resources/basic-fetch.js:
        (async.test):
        * http/tests/workers/service/resources/basic-register.js:
        (async.test):
        * http/tests/workers/service/resources/basic-unregister.js:
        (async.test):
        * http/tests/workers/service/resources/service-worker-fetch.js:
        (async.test):
        * http/tests/workers/service/resources/service-worker-getRegistration.js:
        (async.test):
        * http/tests/workers/service/resources/service-worker-importScript.js:
        (async.test):
        * http/tests/workers/service/resources/shift-reload-navigation.js:
        (async.test):
        * http/tests/workers/service/service-worker-clear.html:
        * http/tests/workers/service/service-worker-crossorigin-fetch.html:
        * http/tests/workers/service/service-worker-getRegistration-expected.txt:
        * http/tests/workers/service/service-worker-request-with-body.https.html:
        * http/tests/workers/service/serviceworker-idb.https.html:
        * http/tests/workers/service/serviceworker-websocket.https.html:
        * http/tests/workers/service/serviceworkerclients-get.https.html:

2017-12-19  Youenn Fablet  <youenn@apple.com>

        Service Worker should not clean HTTP headers added by the application or by fetch specification before service worker interception
        https://bugs.webkit.org/show_bug.cgi?id=180939

        Reviewed by Chris Dumez.

        * TestExpectations:

2017-12-19  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline service workers flaky tests.

        * TestExpectations:

2017-12-19  Matt Lewis  <jlewis3@apple.com>

        Marked accessibility/mac/search-field-cancel-button.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=180675

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-12-19  Andy Estes  <aestes@apple.com>

        [Apple Pay] Stop maintaining a list of payment networks
        https://bugs.webkit.org/show_bug.cgi?id=180965
        <rdar://problem/34696560>

        Reviewed by Tim Horton.

        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html: Added a test case for network names with
        varying capitalization.

2017-12-19  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable the rest of the wpt html tests.
        https://bugs.webkit.org/show_bug.cgi?id=180975

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-video-expected.txt:
          Added: dependent on the supported video codecs.
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt:
          Added: dependent on the supported video codecs.
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter-expected.txt:
          Added: whitespace difference.

2017-12-19  Ms2ger  <Ms2ger@igalia.com>

        Mark scroll-restoration-navigation-samedoc.html as passing.
        https://bugs.webkit.org/show_bug.cgi?id=169264

        Unreviewed test gardening.

        It is passing on mac, gtk, and wpe, disabled on win, and still marked
        as failing on ios.

        * TestExpectations:
        * platform/gtk/TestExpectations:

2017-12-19  Frederic Wang  <fwang@igalia.com>

        Unreviewed test gardening.

        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png:
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.

2017-12-18  Chris Dumez  <cdumez@apple.com>

        Default scope used when registering a service worker is wrong
        https://bugs.webkit.org/show_bug.cgi?id=180961

        Reviewed by Youenn Fablet.

        Update / Rebaseline WebKit tests due to behavior change.

        * http/tests/workers/service/basic-register-exceptions-expected.txt:
        * http/tests/workers/service/basic-unregister.https-expected.txt:
        * http/tests/workers/service/resources/basic-unregister.js:
        (async.test):
        * http/tests/workers/service/resources/service-worker-getRegistration.js:
        (async.test):
        * http/tests/workers/service/self_registration-expected.txt:
        * http/tests/workers/service/service-worker-clear.html:

2017-12-18  Ryosuke Niwa  <rniwa@webkit.org>

        Assertion hit in DocumentOrderedMap::get while removing a form element
        https://bugs.webkit.org/show_bug.cgi?id=137959
        <rdar://problem/27702012>

        Reviewed by Brent Fulgham.

        Added regression tests for removing a subtree with a form associated element, its owner form element
        and another element with the same ID.

        * fast/forms/update-form-owner-in-moved-subtree-assertion-failure-5-expected.txt: Added.
        * fast/forms/update-form-owner-in-moved-subtree-assertion-failure-5.html: Added.
        * fast/forms/update-form-owner-in-moved-subtree-assertion-failure-6-expected.txt: Added.
        * fast/forms/update-form-owner-in-moved-subtree-assertion-failure-6.html: Added.

2017-12-18  Youenn Fablet  <youenn@apple.com>

        Service worker served response tainting should keep its tainting
        https://bugs.webkit.org/show_bug.cgi?id=180952

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/tainted-image-fetch.js:
        (async.test): Updated erroneous test. This test is laoding a cross origin image.
        through a service worker which instead provides a synthetic response which
        should be considered as same origin.
        * http/tests/workers/service/tainted-image-fetch-expected.txt:

2017-12-18  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/resourceLoadStatistics/telemetry-generation.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=180703

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-12-18  Matt Lewis  <jlewis3@apple.com>

        Rebaselined fast/mediastream/MediaStream-MediaElement-setObject-null.html.

        Unreviewed test gardening

        * fast/mediastream/MediaStream-MediaElement-setObject-null-expected.txt:

2017-12-18  Zalan Bujtas  <zalan@apple.com>

        [SVG] Detach list wrappers before resetting the base value.
        https://bugs.webkit.org/show_bug.cgi?id=180912
        <rdar://problem/36017970>

        Reviewed by Simon Fraser.

        * svg/animations/crash-when-animation-is-running-while-getting-value-expected.txt: Added.
        * svg/animations/crash-when-animation-is-running-while-getting-value.html: Added.

2017-12-18  Jer Noble  <jer.noble@apple.com>

        Playing media elements which call "pause(); play()" will have the play promise rejected.
        https://bugs.webkit.org/show_bug.cgi?id=180781

        Reviewed by Eric Carlson.

        * media/audio-dealloc-crash.html:
        * media/video-pause-play-resolve-expected.txt: Added.
        * media/video-pause-play-resolve.html: Added.

2017-12-18  Daniel Bates  <dabates@apple.com>

        Add a test to ensure that matched text markers are not highlighted when highlight is disabled
        https://bugs.webkit.org/show_bug.cgi?id=180919

        Reviewed by Antti Koivisto.

        * fast/text/mark-matches-rendering-when-highlight-disabled-expected.html: Added.
        * fast/text/mark-matches-rendering-when-highlight-disabled.html: Added.

2017-12-18  Daniel Bates  <dabates@apple.com>

        Add SPI to query for the current and last auto fill button type and pass user data object to _webView:focusShouldStartInputSession:
        https://bugs.webkit.org/show_bug.cgi?id=180774
        <rdar://problem/36033832>

        Reviewed by Tim Horton.

        Adds a test to ensure that we can query for the current auto fill button type and last auto fill button
        type of an HTML input element.

        * fast/forms/auto-fill-button/last-auto-fill-button-type-expected.txt: Added.
        * fast/forms/auto-fill-button/last-auto-fill-button-type.html: Added.

2017-12-18  Ms2ger  <Ms2ger@igalia.com>

        Rebaseline fast/dom/Window/window-lookup-precedence.html
        https://bugs.webkit.org/show_bug.cgi?id=163987

        Unreviewed test gardening.

        The platform-neutral baseline hasn't been anywhere close to matching the
        output since r196392. However, the mac baseline seems to work for GTK as
        well, so we now use it for all platforms.

        The test is still marked as failing on iOS and Windows, but those
        annotations can be removed as part of regularly scheduled gardening, if
        needed.

        * fast/dom/Window/window-lookup-precedence-expected.txt:
          Renamed from platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt.
        * platform/gtk/TestExpectations: Removed expectation.
        * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt: Removed.
        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt: Removed.

2017-12-18  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Add some test expectations for fetch wpt tests
        https://bugs.webkit.org/show_bug.cgi?id=180927

        Unreviewed test gardening.

        New expectations are copied from GTK; I had forgotten to add them when
        enabling these tests.

        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt: Added.

2017-12-17  John Wilander  <wilander@apple.com>

        Storage Access API: Make document.hasStorageAccess() retrieve current status from the network process
        https://bugs.webkit.org/show_bug.cgi?id=180681
        <rdar://problem/35982161>

        Reviewed by Alex Christensen.

        This change makes an asynchronous request to the network process
        to see if storage access has been granted for this frame, on this
        page, for this domain.

        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction-expected.txt: Added.
        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction.html: Added.
        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction-expected.txt: Added.
        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction.html: Added.
        * http/tests/storageAccess/resources/has-storage-access-iframe.html: Added.
        * platform/mac-wk2/TestExpectations:
            New tests marked as [ Pass ].
            All http/tests/storageAccess/ tests marked [ HighSierra+ ] since
            document.hasStorageAccess() now requires code that relies on cookie
            partitioning.

2017-12-16  Ms2ger  <Ms2ger@igalia.com>

        Enable wpt fetch tests on WPE.
        https://bugs.webkit.org/show_bug.cgi?id=180905

        Unreviewed test gardening.

        New expectations are copied from GTK.

        * TestExpectations: mark test as flaky on all platforms.
        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.

2017-12-16  Youenn Fablet  <youenn@apple.com>

        Skip SharedWorker and NavigationPreload service worker tests
        https://bugs.webkit.org/show_bug.cgi?id=180902

        Reviewed by Chris Dumez.

        * TestExpectations: Skip unsupported tests.

2017-12-16  Chris Dumez  <cdumez@apple.com>

        Add optimization when updating a SW registration results in the exact same script
        https://bugs.webkit.org/show_bug.cgi?id=180891

        Reviewed by Geoffrey Garen.

        * TestExpectations:
        Skip bad WPT test that is timing out for us and Firefox. I'll file an upstream PR
        to fix it.

        * http/tests/workers/service/controller-change.html:
        * http/tests/workers/service/registration-updateViaCache-all-importScripts.html:
        * http/tests/workers/service/registration-updateViaCache-all.html:
        * http/tests/workers/service/registration-updateViaCache-imports-importScripts.html:
        * http/tests/workers/service/registration-updateViaCache-none-importScripts.html:
        * http/tests/workers/service/registration-updateViaCache-none.html:
        * http/tests/workers/service/resources/self_registration_update-worker.js: Removed.
        * http/tests/workers/service/resources/self_registration_update-worker.php: Added.
        * http/tests/workers/service/resources/service-worker-fetch-worker.js:
        * http/tests/workers/service/resources/updating-fetch-worker.php: Added.
        * http/tests/workers/service/resources/updating-worker.php: Added.
        * http/tests/workers/service/self_registration_update.html:
        * http/tests/workers/service/service-worker-registration-gc-event.html:
        Undate WebKit-specific tests to reflect behavior change.

2017-12-16  Youenn Fablet  <youenn@apple.com>

        Service worker script fetch request should set the Service-Worker header
        https://bugs.webkit.org/show_bug.cgi?id=180889

        Reviewed by Chris Dumez.

        * http/wpt/service-workers/check-service-worker-header.https-expected.txt: Added.
        * http/wpt/service-workers/check-service-worker-header.https.html: Added.
        * http/wpt/service-workers/check-service-worker-header.py: Added.

2017-12-15  Youenn Fablet  <youenn@apple.com>

        WK1 webrtc/datachannel bufferedAmount tests might time out
        https://bugs.webkit.org/show_bug.cgi?id=180882

        Unreviewed.

        * platform/mac-wk1/TestExpectations: marking tests as flaky.

2017-12-15  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline Service Workers flaky tests.

        * TestExpectations:

2017-12-15  Chris Dumez  <cdumez@apple.com>

        Service Worker Registration promise is sometimes not rejected when the script load fails
        https://bugs.webkit.org/show_bug.cgi?id=180849

        Reviewed by Brady Eidson.

        Fix WebKit-specific tests that had invalid URLs for workers. We failed to notice this
        before because we were wrongly resolving the registration promise.

        * http/tests/workers/service/basic-register-expected.txt:
        * http/tests/workers/service/basic-unregister-then-register-again-no-reuse.html:
        * http/tests/workers/service/registration-clear-redundant-worker.html:
        * http/tests/workers/service/resources/basic-register.js:
        * http/tests/workers/service/service-worker-gc-event.html:
        * http/tests/workers/service/service-worker-registration-gc-event.html:

2017-12-14  Youenn Fablet  <youenn@apple.com>

        Implement <iframe allow="camera; microphone">
        https://bugs.webkit.org/show_bug.cgi?id=167430
        <rdar://problem/34887226>

        Reviewed by Eric Carlson.

        Skipping mediastream tests for wpe.
        Updating expectations based on new error message.

        * TestExpectations: Skipping sync XHR test using allow attribute.
        * http/tests/ssl/media-stream/get-user-media-different-host-expected.txt:
        * http/tests/ssl/media-stream/get-user-media-nested-expected.txt:
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-default-feature-policy.sub-expected.txt:
        * platform/wpe/TestExpectations:

2017-12-14  Zalan Bujtas  <zalan@apple.com>

        Inconsistent section grid could lead to CrashOnOverflow
        https://bugs.webkit.org/show_bug.cgi?id=180850
        <rdar://problem/34064811>

        Reviewed by Simon Fraser.

        * fast/table/table-row-oveflow-crash-expected.txt: Added.
        * fast/table/table-row-oveflow-crash.html: Added.

2017-12-14  Chris Dumez  <cdumez@apple.com>

        [iOS] Many serviceworker tests are flaky timeouts on iOS bots
        https://bugs.webkit.org/show_bug.cgi?id=179454
        <rdar://problem/35429369>

        Unreviewed attempt to unmark service worker tests as flaky on iOS.
        We have now fixed all the iOS-specific bugs we are aware of so we
        should give this a try.

        * platform/ios/TestExpectations:

2017-12-14  Brian Burg  <bburg@apple.com>

        Web Inspector: InspectorTest.evaluateInPage should unwrap primitive values by default
        https://bugs.webkit.org/show_bug.cgi?id=180831

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/test-harness-evaluate-in-page-expected.txt: Added.
        * inspector/unit-tests/test-harness-evaluate-in-page.html: Added.

        Add test coverage for InspectorTest.evaluateInPage. Only the promise-returning
        variant is tested here, because the callback variant is well-used in existing
        tests and I plan to remove the callback variant entirely in later patches.

        * inspector/console/js-isLikelyStackTrace-expected.txt:
        * inspector/console/js-isLikelyStackTrace.html:
        Fix some bad tests and rebaseline. A bug was filed for the remaining failing assertion.

        * http/tests/inspector/dom/shapes-test.js:
        (TestPage.registerInitializer.InspectorTest.Shapes.receivedHighlightObject):
        (TestPage.registerInitializer.InspectorTest.Shapes.getShapeOutsideInfoForSelector):
        * http/tests/inspector/paymentrequest/payment-request-internal-properties.https.html:
        * inspector/console/command-line-api-copy.html:
        * inspector/console/console-log-proxy.html:
        * inspector/debugger/js-stacktrace.html:
        * inspector/dom/hideHighlight.html:
        * inspector/dom/highlightFrame.html:
        * inspector/dom/highlightNode.html:
        * inspector/dom/highlightNodeList.html:
        * inspector/dom/highlightQuad.html:
        * inspector/dom/highlightRect.html:
        * inspector/dom/highlightSelector.html:
        * inspector/page/setEmulatedMedia.html:
        * inspector/runtime/getPreview.html:
        Fix existing tests to opt out of unwrapping or use the unwrapped value directly.

        * inspector/dom/setEventListenerDisabled-expected.txt:
        Rebaseline results. This is caused by an extra promise tick in evaluateInPage.

        * inspector/injected-script/observable-expected.txt:
        * inspector/injected-script/observable.html:
        Fix a typo and rebaseline.


2017-12-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rebaseline compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint.html after r225897.

        * platform/mac-wk1/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt:

2017-12-14  Matt Lewis  <jlewis3@apple.com>

        Skipped media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-mse.html on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=180430

        Unreviewed test gardening.

        * platform/mac-elcapitan/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-12-14  Chris Dumez  <cdumez@apple.com>

        self.importScripts() should obey updateViaCache inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180826

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/registration-updateViaCache-all-importScripts-expected.txt: Added.
        * http/tests/workers/service/registration-updateViaCache-all-importScripts.html: Added.
        * http/tests/workers/service/registration-updateViaCache-imports-importScripts-expected.txt: Added.
        * http/tests/workers/service/registration-updateViaCache-imports-importScripts.html: Added.
        * http/tests/workers/service/registration-updateViaCache-none-importScripts-expected.txt: Added.
        * http/tests/workers/service/registration-updateViaCache-none-importScripts.html: Added.
        * http/tests/workers/service/resources/import-cacheable-script-worker.js: Added.

2017-12-14  John Wilander  <wilander@apple.com>

        Storage Access API: Implement frame-specific access in the document.cookie layer
        https://bugs.webkit.org/show_bug.cgi?id=180682
        <rdar://problem/35982257>

        Reviewed by Alex Christensen.

        CookiesStrategy::cookiesForDOM(), CookiesStrategy::setCookiesFromDOM(),
        CookiesStrategy::cookieRequestHeaderFieldValue(), and
        CookiesStrategy::getRawCookies() now take optional parameters for
        frameID and pageID to allow frame-specific scoping of cookies.

        This change makes the return values of FrameLoaderClient::frameID()
        and FrameLoaderClient::pageID() std::optional<uint64_t> so that
        WebCore can call those getters and get the right return values in
        WebKit and std:nullopt in WebKitLegacy.

        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame-expected.txt:
            Now expects the correct behavior for document.cookie.

2017-12-14  Antoine Quint  <graouts@apple.com>

        [Web Animations] Bring timeline and currentTime setters closer to compliance
        https://bugs.webkit.org/show_bug.cgi?id=180834

        Reviewed by Dean Jackson.

        Remove a test clause which tested a behavior that is not part of the spec.

        * http/wpt/wk-web-animations/timing-model/animation-current-time.html:

2017-12-14  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement the cancel() method on Animation
        https://bugs.webkit.org/show_bug.cgi?id=180830
        <rdar://problem/36055816>

        Reviewed by Dean Jackson.

        Rebase some WPT expectations with progressions due to exposing the cancel() method.

        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:

2017-12-14  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement the finish() method on Animation
        https://bugs.webkit.org/show_bug.cgi?id=180822
        <rdar://problem/36053282>

        Reviewed by Dean Jackson.

        Rebase some WPT expectations with progressions due to exposing the finish() method.
        We're also removing a WebKit-only test that is no longer relevant and started failing
        with compliant behavior.

        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:
        * http/wpt/wk-web-animations/timing-model/animation-playback-rate-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-playback-rate.html: Removed.

2017-12-14  Chris Dumez  <cdumez@apple.com>

        Service worker script fetching currently always uses the network cache
        https://bugs.webkit.org/show_bug.cgi?id=180816

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * http/tests/workers/service/registration-updateViaCache-all-expected.txt: Added.
        * http/tests/workers/service/registration-updateViaCache-all.html: Added.
        * http/tests/workers/service/registration-updateViaCache-none-expected.txt: Added.
        * http/tests/workers/service/registration-updateViaCache-none.html: Added.
        * http/tests/workers/service/resources/cacheable-script-worker.php: Added.

2017-12-14  Matt Lewis  <jlewis3@apple.com>

        Updated test expectations for imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html.
        https://bugs.webkit.org/show_bug.cgi?id=177322

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-12-13  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement the play() and pause() methods on Animation
        https://bugs.webkit.org/show_bug.cgi?id=178932
        <rdar://problem/35271069>

        Reviewed by Eric Carlson.

        Rebase some WPT expectations with progressions due to exposing the play() and pause() methods.

        * TestExpectations: Temporarily mark a test as flaky as it logs an unexpected current time which
        may change between runs.
        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/startTime-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt:
        * http/wpt/web-animations/timing-model/animations/current-time-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:

2017-12-14  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Remove properties tests covered by WPT
        https://bugs.webkit.org/show_bug.cgi?id=180809

        Reviewed by Youenn Fablet.

        Removed WebKit properties/methods tests for ReadableByteStreamController,
        ReadableStreamBYOBReader and ReadableStreamBYOBRequest. Indeed, these
        tests are also present in WPT streams/readable-byte-streams/properties.js.

        * streams/readable-byte-stream-controller-expected.txt: Updated expectations.
        * streams/readable-byte-stream-controller.js: Remove ReadableByteStreamController properties test.
        * streams/readable-stream-byob-reader-expected.txt: Updated expectations.
        * streams/readable-stream-byob-reader.js: Remove ReadableStreamBYOBReader properties test.
        * streams/readable-stream-byob-request-expected.txt: Updated expectations.
        * streams/readable-stream-byob-request.js: Remove ReadableStreamBYOBRequest properties test.

2017-12-14  Miguel Gomez  <magomez@igalia.com>

        [GTK] Gardening bug after r225898
        https://bugs.webkit.org/show_bug.cgi?id=180807

        Unreviewed GTK+ test gardening after r225898. Updated test expectations and rebaselined
        some tests.

        * platform/gtk/TestExpectations:
        * platform/gtk/mathml/opentype/horizontal-expected.png:
        * platform/gtk/mathml/opentype/horizontal-expected.txt:
        * platform/gtk/mathml/opentype/horizontal-munderover-expected.txt:
        * platform/gtk/mathml/presentation/bug159513-expected.png:
        * platform/gtk/mathml/presentation/bug159513-expected.txt:

2017-12-14  Yacine Bandou  <yacine.bandou_ext@softathome.com>

        [EME] Add layout test for InitData and InitDataType in CENC encrypted event
        https://bugs.webkit.org/show_bug.cgi?id=180430

        Reviewed by Xabier Rodriguez-Calvar.

        This commit adds new layout tests in order to test the reception of the encrypted CENC
        event with an expected initData and initDataType fields.

        * media/content/encrypted/VideoClearKeyCenc.mp4: Added.
            This is a simple encrypted video file used for regular playback.
            It has been encrypted with BENTO4. https://www.bento4.com/

        * media/content/encrypted/segments/VideoClearKeyCenc-seg-0.mp4: Added.
            This is a simple encrypted video fragment used in MSE playback.
            It has been fragmented and encrypted with BENTO4. https://www.bento4.com/

        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-expected.txt: Added.
        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-mse-expected.txt: Added.
        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-mse.html: Added.
            This is a test with MSE.

        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event.html: Added.
            This is a test with a regular playback.

        * media/encrypted-media/medias-enc.js: Added.
            This JavaScrit file lists the encrypted media wich will be used in encrypted-media tests.
            It gives all necessary informations about the encrypted media: path of the file or
            the path of the segments in MSE case, mimeType, initDataType and the encryption keys.

        * media/media-source/media-source-loader-simple.js: Added.
            This JavaScript file provides a simple MSE implementation, reads the segments of the media and appends them
            in the appropriate SourceBuffer.

        * platform/gtk/TestExpectations:
        * platform/mac-elcapitan/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:

2017-12-14  Frederic Wang  <fwang@igalia.com>

        Make GraphicsLayer::dumpProperties dump m_offsetFromRenderer
        https://bugs.webkit.org/show_bug.cgi?id=180473

        Update test expectations to include the "offset from renderer" values. Existing tests insert
        the output of layerTreeAsText into some divs which may cause the corresponding GraphicsLayers
        to become slightly taller. We thus make the necessary adjustments.

        Reviewed by Antonio Gomes.

        * compositing/backing/no-backing-for-clip-expected.txt:
        * compositing/backing/no-backing-for-clip-overlap-expected.txt:
        * compositing/backing/transform-transition-from-outside-view-expected.txt:
        * compositing/bounds-in-flipped-writing-mode-expected.txt:
        * compositing/columns/composited-in-paginated-rl-expected.txt:
        * compositing/columns/composited-lr-paginated-repaint-expected.txt:
        * compositing/columns/composited-rl-paginated-repaint-expected.txt:
        * compositing/contents-format/subpixel-antialiased-nested-layer-expected.txt:
        * compositing/contents-format/subpixel-antialiased-text-configs-antialiasing-style-expected.txt:
        * compositing/contents-format/subpixel-antialiased-text-configs-expected.txt:
        * compositing/contents-format/subpixel-antialiased-text-images-expected.txt:
        * compositing/contents-format/subpixel-antialiased-text-traversal-expected.txt:
        * compositing/contents-format/subpixel-antialiased-text-visibility-expected.txt:
        * compositing/contents-opaque/overflow-hidden-child-layers-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-shadow-expected.txt:
        * compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
        * compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
        * compositing/geometry/bounds-ignores-hidden-expected.txt:
        * compositing/geometry/clip-expected.txt:
        * compositing/geometry/clip-inside-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/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-positioned-expected.txt:
        * compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
        * compositing/geometry/limit-layer-bounds-transformed-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/overlapped-iframe-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/ios/overflow-scroll-touch-tiles-expected.txt:
        * compositing/layer-creation/fixed-overlap-extent-expected.txt:
        * compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt:
        * compositing/layer-creation/fixed-position-under-transform-expected.txt:
        * compositing/layer-creation/mismatched-rotated-transform-animation-overlap-expected.txt:
        * compositing/layer-creation/mismatched-rotated-transform-transition-overlap-expected.txt:
        * compositing/layer-creation/mismatched-transform-transition-overlap-expected.txt:
        * compositing/layer-creation/multiple-keyframes-animation-overlap-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-transformed-layer-expected.txt:
        * compositing/layer-creation/overlap-transforms-expected.txt:
        * compositing/layer-creation/rotate3d-overlap-expected.txt:
        * compositing/layer-creation/scale-rotation-animation-overlap-expected.txt:
        * compositing/layer-creation/scale-rotation-transition-overlap-expected.txt:
        * compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
        * compositing/layer-creation/translate-animation-overlap-expected.txt:
        * compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
        * compositing/layer-creation/translate-scale-transition-overlap-expected.txt:
        * compositing/layer-creation/translate-transition-overlap-expected.txt:
        * compositing/layer-creation/will-change-layer-creation-expected.txt:
        * compositing/overflow/clip-descendents-expected.txt:
        * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt:
        * compositing/repaint/fixed-background-scroll-expected.txt:
        * compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt:
        * compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt:
        * compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint-expected.txt:
        * compositing/repaint/repaint-on-layer-grouping-change-expected.txt:
        * compositing/rtl/rtl-absolute-overflow-expected.txt:
        * compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
        * compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
        * compositing/scrolling/touch-scroll-to-clip-expected.txt:
        * compositing/tiling/tiled-mask-inwindow-expected.txt:
        * compositing/tiling/tiled-reflection-inwindow-expected.txt:
        * compositing/tiling/transform-origin-tiled-expected.txt:
        * compositing/visible-rect/coverage-clipped-expected.txt:
        * compositing/visible-rect/coverage-scrolling-expected.txt:
        * fast/scrolling/ios/overflow-scroll-touch-expected.txt:
        * fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt:
        * platform/gtk/compositing/geometry/composited-in-columns-expected.txt:
        * platform/gtk/compositing/iframes/invisible-nested-iframe-show-expected.txt:
        * platform/gtk/compositing/layer-creation/overlap-animation-container-expected.txt:
        * platform/gtk/compositing/layer-creation/overlap-animation-expected.txt:
        * platform/gtk/compositing/layer-creation/will-change-layer-creation-expected.txt:
        * platform/gtk/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
        * platform/gtk/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
        * platform/ios-wk2/compositing/backing/no-backing-for-clip-expected.txt:
        * platform/ios-wk2/compositing/backing/no-backing-for-clip-overlap-expected.txt:
        * platform/ios-wk2/compositing/columns/composited-in-paginated-rl-expected.txt:
        * platform/ios-wk2/compositing/columns/composited-lr-paginated-repaint-expected.txt:
        * platform/ios-wk2/compositing/columns/composited-rl-paginated-repaint-expected.txt:
        * platform/ios-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
        * platform/ios-wk2/compositing/geometry/composited-in-columns-expected.txt:
        * platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
        * platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
        * platform/ios-wk2/compositing/iframes/composited-parent-iframe-expected.txt:
        * platform/ios-wk2/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
        * platform/ios-wk2/compositing/iframes/connect-compositing-iframe-expected.txt:
        * platform/ios-wk2/compositing/iframes/connect-compositing-iframe2-expected.txt:
        * platform/ios-wk2/compositing/iframes/connect-compositing-iframe3-expected.txt:
        * platform/ios-wk2/compositing/iframes/enter-compositing-iframe-expected.txt:
        * platform/ios-wk2/compositing/iframes/iframe-resize-expected.txt:
        * platform/ios-wk2/compositing/iframes/leave-compositing-iframe-expected.txt:
        * platform/ios-wk2/compositing/iframes/overlapped-iframe-expected.txt:
        * platform/ios-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
        * platform/ios-wk2/compositing/iframes/scrolling-iframe-expected.txt:
        * platform/ios-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
        * platform/ios-wk2/compositing/repaint/fixed-background-scroll-expected.txt:
        * platform/ios-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
        * platform/ios-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
        * platform/ios-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
        * platform/ios-wk2/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
        * platform/ios-wk2/compositing/scrolling/touch-scroll-to-clip-expected.txt:
        * platform/ios-wk2/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
        * platform/ios-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/ios-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/ios-wk2/compositing/tiling/tiled-mask-inwindow-expected.txt:
        * platform/ios-wk2/compositing/tiling/tiled-reflection-inwindow-expected.txt:
        * platform/ios-wk2/compositing/tiling/transform-origin-tiled-expected.txt:
        * platform/ios-wk2/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/2d-transformed-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/3d-transformed-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/clipped-visible-rect-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/coverage-clipped-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/coverage-scrolling-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/flipped-preserve-3d-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/iframe-and-layers-expected.txt:
        * platform/ios-wk2/compositing/visible-rect/nested-transform-expected.txt:
        * platform/ios/compositing/contents-format/subpixel-antialiased-nested-layer-expected.txt:
        * platform/ios/compositing/contents-format/subpixel-antialiased-text-traversal-expected.txt:
        * platform/ios/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
        * platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
        * platform/ios/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
        * platform/ios/compositing/iframes/invisible-nested-iframe-show-expected.txt:
        * platform/ios/compositing/images/clip-on-directly-composited-image-expected.txt:
        * platform/ios/compositing/layer-creation/overlap-animation-clipping-expected.txt:
        * platform/ios/compositing/layer-creation/overlap-animation-container-expected.txt:
        * platform/ios/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt:
        * platform/ios/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
        * platform/ios/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
        * platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
        * platform/ios/compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
        * platform/ios/compositing/visible-rect/3d-transform-style-expected.txt:
        * platform/ios/compositing/visible-rect/animated-expected.txt:
        * platform/ios/compositing/visible-rect/animated-from-none-expected.txt:
        * platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt:
        * platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt:
        * platform/ios/fast/scrolling/ios/textarea-scroll-touch-expected.txt:
        * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt:
        * platform/mac-elcapitan/compositing/contents-opaque/control-layer-expected.txt:
        * platform/mac-elcapitan/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt:
        * platform/mac-sierra-wk1/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt:
        * platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt:
        * platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint-expected.txt:
        * platform/mac-wk1/compositing/tiling/tiled-mask-inwindow-expected.txt:
        * platform/mac-wk1/compositing/tiling/tiled-reflection-inwindow-expected.txt:
        * platform/mac-wk1/compositing/tiling/transform-origin-tiled-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-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/compositing/contents-format/subpixel-antialiased-text-configs-antialiasing-style-expected.txt:
        * platform/mac/compositing/contents-format/subpixel-antialiased-text-configs-expected.txt:
        * platform/mac/compositing/contents-format/subpixel-antialiased-text-images-expected.txt:
        * platform/mac/compositing/contents-format/subpixel-antialiased-text-traversal-expected.txt:
        * platform/mac/compositing/contents-format/subpixel-antialiased-text-visibility-expected.txt:
        * platform/mac/compositing/contents-opaque/control-layer-expected.txt:
        * platform/mac/compositing/geometry/composited-in-columns-expected.txt:
        * platform/mac/compositing/iframes/invisible-nested-iframe-show-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/composited-scrolling-creates-a-stacking-container-expected.txt:
        * platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
        * platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
        * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
        * platform/mac/compositing/visibility/visibility-image-layers-dynamic-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-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/nested-transform-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
        * tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
        * tiled-drawing/tile-coverage-iframe-to-zero-coverage-expected.txt:

2017-12-13  Daniel Bates  <dabates@apple.com>

        Add more auto fill button types
        https://bugs.webkit.org/show_bug.cgi?id=180651
        <rdar://problem/35891125>
        And
        <rdar://problem/35977943>

        Add macOS El Capitan-specific and Windows expected results. I included results from the Apple Windows bot
        as a baseline. The results are incorrect as they render the password field text using bullets instead of
        plain text. Further investigation required.

        * platform/mac-elcapitan/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Added.
        * platform/win/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt: Added.
        * platform/win/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Added.

2017-12-13  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION: Web Inspector: Opening inspector crashes page if there are empty resources
        https://bugs.webkit.org/show_bug.cgi?id=180787
        <rdar://problem/35934838>

        Reviewed by Brian Burg.

        * inspector/page/resources/empty.css: Added.
        * inspector/page/resources/empty.js: Added.
        * inspector/page/empty-or-missing-resources-expected.txt: Added.
        * inspector/page/empty-or-missing-resources.html: Added.
        Test no crashes inspecting a page with empty/missing resources.
        Previously the test would crash.

        * inspector/canvas/recording-webgl-snapshots.html:
        * inspector/canvas/resources/create-context-utilities.js:
        * inspector/canvas/resources/recording-utilities.js:
        * inspector/css/getAllStyleSheets.html:
        * inspector/css/stylesheet-events-basic.html:
        * inspector/css/stylesheet-events-imports.html:
        * inspector/css/stylesheet-events-multiple-documents.html:
        * inspector/worker/console-basic.html:
        * inspector/worker/debugger-scripts.html:
        * inspector/worker/resources-in-worker.html:
        * inspector/worker/runtime-basic.html:
        * inspector/worker/worker-create-and-terminate.html:
        Promote sanitizeURL to a TestUtility function since it is common.

2017-12-13  Daniel Bates  <dabates@apple.com>

        Add more auto fill button types
        https://bugs.webkit.org/show_bug.cgi?id=180651
        <rdar://problem/35891125>
        And
        <rdar://problem/35977943>

        Update expected results. I included results from the GTK bot as a baseline. The results are incorrect as they
        render the password field text using bullets instead of plain text. This likely indicates that the bots did not
        regenerate the user-agent style sheet.

        * platform/gtk/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt: Added.
        * platform/gtk/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Added.
        * platform/ios/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
        * platform/ios/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
        * platform/mac/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
        * platform/mac/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:

2017-12-13  Matt Lewis  <jlewis3@apple.com>

        Marked security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173742

        Unreviewed test gardening

        * platform/mac-wk2/TestExpectations:

2017-12-13  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: add instrumentation for ImageBitmapRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=180736

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/context-attributes-expected.txt:
        * inspector/canvas/context-attributes.html:
        * inspector/canvas/create-context-bitmaprenderer-expected.txt: Added.
        * inspector/canvas/create-context-bitmaprenderer.html: Added.
        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:
        * inspector/canvas/requestContent-bitmaprenderer-expected.txt: Added.
        * inspector/canvas/requestContent-bitmaprenderer.html: Added.
        * inspector/canvas/resolveCanvasContext-bitmaprenderer-expected.txt: Added.
        * inspector/canvas/resolveCanvasContext-bitmaprenderer.html: Added.

2017-12-13  Daniel Bates  <dabates@apple.com>

        Add more auto fill button types
        https://bugs.webkit.org/show_bug.cgi?id=180651
        <rdar://problem/35891125>
        And
        <rdar://problem/35977943>

        Reviewed by Brent Fulgham.

        * fast/forms/auto-fill-button/input-autofilled-disabled-strong-password-auto-fill-button-expected.html: Added.
        * fast/forms/auto-fill-button/input-autofilled-disabled-strong-password-auto-fill-button.html: Added.
        * fast/forms/auto-fill-button/input-autofilled-readonly-strong-password-auto-fill-button-expected.html: Added.
        * fast/forms/auto-fill-button/input-autofilled-readonly-strong-password-auto-fill-button.html: Added.
        * fast/forms/auto-fill-button/input-disabled-strong-password-and-strong-confirmation-password-auto-fill-buttons-expected.html: Added.
        * fast/forms/auto-fill-button/input-disabled-strong-password-and-strong-confirmation-password-auto-fill-buttons.html: Added.
        * fast/forms/auto-fill-button/input-readonly-strong-password-and-strong-confirmation-password-auto-fill-buttons-expected.html: Added.
        * fast/forms/auto-fill-button/input-readonly-strong-password-and-strong-confirmation-password-auto-fill-buttons.html: Added.
        * fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button.html: Added.
        * fast/forms/auto-fill-button/input-strong-password-auto-fill-button.html: Added.
        * platform/ios/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt: Added.
        * platform/ios/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Added.
        * platform/mac/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt: Added.
        * platform/mac/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Added.

2017-12-13  Zalan Bujtas  <zalan@apple.com>

        RenderImage can be destroyed even before setting the style on it.
        https://bugs.webkit.org/show_bug.cgi?id=180767
        <rdar://problem/33965995>

        Reviewed by Simon Fraser.

        * fast/images/crash-when-image-renderer-is-destroyed-before-calling-initializeStyle-expected.txt: Added.
        * fast/images/crash-when-image-renderer-is-destroyed-before-calling-initializeStyle.html: Added.

2017-12-13  Matt Lewis  <jlewis3@apple.com>

        Marked accessibility/mac/html5-input-number.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=180560

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-12-13  Matt Lewis  <jlewis3@apple.com>

        Removed debug only expectations from platform/ios/ios/plugin/youtube-flash-plugin-iframe.html
        https://bugs.webkit.org/show_bug.cgi?id=163362

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-12-13  Matt Lewis  <jlewis3@apple.com>

        Updated expectations for contentextension tests to be flaky.
        https://bugs.webkit.org/show_bug.cgi?id=162942

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-12-13  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement the "updating the finished state" procedure
        https://bugs.webkit.org/show_bug.cgi?id=180743
        <rdar://problem/36017232>

        Reviewed by Simon Fraser.

        Rebase some WPT expectations with minor progressions due to exposing the "onfinish" property.

        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:

2017-12-13  Matt Lewis  <jlewis3@apple.com>

        Updated Expectations for http/tests/cache/disk-cache/disk-cache-204-status-code.html
        https://bugs.webkit.org/show_bug.cgi?id=162685

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-12-13  Andy Estes  <aestes@apple.com>

        [Payment Request] Remove ApplePayPaymentMethodUpdateEvent and use PaymentDetailsModifiers instead
        https://bugs.webkit.org/show_bug.cgi?id=180737
        <rdar://problem/36013152>

        Reviewed by Brady Eidson.

        * http/tests/ssl/applepay/ApplePayPaymentDetailsModifier.https-expected.txt: Added.
        * http/tests/ssl/applepay/ApplePayPaymentDetailsModifier.https.html: Added.
        * http/tests/ssl/applepay/ApplePayPaymentMethodUpdateEvent.https-expected.txt: Removed.
        * http/tests/ssl/applepay/ApplePayPaymentMethodUpdateEvent.https.html: Removed.

2017-12-13  Matt Lewis  <jlewis3@apple.com>

        Added missing expectation file for fast/text/user-installed-fonts/shadow-postscript-family.html
        https://bugs.webkit.org/show_bug.cgi?id=180062

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-12-13  Ms2ger  <Ms2ger@igalia.com>

        [GTK][WPE] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=180751

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
        * platform/gtk/http/tests/inspector/network/fetch-response-body-expected.txt:
        * platform/gtk/http/tests/inspector/network/xhr-response-body-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte-expected.txt: Added.
        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte-expected.txt: Added.

2017-12-13  Konstantin Tokarev  <annulen@yandex.ru>

        Unreviewed, rolling out r179000.

        There are tests failing in 32-bits and Debug builds

        Reverted changeset:

        https://trac.webkit.org/changeset/179000

2017-12-12  Youenn Fablet  <youenn@apple.com>

        getUserMedia is resolving before the document knows it is capturing
        https://bugs.webkit.org/show_bug.cgi?id=180699

        Reviewed by Eric Carlson.

        * webrtc/video.html: Adding a check that document is capturing within getUserMedia promise resolution callback.
        Adding this check without the changes to WebCore makes the test flaky, sometimes the promise resolution happens
        after document state is updated.

2017-12-12  John Wilander  <wilander@apple.com>

        Storage Access API: Implement frame-specific access in the network storage session layer
        https://bugs.webkit.org/show_bug.cgi?id=180679
        <rdar://problem/35982116>

        Reviewed by Alex Christensen.

        Note that the expected results for
        request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html
        accepts the missing part where document.cookie is still partitioned
        after storage access has been granted. Follow-up work tracked in
        https://bugs.webkit.org/show_bug.cgi?id=180682.

        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame-expected.txt: Copied from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-expected.txt.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame.html: Copied from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction.html.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-expected.txt: Removed.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction.html: Removed.
        * platform/mac-wk2/TestExpectations:

2017-12-12  Brian Burg  <bburg@apple.com>

        Web Inspector: support async setup() and async teardown() in AsyncTestSuite
        https://bugs.webkit.org/show_bug.cgi?id=180626

        Reviewed by Timothy Hatcher.

        Update tests to cover async setup() and async teardown() in the case
        of success, runtime failure, and explicit failure.

        * inspector/unit-tests/async-test-suite-expected.txt:
        * inspector/unit-tests/async-test-suite.html:

2017-12-12  Brian Burg  <bburg@apple.com>

        Web Inspector: SyncTestSuite should complain if passed an async setup/test/teardown function
        https://bugs.webkit.org/show_bug.cgi?id=180717

        Reviewed by Devin Rousso.

        Add new test cases for more strict requirements for test case arguments.

        * inspector/unit-tests/sync-test-suite-expected.txt:
        * inspector/unit-tests/sync-test-suite.html:

2017-12-12  Antoine Quint  <graouts@apple.com>

        [Web Animations] Expose promises on Animation interface
        https://bugs.webkit.org/show_bug.cgi?id=180710
        <rdar://problem/36000604>

        Reviewed by Dean Jackson.

        Rebase some WPT expectations with progressions due to exposing the "ready" and "finished" promises.

        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
        * http/wpt/web-animations/timing-model/animations/current-time-expected.txt:

2017-12-12  Myles C. Maxfield  <mmaxfield@apple.com>

        IPC code doesn't understand NSDictionaries with non-NSString keys
        https://bugs.webkit.org/show_bug.cgi?id=180307
        <rdar://problem/35812382>

        Reviewed by Alex Christensen.

        * fast/text/variations/ipc-expected.txt: Added.
        * fast/text/variations/ipc.html: Added.

2017-12-12  Brian Burg  <bburg@apple.com>

        Web Inspector: add InspectorTest.expectException() and use it
        https://bugs.webkit.org/show_bug.cgi?id=180719

        Reviewed by Matt Baker.

        * inspector/dom/highlightNode-expected.txt:
        * inspector/dom/highlightNode.html:
        Adopt the new helper method.

        * inspector/unit-tests/test-harness-expect-functions-async-expected.txt: Added.
        * inspector/unit-tests/test-harness-expect-functions-async.html: Added.
        Add a separate async test suite for async expect* functions.

        * inspector/unit-tests/test-harness-expect-functions-expected.txt:
        * inspector/unit-tests/test-harness-expect-functions.html:
        Standardize the naming for these two suites.

2017-12-12  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION (Safari 11): custom <font-face> tag crashes a page
        https://bugs.webkit.org/show_bug.cgi?id=177848

        Reviewed by Darin Adler.

        * svg/text/font-style-keyword-expected.txt: Added.
        * svg/text/font-style-keyword.html: Added.

2017-12-12  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement the playState property on Animation
        https://bugs.webkit.org/show_bug.cgi?id=180711
        <rdar://problem/36000982>

        Reviewed by Dean Jackson.

        Rebase some WPT expectations with progressions due to exposing the "playState" and "pending" properties.

        * http/wpt/web-animations/interfaces/Animation/constructor-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:

2017-12-12  Youenn Fablet  <youenn@apple.com>

        Navigation requests should use navigate fetch mode
        https://bugs.webkit.org/show_bug.cgi?id=179808

        Reviewed by Chris Dumez.

        * http/tests/workers/service/basic-fetch.https-expected.txt:
        * http/tests/workers/service/resources/basic-fetch-worker.js:
        * http/tests/workers/service/resources/basic-fetch.js:
        (async.test):

2017-12-12  Youenn Fablet  <youenn@apple.com>

        Rebasing/unskipping some WPT service worker tests
        https://bugs.webkit.org/show_bug.cgi?id=180705

        Unreviewed.

        * TestExpectations:

2017-12-12  Simon Fraser  <simon.fraser@apple.com>

        HTML-page with <object type="image/svg+xml" data="foo.svg"> often is blank
        https://bugs.webkit.org/show_bug.cgi?id=180524
        <rdar://problem/35920554>

        Reviewed by Antti Koivisto.

        Adjust a test where the new layout is triggering scrollbar creation.

        * fast/dom/iframe-inner-size-scaling-expected.txt:
        * fast/dom/iframe-inner-size-scaling.html:
        * fast/dom/iframe-innerWidth-expected.txt: Added.
        * fast/dom/iframe-innerWidth.html: Added.

2017-12-11  Antoine Quint  <graouts@apple.com>

        [Web Animations] Enqueue and dispatch animation events
        https://bugs.webkit.org/show_bug.cgi?id=180657
        <rdar://problem/35970103>

        Reviewed by Chris Dumez.

        Rebase Web Platform Tests with some progressions based on the IDL changes. Progressions due
        to dispatching events will become apparent when the next patch, where we dispatch actual
        animation playback events, lands.

        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:

2017-12-12  Youenn Fablet  <youenn@apple.com>

        Allow AudioContext to start when getUserMedia is on
        https://bugs.webkit.org/show_bug.cgi?id=180680

        Reviewed by Eric Carlson.

        * webrtc/getUserMedia-webaudio-autoplay-expected.txt: Added.
        * webrtc/getUserMedia-webaudio-autoplay.html: Added.

2017-12-12  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable some wpt tests.
        https://bugs.webkit.org/show_bug.cgi?id=180695

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:

2017-12-12  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Update some test expectations.
        https://bugs.webkit.org/show_bug.cgi?id=180655

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
          - Add bug numbers.
          - Remove failure expectations in favour of accurate baselines.
        * platform/gtk/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt:
          Added to account for the fact that libsoup is more lenient about data URLs.
        * platform/gtk/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-video-expected.txt:
          Added to account for video codec support depending on the platform.
        * platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
          Added to account for whitespace differences in the dumped output.
        * platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter-expected.txt:
          Added to account for whitespace differences in the dumped output.
        * platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/telephone-expected.txt:
          Added to account for whitespace differences in the dumped output.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt:
          Removed; the platform-neutral expectation now matches.

2017-12-12  Ms2ger  <Ms2ger@igalia.com>

        Implement {DOMMimeTypeArray, DOMPluginArray}::supportedPropertyNames().
        https://bugs.webkit.org/show_bug.cgi?id=180471

        Reviewed by Darin Adler.

        Remove failure expectation for test that now matches the expectation file.

        * platform/gtk/TestExpectations:

2017-12-11  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Automatic minimum size is not clamped if min track sizing function is auto
        https://bugs.webkit.org/show_bug.cgi?id=180283

        Reviewed by Darin Adler.

        This patch updates a bunch of tests that were wrong
        to follow the new behavior.

        * TestExpectations: Now we're passing one WPT test more.
        * fast/css-grid-layout/min-height-border-box.html:
        * fast/css-grid-layout/min-width-margin-box.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
        * fast/css-grid-layout/percent-of-indefinite-track-size.html:

2017-12-11  Eric Carlson  <eric.carlson@apple.com>

        Web Inspector: Optionally log WebKit log parameters as JSON
        https://bugs.webkit.org/show_bug.cgi?id=180529
        <rdar://problem/35909462>

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-webgl-expected.txt:
        * inspector/canvas/recording-webgl-snapshots-expected.txt:

2017-12-11  Chris Dumez  <cdumez@apple.com>

        Layout Test http/tests/workers/service/postmessage-after-sw-process-crash.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=180659

        Reviewed by Youenn Fablet.

        Rewrite test so that it is no longer flaky.

        * http/tests/workers/service/postmessage-after-sw-process-crash.https-expected.txt:
        * http/tests/workers/service/resources/postmessage-after-sw-process-crash-worker.js: Added.
        * http/tests/workers/service/resources/postmessage-after-sw-process-crash.js:

2017-12-11  David Quesada  <david_quesada@apple.com>

        Turn on ENABLE_APPLICATION_MANIFEST
        https://bugs.webkit.org/show_bug.cgi?id=180562
        rdar://problem/35924737

        Reviewed by Geoffrey Garen.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-12-11  Dean Jackson  <dino@apple.com>

        Add a runtime feature flag for ImageBitmap and OffscreenCanvas
        https://bugs.webkit.org/show_bug.cgi?id=180652
        <rdar://problem/35969611>

        Reviewed by Antoine Quint.

        * fast/canvas/offscreen-enabled-expected.txt: Added.
        * fast/canvas/offscreen-enabled.html: Added.

2017-12-11  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable most wpt html tests.
        https://bugs.webkit.org/show_bug.cgi?id=180650

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
          Added: same as GTK; whitespace-only difference with the generic expectation file.
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt:
          Added: whitespace-only difference with the generic expectation file.
        * platform/wpe/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray-expected.txt:
          Added: some subtests pass because the plugin array does not contain any
          plugins on WPE, and issues with the actual elements of the array can
          not be detected.

2017-12-11  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed, rolling out r225737.

        Breaks Git clones of the repository, including EWSs and webkitbot.

        Reverted changeset:

        "Add a script to automate W3c web-platform-tests pull request
        creations from WebKit commits"
        https://bugs.webkit.org/show_bug.cgi?id=169462
        https://trac.webkit.org/changeset/225737

2017-12-11  Manuel Rego Casasnovas  <rego@igalia.com>

        REGRESSION(r221931): Row stretch doesn't work for grid container with min-height
        https://bugs.webkit.org/show_bug.cgi?id=180287

        Reviewed by Darin Adler.

        * TestExpectations: Now layout-algorithm/grid-stretch-respects-min-size-001.html
        from WPT is passing, so this patch removes it from TestExpectations file.

2017-12-10  Minsheng Liu  <lambda@liu.ms>

        Incorrect bounds inside <mover>/<munder> when a stretchy operator is present
        https://bugs.webkit.org/show_bug.cgi?id=179682

        Reviewed by Frédéric Wang.

        Added test case: mathml/opentype/munderover-stretch-width.html

        Updated test case: mathml/opentype/opentype-stretchy-horizontal
        We update the test file to make sure the stretchy <mo> has zero lspace/rspace.
        Expected results for macOS and iOS are included.

        * mathml/opentype/munderover-stretch-width-expected.txt: Added.
        * mathml/opentype/munderover-stretch-width.html: Added.
        * mathml/opentype/opentype-stretchy-horizontal.html:
        * platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
        * platform/ios/mathml/opentype/opentype-stretchy-horizontal-expected.png:
        * platform/ios/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.png:
        * platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
        * platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.

2017-12-09  Darin Adler  <darin@apple.com>

        Add test demonstrating leaks that happen when we create reference cycles with DOM objects
        https://bugs.webkit.org/show_bug.cgi?id=180323

        Reviewed by Filip Pizlo.

        * fast/dom/reference-cycle-leaks-expected.txt: Added.
        * fast/dom/reference-cycle-leaks.html: Added.

2017-12-09  Ryosuke Niwa  <rniwa@webkit.org>

        iOS: Crash in Document::updateLayout() via Document::processViewport
        https://bugs.webkit.org/show_bug.cgi?id=180619
        <rdar://problem/35717575>

        Reviewed by Zalan Bujtas.

        Added a regression test for the crash.

        * media/ios/viewport-change-with-video-expected.txt: Added.
        * media/ios/viewport-change-with-video.html: Added.

2017-12-08  Zalan Bujtas  <zalan@apple.com>

        Document::updateLayout() could destroy current frame.
        https://bugs.webkit.org/show_bug.cgi?id=180525
        <rdar://problem/35906836>

        Reviewed by Simon Fraser.

        * fast/frames/crash-when-iframe-is-remove-in-eventhandler-expected.txt: Added.
        * fast/frames/crash-when-iframe-is-remove-in-eventhandler.html: Added.

2017-12-08  Youenn Fablet  <youenn@apple.com>

        Service Worker should use a correct user agent
        https://bugs.webkit.org/show_bug.cgi?id=180566
        <rdar://problem/35926295>

        Reviewed by Chris Dumez.

        * http/wpt/service-workers/useragent-worker.js: Added.
        (async.doTest):
        * http/wpt/service-workers/useragent.https-expected.txt: Added.
        * http/wpt/service-workers/useragent.https.html: Added.

2017-12-07  Simon Fraser  <simon.fraser@apple.com>

        Wrong caret position for input field inside a fixed position parent on iOS 11
        https://bugs.webkit.org/show_bug.cgi?id=176896
        rdar://problem/33726145

        Reviewed by Tim Horton.
        
        Test that focuses an input inside position:fixed, then moves focus to the next
        input. This was the most reliable way I could find of triggering the bug.
        The test dumps the caret rect.

        * fast/visual-viewport/ios/caret-after-focus-in-fixed-expected.txt: Added.
        * fast/visual-viewport/ios/caret-after-focus-in-fixed.html: Added.

2017-12-06  Simon Fraser  <simon.fraser@apple.com>

        When the iPhone keyboard is up, sometimes we never commit a stable update and re-show the caret
        https://bugs.webkit.org/show_bug.cgi?id=180498

        Reviewed by Tim Horton.

        Test that completes once a stable update is received after showing the keyboard.

        * fast/visual-viewport/ios/stable-update-with-keyboard-expected.txt: Added.
        * fast/visual-viewport/ios/stable-update-with-keyboard.html: Added.

2017-12-08  Daniel Bates  <dabates@apple.com>

        Remove unnecessary prefix from AutoFillButtonType enumerators
        https://bugs.webkit.org/show_bug.cgi?id=180512

        Reviewed by Tim Horton.

        * accessibility/auto-fill-crash.html:
        * accessibility/auto-fill-types.html:
        * fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-disabled.html:
        * fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly.html:
        * fast/forms/auto-fill-button/input-auto-fill-button.html:
        * fast/forms/auto-fill-button/input-contacts-auto-fill-button.html:
        * fast/forms/auto-fill-button/input-disabled-auto-fill-button.html:
        * fast/forms/auto-fill-button/input-readonly-auto-fill-button.html:
        * fast/forms/auto-fill-button/input-readonly-non-empty-auto-fill-button.html:
        * fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button.html:
        * fast/forms/auto-fill-button/show-correct-auto-fill-button-when-auto-fill-button-type-changes-expected.html:
        * fast/forms/auto-fill-button/show-correct-auto-fill-button-when-auto-fill-button-type-changes.html:

2017-12-08  Dean Jackson  <dino@apple.com>

        Implement transferToImageBitmap for WebGL offscreen canvas objects
        https://bugs.webkit.org/show_bug.cgi?id=180603
        <rdar://problem/34147143>

        Reviewed by Sam Weinig.

        * http/wpt/offscreen-canvas/transferToImageBitmap-empty-expected.txt: Renamed from LayoutTests/http/wpt/offscreen-canvas/transferToImageBitmap-expected.txt.
        * http/wpt/offscreen-canvas/transferToImageBitmap-empty.html: Renamed from LayoutTests/http/wpt/offscreen-canvas/transferToImageBitmap.html.
        * http/wpt/offscreen-canvas/transferToImageBitmap-webgl-expected.html: Added.
        * http/wpt/offscreen-canvas/transferToImageBitmap-webgl.html: Added.

2017-12-08  Youenn Fablet  <youenn@apple.com>

        Service Worker should use a correct SessionID
        https://bugs.webkit.org/show_bug.cgi?id=180585

        Reviewed by Alex Christensen.

        * http/tests/workers/service/serviceworker-private-browsing-worker.js: Added.
        (async):
        * http/tests/workers/service/serviceworker-private-browsing.https-expected.txt: Added.
        * http/tests/workers/service/serviceworker-private-browsing.https.html: Added.

2017-12-08  Youenn Fablet  <youenn@apple.com>

        FetchResponse should keep unfiltered ResourceResponse so that it can be used in Service Worker
        https://bugs.webkit.org/show_bug.cgi?id=179641
        <rdar://problem/35923570>

        Reviewed by Alex Christensen.

        * TestExpectations:

2017-12-08  Konstantin Tokarev  <annulen@yandex.ru>

        [python] Replace print operator with print() function for python3 compatibility
        https://bugs.webkit.org/show_bug.cgi?id=180592

        Reviewed by Michael Catanzaro.

        * html5lib/generate-test-wrappers.py:
        (_remove_stale_tests):
        * http/tests/websocket/tests/hybi/bad-handshake-crash_wsh.py:
        (web_socket_do_extra_handshake):
        * http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header_wsh.py:
        (web_socket_do_extra_handshake):
        * http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header_wsh.py:
        (web_socket_do_extra_handshake):
        * http/tests/websocket/tests/hybi/handshake-fail-by-no-cr_wsh.py:
        (web_socket_do_extra_handshake):
        * http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header_wsh.py:
        (web_socket_do_extra_handshake):

2017-12-08  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Rebaseline tables/mozilla/bugs/bug32205-5.html.
        https://bugs.webkit.org/show_bug.cgi?id=169010

        Unreviewed test gardening.

        The numbers changed by a few pixels in r213149.

        * platform/gtk/TestExpectations:
        * platform/gtk/tables/mozilla/bugs/bug32205-5-expected.txt:

2017-12-07  Ryosuke Niwa  <rniwa@webkit.org>

        iOS: Many AMP pages hit a release assertion inside Document::updateStyleIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=180550

        Reviewed by Simon Fraser.

        Add a test for r225647.

        * fast/frames/flattening/non-flattening-frame-inside-flattening-iframe-crash-expected.txt: Added.
        * fast/frames/flattening/non-flattening-frame-inside-flattening-iframe-crash.html: Added.

2017-12-07  Eric Carlson  <eric.carlson@apple.com>

        Simplify log channel configuration UI
        https://bugs.webkit.org/show_bug.cgi?id=180527
        <rdar://problem/35908382>

        Reviewed by Joseph Pecoraro.

        * inspector/console/webcore-logging.html: Updated test for new results.

2017-12-07  Oleksandr Skachkov  <gskachkov@gmail.com>

        WebAssembly: sending module to iframe fails
        https://bugs.webkit.org/show_bug.cgi?id=179263

        Reviewed by JF Bastien.

        * platform/ios-simulator/TestExpectations:
        * platform/win/TestExpectations:
        * resources/wasm-builder.js: Renamed from LayoutTests/workers/wasm-resources/builder.js.
        * wasm/iframe-parent-postmessage-expected.txt: Added.
        * wasm/iframe-parent-postmessage.html: Added.
        * wasm/iframe-postmessage-expected.txt: Added.
        * wasm/iframe-postmessage.html: Added.
        * wasm/resources/frame-parent.html: Added.
        * wasm/resources/frame.html: Added.
        * wasm/resources/load_wasm.js: Added.
        (createWasmModule):
        * wasm/window-postmessage-expected.txt: Added.
        * wasm/window-postmessage.html: Added.
        * workers/wasm-mem-post-message.html:

2017-12-07  Matt Lewis  <jlewis3@apple.com>

        Skipped imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm on macOS WK1
        https://bugs.webkit.org/show_bug.cgi?id=180554
        https://bugs.webkit.org/show_bug.cgi?id=180553

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-12-07  Alex Christensen  <achristensen@webkit.org>

        Always synchronously continue with fragment navigations
        https://bugs.webkit.org/show_bug.cgi?id=180544
        <rdar://problem/34815986> and <rdar://problem/35126690>

        Reviewed by Geoffrey Garen.

        * http/tests/dom/document-fragment-expected.txt: Added.
        * http/tests/dom/document-fragment.html: Added.
        Add a test that verifies that the fragment of the document is set immediately during a fragment navigation,
        even if decidePolicyForNavigationAction is called asynchronously.  Also verify the order of various events
        associated with the navigation.

2017-12-07  Youenn Fablet  <youenn@apple.com>

        Activate IDB and WebSockets in service workers
        https://bugs.webkit.org/show_bug.cgi?id=180534

        Reviewed by Brady Eidson.

        * http/tests/workers/service/resources/serviceworker-idb-worker.js: Added.
        * http/tests/workers/service/resources/serviceworker-websocket-worker.js: Added.
        * http/tests/workers/service/serviceworker-idb.https-expected.txt: Added.
        * http/tests/workers/service/serviceworker-idb.https.html: Added.
        * http/tests/workers/service/serviceworker-websocket.https-expected.txt: Added.
        * http/tests/workers/service/serviceworker-websocket.https.html: Added.

2017-12-07  Jer Noble  <jer.noble@apple.com>

        [EME] Support the 'encrypted' event for FPS encrypted streams
        https://bugs.webkit.org/show_bug.cgi?id=180480

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:
        * platform/mac/media/encrypted-media/content/fps-cbcs.mp4: Added.
        * platform/mac/media/encrypted-media/fps-encrypted-event-expected.txt: Added.
        * platform/mac/media/encrypted-media/fps-encrypted-event.html: Added.

2017-12-07  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Add SPI to disallow user-installed fonts
        https://bugs.webkit.org/show_bug.cgi?id=180062
        <rdar://problem/35042408>

        Reviewed by Simon Fraser.

        * fast/text/user-installed-font-expected.html: Added.
        * fast/text/user-installed-font.html: Added.
        * fast/text/user-installed-fonts/disable-expected-mismatch.html: Added.
        * fast/text/user-installed-fonts/disable.html: Added.
        * fast/text/user-installed-fonts/shadow-disable-expected-mismatch.html: Added.
        * fast/text/user-installed-fonts/shadow-disable.html: Added.
        * fast/text/user-installed-fonts/shadow-expected.html: Added.
        * fast/text/user-installed-fonts/shadow-family-disable-expected-mismatch.html: Added.
        * fast/text/user-installed-fonts/shadow-family-disable.html: Added.
        * fast/text/user-installed-fonts/shadow-family-expected.html: Added.
        * fast/text/user-installed-fonts/shadow-family.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript-disable-expected-mismatch.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript-disable.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript-expected.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript-family-disable-expected-mismatch.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript-family-disable.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript-family-expected.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript-family.html: Added.
        * fast/text/user-installed-fonts/shadow-postscript.html: Added.
        * fast/text/user-installed-fonts/shadow.html: Added.
        * platform/gtk/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

2017-12-07  John Wilander  <wilander@apple.com>

        Move all tests under http/tests/loading/resourceLoadStatistics/ to http/tests/resourceLoadStatistics/ and remove expected failures
        https://bugs.webkit.org/show_bug.cgi?id=180502
        <rdar://problem/35891216>

        Reviewed by Brent Fulgham.

        This change moves all tests under http/tests/loading/resourceLoadStatistics/ to http/tests/resourceLoadStatistics/
        and removes expected failures.
        The one exception is the full removal of
        http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html
        which never seems to have worked properly. Follow-up work for this is tracked in <rdar://problem/35887722>.

        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html: Removed.
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html: Removed.
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html: Removed.
        * http/tests/loading/resourceLoadStatistics/grandfathering-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/grandfathering.html: Removed.
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html: Removed.
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html: Removed.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html: Removed.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html: Removed.
            This test is not being added back under http/tests/resourceLoadStatistics/ since it doesn't seem to work.
            Follow-up work for this is tracked in <rdar://problem/35887722>.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html: Removed.
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html: Removed.
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html: Removed.
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html: Removed.
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html: Removed.
        * http/tests/loading/resourceLoadStatistics/prune-statistics-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/prune-statistics.html: Removed.
        * http/tests/loading/resourceLoadStatistics/telemetry-generation-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/telemetry-generation.html: Removed.
        * http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Removed.
        * http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html: Removed.
        * http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html: Removed.
        * http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-expected.txt: Removed.
        * http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html: Removed.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html.
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt.
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt.
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html.
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html.
        * http/tests/resourceLoadStatistics/grandfathering-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/grandfathering-expected.txt.
        * http/tests/resourceLoadStatistics/grandfathering.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/grandfathering.html.
        * http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt.
        * http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html.
        * http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt.
        * http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html.
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt.
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html.
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt.
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html.
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt.
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html.
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt.
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt.
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html.
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html.
        * http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt.
        * http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html.
        * http/tests/resourceLoadStatistics/prune-statistics-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prune-statistics-expected.txt.
        * http/tests/resourceLoadStatistics/prune-statistics.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prune-statistics.html.
        * http/tests/resourceLoadStatistics/resources/get-cookies.php:
        * http/tests/resourceLoadStatistics/telemetry-generation-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/telemetry-generation-expected.txt.
        * http/tests/resourceLoadStatistics/telemetry-generation.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/telemetry-generation.html.
        * http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt.
        * http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html.
        * http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-expected.txt.
        * http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
        * http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt.
        * http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html.
        * http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-expected.txt.
        * http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html.
        * platform/ios/TestExpectations:
            Removed 'loading' directory from path and made sure no tests are expected to fail.
            Skipped tests that rely on UIHelper.activateAt() since it doesn't produce a user
            gesture that ITP captures on iOS.
        * platform/mac-wk2/TestExpectations:
            Removed 'loading' directory from path and made sure no tests are expected to fail.
        * platform/wk2/TestExpectations:
            Removed 'loading' directory from path and made sure no tests are expected to fail.

2017-12-07  David Quesada  <david_quesada@apple.com>

        [Web App Manifest] Support display-mode media feature
        https://bugs.webkit.org/show_bug.cgi?id=180376
        rdar://problem/35837993

        Reviewed by Geoffrey Garen.

        * applicationmanifest/display-mode-expected.txt: Added.
        * applicationmanifest/display-mode-subframe-expected.txt: Added.
        * applicationmanifest/display-mode-subframe.html: Added.
        * applicationmanifest/display-mode.html: Added.
        * applicationmanifest/resources/display-mode-subframe-1.html: Added.
        * applicationmanifest/resources/standalone.manifest: Added.

2017-12-07  Jer Noble  <jer.noble@apple.com>

        Creating a second AVPlayerItemVideoOutput causes flakey failures
        https://bugs.webkit.org/show_bug.cgi?id=177119
        <rdar://problem/34507977>

        Reviewed by Dean Jackson.

        * platform/mac/TestExpectations:

2017-12-07  Jer Noble  <jer.noble@apple.com>

        [EME] Support generateRequest() in CDMFairPlayStreaming
        https://bugs.webkit.org/show_bug.cgi?id=179752

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:
        * platform/mac/media/encrypted-media/fps-createSession-expected.txt: Added.
        * platform/mac/media/encrypted-media/fps-createSession.html: Added.
        * platform/mac/media/encrypted-media/fps-generateRequest-expected.txt: Added.
        * platform/mac/media/encrypted-media/fps-generateRequest.html: Added.

2017-12-07  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r224931.

        This test is no longer in the tree.

        Reverted changeset:

        "imported/w3c/web-platform-tests/2dcontext/the-canvas-
        state/canvas_state_restore_001.htm is an ImageOnlyFailure"
        https://bugs.webkit.org/show_bug.cgi?id=179786
        https://trac.webkit.org/changeset/224931

2017-12-07  Ms2ger  <Ms2ger@igalia.com>

        Update imported/w3c/web-platform-tests/css/css-pseudo-4/marker-font-properties.html from upstream.
        https://bugs.webkit.org/show_bug.cgi?id=177362

        Unreviewed test gardening.

        This makes it pass on GTK and WPE (at least locally).

        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:

2017-12-07  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Enable imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html.
        https://bugs.webkit.org/show_bug.cgi?id=168799

        Unreviewed test gardening.

        It hasn't failed in half a year (last failure was on r216594). I don't know
        what fixed it, but there doesn't seem to be a reason to keep the flaky
        annotation.

        * platform/gtk/TestExpectations:

2017-12-07  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Remove duplicated tests that are now present in WPT
        https://bugs.webkit.org/show_bug.cgi?id=180511

        Reviewed by Youenn Fablet.

        These tests have been moved to WPT upstream repository in the following
        Blink commits:
        - https://chromium-review.googlesource.com/c/chromium/src/+/674931
        - https://chromium-review.googlesource.com/c/chromium/src/+/730707

        As we have just updated the WPT imported tests in r225561,
        we can get rid now of the duplicates.

        * fast/css-grid-layout/absolute-positioning-definite-sizes-expected.txt: Removed.
        * fast/css-grid-layout/absolute-positioning-definite-sizes.html: Removed.
        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block-expected.txt: Removed.
        * fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html: Removed.
        * fast/css-grid-layout/absolute-positioning-grid-container-parent-expected.txt: Removed.
        * fast/css-grid-layout/absolute-positioning-grid-container-parent.html: Removed.
        * fast/css-grid-layout/fit-content-columns-expected.html: Removed.
        * fast/css-grid-layout/fit-content-columns.html: Removed.
        * fast/css-grid-layout/fit-content-rows-expected.html: Removed.
        * fast/css-grid-layout/fit-content-rows.html: Removed.
        * fast/css-grid-layout/grid-change-fit-content-argument-expected.txt: Removed.
        * fast/css-grid-layout/grid-change-fit-content-argument.html: Removed.
        * fast/css-grid-layout/grid-positioned-children-writing-modes-expected.html: Removed.
        * fast/css-grid-layout/grid-positioned-children-writing-modes.html: Removed.
        * fast/css-grid-layout/grid-positioned-item-dynamic-change-expected.html: Removed.
        * fast/css-grid-layout/grid-positioned-item-dynamic-change.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-background-expected.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-background-rtl-expected.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-background-rtl.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-background.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-content-alignment-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-content-alignment-rtl-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-content-alignment-rtl.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-content-alignment.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-gaps-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-gaps-rtl-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-gaps-rtl.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-gaps.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-line-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-implicit-grid.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-padding-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-padding.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html: Removed.
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track-expected.txt: Removed.
        * fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html: Removed.
        * fast/css-grid-layout/grid-sizing-positioned-items-expected.txt: Removed.
        * fast/css-grid-layout/grid-sizing-positioned-items.html: Removed.
        * fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks-expected.txt: Removed.
        * fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html: Removed.
        * fast/css-grid-layout/positioned-grid-items-should-not-take-up-space-expected.txt: Removed.
        * fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html: Removed.

2017-12-06  Chris Dumez  <cdumez@apple.com>

        We should be able to recover after a Service Worker process crash
        https://bugs.webkit.org/show_bug.cgi?id=180477

        Reviewed by Brady Eidson and Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/postmessage-after-sw-process-crash.https-expected.txt: Added.
        * http/tests/workers/service/postmessage-after-sw-process-crash.https.html: Added.
        * http/tests/workers/service/resources/postmessage-after-sw-process-crash.js: Added.

2017-12-06  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Support the decoding="sync/async" syntax for image async attribute
        https://bugs.webkit.org/show_bug.cgi?id=179432

        Reviewed by Darin Adler.

        * fast/images/async-attribute-with-small-image-expected.html: Removed.
        * fast/images/async-attribute-with-small-image.html: Removed.
        * fast/images/decode-decoding-attribute-async-large-image-expected.html: Added.
        * fast/images/decode-decoding-attribute-async-large-image.html: Added.
        * fast/images/decoding-attribute-async-small-image-expected.html: Added.
        * fast/images/decoding-attribute-async-small-image.html: Added.
        * fast/images/decoding-attribute-dynamic-async-small-image-expected.html: Added.
        * fast/images/decoding-attribute-dynamic-async-small-image.html: Added.
        * fast/images/decoding-attribute-sync-large-image-expected.html: Added.
        * fast/images/decoding-attribute-sync-large-image.html: Added.

2017-12-06  Fujii Hironori  <Hironori.Fujii@sony.com>

        AX: Layout test imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_tests1.html flaky crash
        https://bugs.webkit.org/show_bug.cgi?id=173540
        <rdar://problem/35386393>

        Unreviewed test gardening.

        r225613 fixed the flaky crash.

        * platform/gtk/TestExpectations: Unmarked the test case.

2017-12-06  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectations for inspector/worker/resources-in-worker.html.
        https://bugs.webkit.org/show_bug.cgi?id=168091

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-12-06  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webgl/1.0.2/conformance/textures/gl-teximage.html as failing again.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-12-06  David Quesada  <david_quesada@apple.com>

        [Web App Manifest] Add SPI for fetching the manifest
        https://bugs.webkit.org/show_bug.cgi?id=180294
        rdar://problem/34747968

        Reviewed by Geoffrey Garen.

        * TestExpectations:
            Skip the app manifest-related layout tests for now while the feature is still disabled.
            Also moved the expectations disabling the manifest-src layout tests (which now pass
            when the feature is enabled) to the same location in the file.
        * applicationmanifest/developer-warnings-expected.txt: Added.
        * applicationmanifest/developer-warnings.html: Added.
        * applicationmanifest/multiple-links-expected.txt: Added.
        * applicationmanifest/multiple-links.html: Added.
            Add a layout test to verify only the first manifest link is loaded when there
            are multiple on the page.
        * applicationmanifest/resources/developer-warnings.manifest: Added.
            Add a layout test to verify that warnings generated while parsing the manifest are
            logged to the console.
        * http/tests/security/contentSecurityPolicy/manifest-src-allowed.html:
            Replaced calls to getManifestThen() with getApplicationManifestThen().
        * http/tests/security/contentSecurityPolicy/manifest-src-blocked-expected.txt:
            Updated the expected console message to reflect the current wording for CSP violations.
        * http/tests/security/contentSecurityPolicy/manifest-src-blocked.html:
            Replaced calls to getManifestThen() with getApplicationManifestThen().
        * http/tests/security/contentSecurityPolicy/manifest.test/manifest.json:
            Removed a trailing newline that was causing JSON parsing to fail.

2017-12-06  Youenn Fablet  <youenn@apple.com>

        Import WPT workers test suite
        https://bugs.webkit.org/show_bug.cgi?id=180464

        Reviewed by Chris Dumez.

        * TestExpectations: skip some timing out tests or testing shared workers.

2017-12-06  Youenn Fablet  <youenn@apple.com>

        Preflight should bypass service worker
        https://bugs.webkit.org/show_bug.cgi?id=180463

        Reviewed by Alex Christensen.

        * http/tests/workers/service/resources/service-worker-crossorigin-fetch.js: Removed.
        * http/tests/workers/service/resources/service-worker-crossorigin-fetch-worker.js:
        (event.event.request.url.endsWith):
        * http/tests/workers/service/resources/service-worker-crossorigin-fetch.js:
        (async.test):
        * http/tests/workers/service/service-worker-crossorigin-fetch-expected.txt:
        * http/tests/workers/service/service-worker-crossorigin-fetch.html:

2017-12-06  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for http/tests/workers/service/registration-task-queue-scheduling-1.html.
        https://bugs.webkit.org/show_bug.cgi?id=179342

        Unreviewed test gardening.

        * TestExpectations:
        * platform/mac/TestExpectations:

2017-12-06  Dean Jackson  <dino@apple.com>

        Some iOS tests failing after ANGLE update
        https://bugs.webkit.org/show_bug.cgi?id=180487
        <rdar://problem/35885969>

        Reviewed by Antoine Quint.

        Unskip some WebGL tests.

        * platform/ios/TestExpectations:

2017-12-06  John Wilander  <wilander@apple.com>

        Storage Access API: Make document.hasStorageAccess a function and always allow access for same-origin iframes
        https://bugs.webkit.org/show_bug.cgi?id=176944
        <rdar://problem/34440658>

        Reviewed by Brent Fulgham.

        These tests now use the new document.hasStorageAccess() function
        instead of the previous document.hasStorageAccess property.
        The added test is a break out of the negative case of an iframe
        calling the API when no user gesture is processed.

        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe.html:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction.html:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-expected.txt: Added.
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture.html: Added.
        * http/tests/storageAccess/request-storage-access-same-origin-iframe-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-iframe.html:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html:
        * http/tests/storageAccess/request-storage-access-top-frame-expected.txt:
        * http/tests/storageAccess/request-storage-access-top-frame.html:
        * http/tests/storageAccess/resources/request-storage-access-iframe.html:
        * http/tests/storageAccess/resources/request-storage-access-without-user-gesture-iframe.html: Added.
        * platform/mac-wk2/TestExpectations:
            Marked the new test case as [ Pass ]

2017-12-06  Chris Dumez  <cdumez@apple.com>

        ServiceWorkers API should reject promises when calling objects inside detached frames
        https://bugs.webkit.org/show_bug.cgi?id=180444

        Reviewed by Youenn Fablet.

        * TestExpectations:
        Unskip test that no longer times out and starts passing a few checks.

        * fast/dom/navigator-detached-no-crash-expected.txt:
        Rebaseline test now that promise is rejected.

        * http/tests/media/media-stream/disconnected-frame-permission-denied-expected.txt:
        * http/tests/media/media-stream/disconnected-frame-permission-denied.html:
        Update and rebaseline test now that the promise is rejected. I verified that this
        behavior is consistent with Chrome.

2017-12-06  Matt Lewis  <jlewis3@apple.com>

        Marked storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=176693

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-12-05  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Layout test media/track/track-in-band-duplicate-tracks-when-source-changes.html crashes and times out
        https://bugs.webkit.org/show_bug.cgi?id=160131

        Reviewed by Eric Carlson.

        * platform/gtk/TestExpectations:

2017-12-05  Chris Dumez  <cdumez@apple.com>

        ServiceWorkerGlobalScope prototype chain should be immutable
        https://bugs.webkit.org/show_bug.cgi?id=180450

        Reviewed by Youenn Fablet.

        * TestExpectations:
        Unskip test that no longer times out.

2017-12-05  Brent Fulgham  <bfulgham@apple.com>

        Limit user agent versioning to an upper bound
        https://bugs.webkit.org/show_bug.cgi?id=180365
        <rdar://problem/34550617>

        Reviewed by Joseph Pecoraro.

        * fast/dom/navigator-userAgent-frozen-expected.txt: Added.
        * fast/dom/navigator-userAgent-frozen.html: Added.

2017-12-05  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Update imported Web Platform Tests
        https://bugs.webkit.org/show_bug.cgi?id=180345

        Reviewed by Manuel Rego Casasnovas and Youenn Fablet.

        Added specific bugs to the expectations file for the new imported tests that fail for now.
        Removed from the expectations file a test that has been deleted recently.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:

2017-12-05  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline service worker test after r225549.

        * http/tests/workers/service/ServiceWorkerGlobalScope-properties-expected.txt:
        * http/tests/workers/service/ServiceWorkerGlobalScope-properties.html:

2017-12-05  Simon Fraser  <simon.fraser@apple.com>

        Composited frames incorrectly get requestAnimationFrame throttled
        https://bugs.webkit.org/show_bug.cgi?id=178396

        Reviewed by Zalan Bujtas.

        * fast/animation/request-animation-frame-throttle-inside-overflow-scroll-expected.txt: Added.
        * fast/animation/request-animation-frame-throttle-inside-overflow-scroll.html: Added.

2017-12-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: content views for resources loaded through XHR do not reflect declared mime-type
        https://bugs.webkit.org/show_bug.cgi?id=141389
        <rdar://problem/19767070>

        Reviewed by Brian Burg.

        * http/tests/inspector/network/fetch-response-body-expected.txt:
        * http/tests/inspector/network/fetch-response-body.html:
        * http/tests/inspector/network/xhr-response-body-expected.txt:
        * http/tests/inspector/network/xhr-response-body.html:
        Update tests for new expectations now that binary data shows as binary.        

2017-12-05  Youenn Fablet  <youenn@apple.com>

        Implement https://w3c.github.io/ServiceWorker/#clients-claim
        https://bugs.webkit.org/show_bug.cgi?id=180261

        Reviewed by Chris Dumez.

        * http/tests/workers/service/serviceworkerclients-claim-worker.js: Added.
        * http/tests/workers/service/serviceworkerclients-claim.https-expected.txt: Added.
        * http/tests/workers/service/serviceworkerclients-claim.https.html: Added.

2017-12-05  Youenn Fablet  <youenn@apple.com>

        Unskip some more Service Worker tests
        https://bugs.webkit.org/show_bug.cgi?id=180428

        Unreviewed.

        * TestExpectations:

2017-12-05  Simon Fraser  <simon.fraser@apple.com>

        Remove webkitGetImageDataHD and webkitPutImageDataHD from canvas API
        https://bugs.webkit.org/show_bug.cgi?id=180387

        Reviewed by Dean Jackson.

        Remove the test.

        * fast/canvas/2d.imageDataHD-expected.txt: Removed.
        * fast/canvas/2d.imageDataHD.html: Removed.
        * platform/win/TestExpectations:

2017-12-05  Ali Juma  <ajuma@chromium.org>

        [Win] Skip tests that depend on UIScriptController::zoomToScale
        https://bugs.webkit.org/show_bug.cgi?id=180423

        Reviewed by Frédéric Wang.

        Test gardening.
        
        UIScriptController::zoomToScale is not implemented on Windows, so skip tests that use it.

        * platform/win/TestExpectations:

2017-12-05  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Rebaseline a quintet of SVG tests.

        * platform/wpe/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/wpe/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/wpe/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/wpe/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/wpe/svg/custom/feComponentTransfer-Table-expected.txt:

2017-12-04  Chris Dumez  <cdumez@apple.com>

        Support container.getRegistration() / getRegistrations() inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180360

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/ServiceWorkerGlobalScope_getRegistration-expected.txt: Added.
        * http/tests/workers/service/ServiceWorkerGlobalScope_getRegistration.html: Added.
        * http/tests/workers/service/resources/ServiceWorkerGlobalScope_getRegistration-worker.js: Added.

2017-12-04  Nan Wang  <n_wang@apple.com>

        AX: AOM: Implement relation type properties
        https://bugs.webkit.org/show_bug.cgi?id=179500

        Reviewed by Ryosuke Niwa.

        Only enable this test on WK2.

        * accessibility/mac/AOM-relation-property-expected.txt: Added.
        * accessibility/mac/AOM-relation-property.html: Added.
        * platform/mac-wk1/TestExpectations:

2017-12-04  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r211531): Text flow changes and overlaps other text after double-click selecting paragraph
        https://bugs.webkit.org/show_bug.cgi?id=180377
        <rdar://problem/34337967>

        Reviewed by Antti Koivisto.

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

2017-12-04  Antoine Quint  <graouts@apple.com>

        <video> and scale() transforms yield shrunk small or clipped controls
        https://bugs.webkit.org/show_bug.cgi?id=180358
        <rdar://problem/34436124>

        Reviewed by Dean Jackson.

        Write a new test that ensures that we reflect the width and height, not accounting
        for borders, of the host media element when sizing media controls.

        * media/modern-media-controls/css/transformed-media-expected.txt: Added.
        * media/modern-media-controls/css/transformed-media.html: Added.

2017-12-04  Antoine Quint  <graouts@apple.com>

        Cursor is not visible after exiting full screen video
        https://bugs.webkit.org/show_bug.cgi?id=180247
        <rdar://problem/33885922>

        Reviewed by Dean Jackson.

        Remove the existing test which would query a cursor state that is no longer relevant.

        * fullscreen/video-cursor-auto-hide-expected.txt: Removed.
        * fullscreen/video-cursor-auto-hide.html: Removed.
        * platform/gtk/TestExpectations:

2017-12-04  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed layout test gardening

        * platform/gtk/TestExpectations:

2017-12-04  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: provide method for recording CanvasRenderingContext2D from JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=175166
        <rdar://problem/34040740>

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:
        (performConsoleRecording):
        * inspector/canvas/recording-webgl-expected.txt:
        * inspector/canvas/recording-webgl.html:
        (performConsoleRecording):
        * inspector/canvas/resources/recording-utilities.js:
        (TestPage.registerInitializer):
        * js/console-expected.txt:
        * js/console.html:

2017-12-04  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Rebaseline imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
        https://bugs.webkit.org/show_bug.cgi?id=180357

        Unreviewed test gardening.

        The difference with the platform-neutral expectation is whitespace-only.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt: Added.

2017-12-04  Jer Noble  <jer.noble@apple.com>

        Include 'video/*' in image request Accept header if browser supports video media in image contexts.
        https://bugs.webkit.org/show_bug.cgi?id=179178

        Reviewed by Alex Christensen.

        * http/tests/images/image-supports-video-expected.txt: Added.
        * http/tests/images/image-supports-video.html: Added.
        * http/tests/misc/resources/image-checks-for-accept.php:
        * http/tests/resources/redirect-to-video-if-accepted.php: Added.
        * platform/ios/TestExpectations:
        * platform/mac/imported/w3c/web-platform-tests/html/semantics/the-img-element/update-the-source-set-expected.txt: Added.

2017-12-03  Chris Dumez  <cdumez@apple.com>

        Re-sync Service Workers web-platform-tests from upstream
        https://bugs.webkit.org/show_bug.cgi?id=180336

        Reviewed by Darin Adler.

        Skip new tests that are timing out and remove entries for tests
        that were removed.

        * TestExpectations:
        * tests-options.json:

2017-12-03  Chris Dumez  <cdumez@apple.com>

        Unreviewed, mark imported/w3c/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html as flaky

        * TestExpectations:

2017-12-03  Chris Dumez  <cdumez@apple.com>

        Support serviceWorker.postMessage() inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180328

        Reviewed by Darin Adler.

        Unskip WPT test that no longer times out.

        * TestExpectations:

2017-12-03  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip / rebaseline a few web platform tests.

        * TestExpectations:

2017-12-03  Chris Dumez  <cdumez@apple.com>

        Implement self.skipWaiting() inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180329

        Reviewed by Darin Adler.

        * http/tests/workers/service/resources/service-worker-fetch-worker.js:
        add self.skipWaiting() now that we properly wait when the registation's
        active worker is in use. This is needed because this worker script is
        used by http/tests/workers/service/controller-change.html. The
        'controllerchange' event is only fired if an active worker is being
        replaced while in use due to the waiting worker calling skipWaiting().

2017-12-02  Chris Dumez  <cdumez@apple.com>

        Support container.register() / registration.unregister() /  inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180326

        Reviewed by Youenn Fablet.

        * TestExpectations:
        Unskip test for registration.unregister() that now passes.

        * http/tests/workers/service/ServiceWorkerGlobalScope_register-expected.txt: Added.
        * http/tests/workers/service/ServiceWorkerGlobalScope_register.html: Added.
        * http/tests/workers/service/resources/ServiceWorkerGlobalScope_register-worker.js: Added.
        Add test coverage for container.register().

2017-12-02  Chris Dumez  <cdumez@apple.com>

        Support serviceWorkerRegistration.update() inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180215

        Reviewed by Darin Adler.

        Add layout test coverage and unskip WPT test that no longer times out.

        * TestExpectations:
        * http/tests/workers/service/resources/self_registration_update-worker.js: Added.
        * http/tests/workers/service/self_registration_update-expected.txt: Added.
        * http/tests/workers/service/self_registration_update.html: Added.

2017-12-02  Youenn Fablet  <youenn@apple.com>

        Implement https://w3c.github.io/ServiceWorker/#clients-getall
        https://bugs.webkit.org/show_bug.cgi?id=180276

        Reviewed by Chris Dumez.

        * http/tests/workers/service/serviceworkerclients-matchAll-worker.js: Added.
        * http/tests/workers/service/serviceworkerclients-matchAll.https-expected.txt: Added.
        * http/tests/workers/service/serviceworkerclients-matchAll.https.html: Added.

2017-12-01  Alicia Boya García  <aboya@igalia.com>

        [MSE] Use correct range end checks in sourceBufferPrivateDidReceiveSample()
        https://bugs.webkit.org/show_bug.cgi?id=179690

        Reviewed by Jer Noble.

        Added test cases for bug #179690.

        * media/media-source/media-source-range-end-frame-not-removed-expected.txt: Added.
        * media/media-source/media-source-range-end-frame-not-removed.html: Added.
        * media/media-source/media-source-range-start-frame-replaced-expected.txt: Added.
        * media/media-source/media-source-range-start-frame-replaced.html: Added.

2017-12-01  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable wpt css tests.
        https://bugs.webkit.org/show_bug.cgi?id=180289

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:

2017-12-01  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html as flaky timeout on wk1.
        https://bugs.webkit.org/show_bug.cgi?id=172044

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-12-01  Daniel Bates  <dabates@apple.com>

        AlternativePresentationButtonSubstitution::unapply() may not undo substitution
        https://bugs.webkit.org/show_bug.cgi?id=180279
        <rdar://problem/35800599>

        Reviewed by Simon Fraser.

        Update test to ensure that we undo the alternative presentation button substitution
        made to an HTML label element.

        * fast/forms/alternative-presentation-button/replace-and-remove-expected.html:
        * fast/forms/alternative-presentation-button/replace-and-remove.html:

2017-12-01  Daniel Bates  <dabates@apple.com>

        Alternative Presentation Button: Provide a way to query for the replaced elements
        https://bugs.webkit.org/show_bug.cgi?id=180114
        <rdar://problem/35710539>

        Reviewed by Tim Horton.

        Add a test to ensure that Editor::elementsReplacedByAlternativePresentationButton()
        returns the same list of elements that were specified to Editor::substituteWithAlternativePresentationButton()
        up to ordering.

        * fast/forms/alternative-presentation-button/replaced-elements-expected.txt: Added.
        * fast/forms/alternative-presentation-button/replaced-elements.html: Added.

2017-12-01  Youenn Fablet  <youenn@apple.com>

        Implement https://w3c.github.io/ServiceWorker/#clients-get
        https://bugs.webkit.org/show_bug.cgi?id=180167

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/serviceworkerclients-get-worker.js: Added.
        * http/tests/workers/service/serviceworkerclients-get.https-expected.txt: Added.
        * http/tests/workers/service/serviceworkerclients-get.https.html: Added.

2017-12-01  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for editing/input tests on iOS.

        Unreviewed test gardening.

        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-12-01  Myles C. Maxfield  <mmaxfield@apple.com>

        Free FontFaceSets may include fonts that were never actually added to them
        https://bugs.webkit.org/show_bug.cgi?id=180164

        Reviewed by Simon Fraser.

        * fast/text/font-face-api-preinstalled-expected.txt: Added.
        * fast/text/font-face-api-preinstalled.html: Added.

2017-12-01  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for various editing tests on iOS.

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/ios-wk2/editing/deleting/5144139-2-expected.txt:
        * platform/ios/TestExpectations:

2017-12-01  Dean Jackson  <dino@apple.com>

        Use SH_INITIALIZE_UNINITIALIZED_LOCALS now that ANGLE has been updated
        https://bugs.webkit.org/show_bug.cgi?id=177929
        <rdar://problem/34866210>

        Reviewed by Sam Weinig.

        * fast/canvas/webgl/uninitialized-locals-expected.txt: Added.
        * fast/canvas/webgl/uninitialized-locals.html: Added.

2017-12-01  Brady Eidson  <beidson@apple.com>

        Add Internals.terminateServiceWorker, and the ability to restart service workers for postMessage.
        https://bugs.webkit.org/show_bug.cgi?id=180170

        Reviewed by Chris Dumez.

        * http/tests/workers/service/postmessage-after-terminate.https-expected.txt: Added.
        * http/tests/workers/service/postmessage-after-terminate.https.html: Added.
        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js:
        (then):
        * http/tests/workers/service/resources/postmessage-after-terminate.js: Copied from LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js.
        (then):
        * http/tests/workers/service/resources/postmessage-echo-worker.js: Renamed from LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js.

2017-12-01  Zalan Bujtas  <zalan@apple.com>

        Nullptr deref in WebCore::RenderTableCaption::containingBlockLogicalWidthForContent
        https://bugs.webkit.org/show_bug.cgi?id=180251
        <rdar://problem/34138562>

        Reviewed by Simon Fraser.

        * fast/table/caption-crash-when-layer-backed-expected.txt: Added.
        * fast/table/caption-crash-when-layer-backed.html: Added.

2017-12-01  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Updating baselines affected in r225366.

        * platform/gtk/css3/filters/effect-reference-expected.txt:
        * platform/gtk/css3/filters/effect-reference-hw-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/gtk/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/gtk/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/gtk/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/gtk/svg/custom/feComponentTransfer-Table-expected.txt:

2017-12-01  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=179351

        Unreviewed test expectations.

        * platform/mac-wk2/TestExpectations:

2017-12-01  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable some more wpt tests.
        https://bugs.webkit.org/show_bug.cgi?id=180242

        Unreviewed test gardening.

        * platform/wpe/TestExpectations: enable tests.
        * platform/wpe/imported/w3c/web-platform-tests/eventsource/format-field-id-2-expected.txt: Copied from gtk.
        * platform/wpe/imported/w3c/web-platform-tests/eventsource/format-field-id-expected.txt: Copied from gtk.
        * platform/wpe/imported/w3c/web-platform-tests/eventsource/format-mime-bogus-expected.txt: Copied from gtk.

2017-12-01  Ms2ger  <Ms2ger@igalia.com>

        Mark imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=180241

        Unreviewed test gardening.

        * TestExpectations:

2017-11-30  Alex Christensen  <achristensen@webkit.org>

        Extra PerformanceEntryList entry after iframe navigation
        https://bugs.webkit.org/show_bug.cgi?id=178433

        Reviewed by Joseph Pecoraro.

        * http/tests/security/PerformanceEntryList-parent-only-first-navigation-expected.txt: Added.
        * http/tests/security/PerformanceEntryList-parent-only-first-navigation.html: Added.
        * http/tests/security/resources/navigate-and-postMessage.html: Added.
        * http/tests/security/resources/postMessage.html: Added.

2017-11-30  Zalan Bujtas  <zalan@apple.com>

        [Simple line layout] Incorrect repaint rect with vertically shrinking content.
        https://bugs.webkit.org/show_bug.cgi?id=180223
        <rdar://problem/34122210>

        Reviewed by Simon Fraser.

        * fast/repaint/simple-line-layout-shrinking-content-expected.txt: Added.
        * fast/repaint/simple-line-layout-shrinking-content.html: Added.

2017-11-30  Simon Fraser  <simon.fraser@apple.com>

        Improve filter logging
        https://bugs.webkit.org/show_bug.cgi?id=180182

        Reviewed by Sam Weinig.

        Improve logging of FEComponentTransfer ComponentTransferFunctions by logging the data
        that's appropriate for the function type, and rebaseline affected tests.

        * css3/filters/effect-reference-expected.txt:
        * css3/filters/effect-reference-hw-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * svg/filters/filter-refresh-expected.txt:

2017-11-30  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip service worker test that no longer times out after r225346.

        * TestExpectations:

2017-11-30  Dean Jackson  <dino@apple.com>

        Skip WebGL on iOS while working out what ANGLE has broken.

        * platform/ios/TestExpectations:

2017-11-30  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html as flaky on High Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=179644

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-30  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html as flak on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=176078

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-30  Chris Dumez  <cdumez@apple.com>

        Populate self.registration.installing/waiting/active inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180168

        Reviewed by Brady Eidson.

        Extend layout test coverage.

        * http/tests/workers/service/resources/self_registration-worker.js:
        * http/tests/workers/service/self_registration-expected.txt:

2017-11-30  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip a few Service Workers tests that no longer seem to be flaky.

        * TestExpectations:

2017-11-30  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Enable all wpt touch-events tests.
        https://bugs.webkit.org/show_bug.cgi?id=180198

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-11-29  Antoine Quint  <graouts@apple.com>

        Move modern media controls test expectations from ios-simulator to ios
        https://bugs.webkit.org/show_bug.cgi?id=180158

        Reviewed by Dean Jackson.

        We shouldn't be using the ios-simulator platform for these, ios is the right one.

        * platform/ios-simulator/TestExpectations:
        * platform/ios/TestExpectations:

2017-11-29  Chris Dumez  <cdumez@apple.com>

        LayoutTest http/tests/workers/service/registration-clear-redundant-worker.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=179778

        Reviewed by Youenn Fablet.

        As per the specification [1], when clearing a registration, the registration's workers are first
        marked as redundant *before* the registration's worker is set to null.

        The test was waiting for the service worker's state to become redundant and then checking in a
        setTimeout(0) that the registration's worker became null. However, a setTimeout(0) is racy here.
        To address the issue, we now use setInterval() and wait until the worker becomes null.

        [1] https://w3c.github.io/ServiceWorker/#clear-registration-algorithm

        * TestExpectations:
        * http/tests/workers/service/registration-clear-redundant-worker.html:

2017-11-29  Youenn Fablet  <youenn@apple.com>

        ServiceWorkerClient objects should be reused if there is already one existing with the same identifier
        https://bugs.webkit.org/show_bug.cgi?id=180143

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js:
        (event.else):
        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js:

2017-11-29  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/XMLHttpRequest/firing-events-http-no-content-length.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179775

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-11-29  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/pip-support/pip-support-click.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=165311

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-11-29  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/workers/service/registration-clear-redundant-worker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179778

        Unreviewed test gardening.

        * TestExpectations:

2017-11-29  Youenn Fablet  <youenn@apple.com>

        Add support for service worker generated redirections
        https://bugs.webkit.org/show_bug.cgi?id=179498

        Reviewed by Darin Adler.

        * http/tests/workers/service/resources/service-worker-redirection-fetch-worker.js: Added.
        (event.event.request.url.indexOf):
        (event.event.request.url.endsWith):
        * http/tests/workers/service/service-worker-redirection-fetch.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-redirection-fetch.https.html: Added.

2017-11-29  Chris Dumez  <cdumez@apple.com>

        Start exposing self.registration inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180162

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * TestExpectations:
        Skip test that covers self.registration.update() because it now times out. We do not support update()
        on registrations inside service workers yet so the test times out waiting for the updatefound event
        on the registration.

        * http/tests/workers/service/ServiceWorkerGlobalScope_registration_SameObject-expected.txt: Added.
        * http/tests/workers/service/ServiceWorkerGlobalScope_registration_SameObject.html: Added.
        * http/tests/workers/service/resources/ServiceWorkerGlobalScope_registration_SameObject-worker.js: Added.
        * http/tests/workers/service/resources/self_registration-worker.js: Added.
        * http/tests/workers/service/self_registration-expected.txt: Added.
        * http/tests/workers/service/self_registration.html: Added.

2017-11-29  Javier M. Mellid  <jmunhoz@igalia.com>

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=180150

        Unreviewed test gardening

        * platform/gtk/TestExpectations:

2017-11-29  Antoine Quint  <graouts@apple.com>

        [iOS] Media controls should stop updating while media is playing in fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=180144
        <rdar://problem/35060379>

        Reviewed by Eric Carlson.

        Add a new test that enters fullscreen, checks that the elapsed time shown in the inline media controls are the same
        at this time and after a few "timeupdate" events, ensuring the DOM is no longer updated while in fullscreen, and then
        exits fullscreen and checks that the elapsed time controls now update as expected. This test is skipped in OpenSource
        since it uses touch events.

        * media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen-expected.txt: Added.
        * media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-11-29  Simon Fraser  <simon.fraser@apple.com>

        Viewport unit values affected by Comand-+ zoom
        https://bugs.webkit.org/show_bug.cgi?id=145614

        Reviewed by Zalan Bujtas.

        * fast/css/viewport-units-zoom-expected.html: Added.
        * fast/css/viewport-units-zoom.html: Added.

2017-11-29  Ms2ger  <Ms2ger@igalia.com>

        Enable imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html.
        https://bugs.webkit.org/show_bug.cgi?id=180142

        Unreviewed test gardening.

        The -expected file was updated to list a PASS result.

        * TestExpectations:

2017-11-29  Ms2ger  <Ms2ger@igalia.com>

        [GTK][WPE] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=180136

        Unreviewed test gardening.

        * TestExpectations: Skip more alternative-presentation-button tests.
        * platform/gtk/TestExpectations: Updated expectations:
          - fast/attachment/attachment-without-appearance.html: recently added test for a disabled feature.
          - fast/dom/MutationObserver/end-of-task-delivery.html: flaky.
          - http/tests/local/link-stylesheet-load-order-preload.html: flaky.
        * platform/gtk/compositing/overflow/composited-scrolling-paint-phases-expected.txt: rebaseline for r225220.
        * platform/mac/TestExpectations: Enable the skipped alternative-presentation-button tests.
        * platform/wpe/TestExpectations: Updated expectations:
          - fast/canvas/canvas-createPattern-video-modify.html: passing since r225060.
          - webanimations/*: failing since they were added; bug filed.
        * platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
          DeviceMotionEvent and DeviceMotionEvent were disabled in r225098
          (matching mac ports); the remaining difference with the platform-neutral
          expectation is that TouchEvent is enabled here.
        * platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
          DeviceMotionEvent and DeviceMotionEvent were disabled in r225098
          (matching mac ports); the remaining difference with the platform-neutral
          expectation is that TouchEvent is enabled here.

2017-11-29  Antoine Quint  <graouts@apple.com>

        Pressing the space bar while watching a fullscreen video doesn't play or pause
        https://bugs.webkit.org/show_bug.cgi?id=180033
        <rdar://problem/33610443>

        Reviewed by Eric Carlson.

        Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen
        pauses the media and resumes it when pressing the space bar again.

        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added.
        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added.
        * media/video-test.js:
        (runWithKeyDown): Update the key to not be space since this would cause media to be paused when entering fullscreen.
        * platform/ios-simulator/TestExpectations:

2017-11-28  Zan Dobersek  <zdobersek@igalia.com>

        [Cairo] Limit the number of active contexts in GraphicsContext3DCairo
        https://bugs.webkit.org/show_bug.cgi?id=166968

        Reviewed by Alex Christensen.

        * platform/gtk/TestExpectations: Unskip WebGL tests that were failing
        due to missing active context limit management.
        * platform/wpe/TestExpectations: Ditto.

2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Write script syntax tree tests for template literals and default parameter values
        https://bugs.webkit.org/show_bug.cgi?id=149450
        <rdar://problem/22796879>

        Reviewed by Devin Rousso.

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

2017-11-28  Zalan Bujtas  <zalan@apple.com>

        Clean up spanners before creating nested column context
        https://bugs.webkit.org/show_bug.cgi?id=180107
        <rdar://problem/35686655>
        
        Reviewed by Antti Koivisto.

        * fast/multicol/crash-when-constructing-nested-columns-expected.txt: Added.
        * fast/multicol/crash-when-constructing-nested-columns.html: Added.

2017-11-28  Wenson Hsieh  <wenson_hsieh@apple.com>

        Allow attachment elements with no appearance to defer rendering to child nodes
        https://bugs.webkit.org/show_bug.cgi?id=180117
        <rdar://problem/35735339>

        Reviewed by Tim Horton.

        Adds a ref test verifying that an appearance-less attachment can render child nodes. More extensive testing to
        come in a followup patch.

        * fast/attachment/attachment-without-appearance-expected.html: Added.
        * fast/attachment/attachment-without-appearance.html: Added.

2017-11-28  Chris Dumez  <cdumez@apple.com>

        ServiceWorkerGlobalScope.clients should always return the same object
        https://bugs.webkit.org/show_bug.cgi?id=180116

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * http/tests/workers/service/ServiceWorkerGlobalScope_clients_SameObject-expected.txt: Added.
        * http/tests/workers/service/ServiceWorkerGlobalScope_clients_SameObject.html: Added.
        * http/tests/workers/service/resources/ServiceWorkerGlobalScope_clients_SameObject-worker.js: Added.

2017-11-28  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, correct the location for an expected result file.

        * platform/mac-elcapitan/fast/forms/alternative-presentation-button/replacement-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/fast/alternative-presentation-button/replacement-expected.txt.

2017-11-28  Matt Lewis  <jlewis3@apple.com>

        Marked accessibility/ios-simulator/video-elements-ios.html as flaky timout.
        https://bugs.webkit.org/show_bug.cgi?id=178195

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>

        ServiceWorker Inspector: Frontend changes to support Network tab and sub resources
        https://bugs.webkit.org/show_bug.cgi?id=179642
        <rdar://problem/35517704>

        Reviewed by Brian Burg.

        * inspector/unit-tests/target-manager-expected.txt:
        * inspector/unit-tests/target-manager.html:
        Generalize.

2017-11-28  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/forms/alternative-presentation-button/replacement.html for El Capitan.

        Unreviewed test gardening.

        * platform/mac-elcapitan/fast/alternative-presentation-button/replacement-expected.txt: Added.

2017-11-28  Said Abou-Hallawa  <sabouhallawa@apple.com>

        [CG] PostScript images should be supported if they are sub-resource images
        https://bugs.webkit.org/show_bug.cgi?id=178502

        Reviewed by Simon Fraser.

        * TestExpectations:
        * fast/images/eps-as-image-expected.html: Added.
        * fast/images/eps-as-image.html: Added.
        * fast/images/resources/green-100x100.eps: Added.
        * platform/mac/TestExpectations:

2017-11-28  Daniel Bates  <dabates@apple.com>

        [Cocoa] First pass at implementing alternative presentation button element
        https://bugs.webkit.org/show_bug.cgi?id=179785
        Part of <rdar://problem/34917108>

        Update expected result.

        * fast/forms/alternative-presentation-button/replacement-expected.txt:

2017-11-28  Charles Turner  <cturner@igalia.com>

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=180099

        Unreviewed test gardening

        * platform/gtk/TestExpectations:

2017-11-28  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS] Rebaseline editing/execCommand tests
        https://bugs.webkit.org/show_bug.cgi?id=180085

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/ios-wk2/editing/execCommand/format-block-with-trailing-br-expected.txt: Added.
        * platform/ios-wk2/editing/execCommand/indent-pre-expected.txt: Added.
        * platform/ios-wk2/editing/execCommand/selectAll-expected.txt: Added.
        * platform/ios/editing/execCommand/create-list-with-hr-expected.txt:
        * platform/ios/editing/execCommand/indent-selection-expected.txt:
        * platform/ios/editing/execCommand/insert-list-and-stitch-expected.txt:
        * platform/ios/editing/execCommand/nsresponder-indent-expected.txt:

2017-11-28  Noah Chase  <nchase@gmail.com>

        Web Audio's AnalyserNode.fftSize cannot be greater than 2048 in Safari; spec says it can be up to 32768
        https://bugs.webkit.org/show_bug.cgi?id=180040

        Reviewed by Alex Christensen.

        * webaudio/realtimeanalyser-fft-sizing-expected.txt:
        * webaudio/realtimeanalyser-fft-sizing.html:

2017-11-28  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable the wpt top-level directory.
        https://bugs.webkit.org/show_bug.cgi?id=180088

        Unreviewed test gardening.

        This does not change the output of Tools/Scripts/run-webkit-tests  --print-expectations.

        * platform/wpe/TestExpectations:

2017-11-28  Daniel Bates  <dabates@apple.com>

        [Cocoa] First pass at implementing alternative presentation button element
        https://bugs.webkit.org/show_bug.cgi?id=179785
        Part of <rdar://problem/34917108>

        Reviewed by Brent Fulgham.

        Adds tests to ensure that we can apply and remove the substitution of one or more
        elements with the alternative presentation button.

        Also added some accessibility tests to ensure that the alternative presentation button
        can be seen and hit tested by the accessibility machinery. When the alternative presentation
        button is substituted for an <input> it masquerades as a text button and when it is
        substituted for an arbitrary HTML element it masquerades as the original element. As a
        result the accessibility machinery shows an empty role description in the former case
        because it does find the ARIA label for the button and the accessibility element hierarchy
        may be incorrect in the latter case. We will fix these issues in a subsequent commit(s).

        * TestExpectations: Skip the test on all platforms. We will selectively enable
        tests on Cocoa platforms (below).
        * accessibility/alternative-presentation-button-expected.txt: Added.
        * accessibility/alternative-presentation-button-input-type-expected.txt: Added.
        * accessibility/alternative-presentation-button-input-type.html: Added.
        * accessibility/alternative-presentation-button.html: Added.
        * fast/forms/alternative-presentation-button/replace-and-remove-expected.html: Added.
        * fast/forms/alternative-presentation-button/replace-and-remove.html: Added.
        * fast/forms/alternative-presentation-button/replacement-expected.txt: Added.
        * fast/forms/alternative-presentation-button/replacement.html: Added.
        * platform/ios/TestExpectations: Mark tests as PASS so that we run them.
        * platform/ios/fast/forms/alternative-presentation-button/replacement-expected.txt: Added.
        * platform/mac/TestExpectations: Mark tests as PASS so that we run them.

2017-11-28  Commit Queue  <commit-queue@webkit.org>

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

        Tests are still timing out (Requested by ap on #webkit).

        Reverted changeset:

        "Pressing the space bar while watching a fullscreen video
        doesn't play or pause"
        https://bugs.webkit.org/show_bug.cgi?id=180033
        https://trac.webkit.org/changeset/225209

2017-11-28  Chris Dumez  <cdumez@apple.com>

        Start exposing navigator.serviceWorker inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=180087

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/workers/service/WorkerNavigator_serviceWorker-expected.txt: Added.
        * http/tests/workers/service/WorkerNavigator_serviceWorker.html: Added.
        * http/tests/workers/service/resources/WorkerNavigator_serviceWorker-worker.js: Added.

2017-11-28  Michael Catanzaro  <mcatanzaro@igalia.com>

        REGRESSION(r225098): [WPE] Some features have changed of value (70 new failures)
        https://bugs.webkit.org/show_bug.cgi?id=180004

        Reviewed by Alex Christensen.

        Remove failure expectations for layout tests that will stop failing once the buildbot master
        is restarted. A restart is required for the build to begin using
        -DENABLE_EXPERIMENTAL_FEATURES=ON.

        * platform/wpe/TestExpectations:

2017-11-28  Antoine Quint  <graouts@apple.com>

        Skip back and forward buttons should not hard-code their numeric amount in localised strings
        https://bugs.webkit.org/show_bug.cgi?id=180077

        Reviewed by Eric Carlson.

        Add a new test to check replaced localized string work as expected.

        * media/modern-media-controls/localized-strings/replaced-string-expected.txt: Added.
        * media/modern-media-controls/localized-strings/replaced-string.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-11-28  Antoine Quint  <graouts@apple.com>

        Pressing the space bar while watching a fullscreen video doesn't play or pause
        https://bugs.webkit.org/show_bug.cgi?id=180033
        <rdar://problem/33610443>

        Reviewed by Eric Carlson.

        Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen
        pauses the media and resumes it when pressing the space bar again.

        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added.
        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-11-27  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r225201.

        This caused multiple tests to timeout consistently.

        Reverted changeset:

        "Pressing the space bar while watching a fullscreen video
        doesn't play or pause"
        https://bugs.webkit.org/show_bug.cgi?id=180033
        https://trac.webkit.org/changeset/225201

2017-11-27  Antoine Quint  <graouts@apple.com>

        Pressing the space bar while watching a fullscreen video doesn't play or pause
        https://bugs.webkit.org/show_bug.cgi?id=180033
        <rdar://problem/33610443>

        Reviewed by Eric Carlson.

        Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen
        pauses the media and resumes it when pressing the space bar again.

        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added.
        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-11-27  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r225173.

        This caused multiple tests to timeout consistently.

        Reverted changeset:

        "Pressing the space bar while watching a fullscreen video
        doesn't play or pause"
        https://bugs.webkit.org/show_bug.cgi?id=180033
        https://trac.webkit.org/changeset/225173

2017-11-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179137

        Unreviewed test gardening.

        * TestExpectations:

2017-11-27  Dean Jackson  <dino@apple.com>

        Implement OffscreenCanvas.getContext("webgl")
        https://bugs.webkit.org/show_bug.cgi?id=180050
        <rdar://problem/35705473>

        Reviewed by Sam Weinig.

        Update expected results.

        * http/wpt/offscreen-canvas/getContext-webgl.html:

2017-11-27  Matt Lewis  <jlewis3@apple.com>

        Fixed incorrectly marked test expectations.

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-11-27  Alex Christensen  <achristensen@webkit.org>

        Run imported/w3c/web-platform-tests/url/failure.html on debug builds after r225186.

        * TestExpectations:
        It's still flaky, but it doesn't assert any more.

2017-11-27  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline http/tests/workers/service/service-worker-cache-api.https.html

        This test is currently marked as flaky.

        * http/tests/workers/service/service-worker-cache-api.https-expected.txt:

2017-11-27  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip service worker tests that are no longer flaky.

        * TestExpectations:

2017-11-27  Antoine Quint  <graouts@apple.com>

        Pressing the space bar while watching a fullscreen video doesn't play or pause
        https://bugs.webkit.org/show_bug.cgi?id=180033
        <rdar://problem/33610443>

        Reviewed by Eric Carlson.

        Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen
        pauses the media and resumes it when pressing the space bar again.

        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added.
        * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-11-27  Ms2ger  <Ms2ger@igalia.com>

        [GTK][WPE] Enable http/wpt/resource-timing/rt-initiatorType-media.html.
        https://bugs.webkit.org/show_bug.cgi?id=180034

        Unreviewed test gardening.

        If this test fails, it will fail with random numbers in the failure
        message. The current platform-neutral expectation file contains one
        pair of these random numbers, ensuring that this test will never be
        interpreted as passing -- not while the bug exists, and not when it
        is fixed.

        This change updates the expectation file to contain only passes and
        enables the test for WPE and GTK, as the bug does not seem to exist
        there.

        * http/wpt/resource-timing/rt-initiatorType-media-expected.txt:
        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:
        * platform/wpe/http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Removed.

2017-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed
        https://bugs.webkit.org/show_bug.cgi?id=176806

        Reviewed by Carlos Alberto Lopez Perez.

        * platform/gtk/TestExpectations:

2017-11-27  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Display issues with child with max-width
        https://bugs.webkit.org/show_bug.cgi?id=178973

        Reviewed by Darin Adler.

        Regression test for the bug.

        * fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html: Added.
        * fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html: Added.

2017-11-25  Frederic Wang  <fwang@igalia.com>

        Import MathML WPT tests
        https://bugs.webkit.org/show_bug.cgi?id=179110

        Reviewed by Darin Adler.

        This patch imports the MathML WPT tests and remove the corresponding unmaintained copies
        from LayoutTests/imported/mathml-in-html5/. The only exception is for MathML tests testing
        OpenType MATH parameters: They require Web fonts and do not work well in WebKit without
        some tweaks because of bug 174030. For now, we only move the web fonts required by the tests
        and keep running the legacy versions.

        * TestExpectations: Skip MathML tests requiring web fonts and mark some MathML tests as failing.
        * imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff: Moved to imported/w3c/web-platform-tests/fonts/math/.
        * imported/mathml-in-html5/fonts/math/fraction-axisheight7000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-denominatordisplaystylegapmin5000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-denominatordisplaystyleshiftdown6000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-denominatorgapmin4000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-denominatorshiftdown3000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-numeratordisplaystylegapmin8000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-numeratordisplaystyleshiftup2000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-numeratorgapmin9000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-numeratorshiftup11000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/fraction-rulethickness10000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/largeop-displayoperatorminheight5000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/limits-lowerlimitbaselinedropmin3000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/limits-lowerlimitgapmin11000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/limits-upperlimitbaselinerisemin5000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/limits-upperlimitgapmin7000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/mathvariant-transforms.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/radical-degreebottomraisepercent25-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/radical-displaystyleverticalgap7000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/radical-extraascender3000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/radical-kernafterdegreeminus5000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/radical-kernbeforedegree4000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/radical-rulethickness8000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/radical-verticalgap6000-rulethickness1000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-spaceafterscript3000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-subscriptbaselinedropmin9000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-subscriptshiftdown6000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-subscripttopmax4000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptbaselinedropmax10000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptbottommin8000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptshiftup7000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/scripts-superscriptshiftupcramped5000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stack-axisheight7000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stack-bottomshiftdown6000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stack-displaystylegapmin4000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stack-gapmin8000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stack-topdisplaystyleshiftup3000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stack-topshiftup9000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stretchstack-bottomshiftdown3000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stretchstack-gapabovemin7000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stretchstack-gapbelowmin11000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/stretchstack-topshiftup5000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff: Ditto.
        * imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff: Ditto.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-1.html:
        Update the URL to use the fonts in w3c/web-platform-tests/fonts/math/.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2.html: Ditto.
        * imported/mathml-in-html5/mathml/presentation-markup/radicals/root-parameters-1.html: Ditto.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1.html: Ditto.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html: Ditto.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html: Ditto.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html: Ditto.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html: Ditto.
        * imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-1-expected.html: Removed.
        * imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-1.html: Removed.
        * imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-2-expected.html: Removed.
        * imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-2.html: Removed.
        * imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt: Removed.
        * imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html: Removed.
        * platform/ios/TestExpectations: Updated to match the new version in imported/w3c.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2017-11-26  Simon Fraser  <simon.fraser@apple.com>

        feImage as filter input has skewed colors
        https://bugs.webkit.org/show_bug.cgi?id=180021

        Reviewed by Sam Weinig.

        * svg/filters/feImage-color-fidelity-expected.svg: Added.
        * svg/filters/feImage-color-fidelity.svg: Added.

2017-11-26  Simon Fraser  <simon.fraser@apple.com>

        Use more Uint8ClampedArray& and constness in filter and image buffer code
        https://bugs.webkit.org/show_bug.cgi?id=180008

        Reviewed by Darin Adler.

        Fix a bug in FEGaussianBlur where the output of the last blur pass wasn't
        copied to the result buffer, which required a test adjustment.

        * css3/filters/filter-on-overflow-hidden-expected.html:
        * css3/filters/filter-on-overflow-hidden.html:

2017-11-24  Antti Koivisto  <antti@apple.com>

        Style resolution spin due to calc() values always comparing inequal (seen on arstechnica.com)
        https://bugs.webkit.org/show_bug.cgi?id=179982
        <rdar://problem/35677991>

        Reviewed by Darin Adler.

        * transitions/transition-with-calc-spin-expected.txt: Added.
        * transitions/transition-with-calc-spin.html: Added.

2017-11-24  Antoine Quint  <graouts@apple.com>

        Captions move when <video> with no controls is hovered
        https://bugs.webkit.org/show_bug.cgi?id=178600
        <rdar://problem/35112309>

        Reviewed by Jer Noble.

        We add two tests to check that we correctly reduce the height of the text tracks container
        when the controls bar should be visible, and that we do not reduce it when the controls are
        not visible.

        * media/modern-media-controls/text-tracks/text-tracks-height-no-controls-expected.txt: Added.
        * media/modern-media-controls/text-tracks/text-tracks-height-no-controls.html: Added.
        * media/modern-media-controls/text-tracks/text-tracks-height-with-controls-expected.txt: Added.
        * media/modern-media-controls/text-tracks/text-tracks-height-with-controls.html: Added.
        * platform/mac/TestExpectations:

2017-11-24  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Remove reference to css-shapes-1/test-plan/index.html.
        https://bugs.webkit.org/show_bug.cgi?id=168553

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-11-24  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Update some test expectations
        https://bugs.webkit.org/show_bug.cgi?id=180000

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:
          * Mark as intermittently passing:
              - animations/negative-delay.html (also noted the bug)
              - fast/canvas/canvas-overflow-hidden-animation.html
              - imported/w3c/i18n/bidi/bidi-plaintext-011.html

          * Enable tests fixed in r224580:
              - imported/w3c/IndexedDB-private-browsing/idb_webworkers.html
              - storage/indexeddb/basics-workers.html
              - storage/indexeddb/cursor-advance-workers.html
              - storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html
              - storage/indexeddb/dont-commit-on-blocked.html
              - storage/indexeddb/index-basics-workers.html
              - storage/indexeddb/modern/blob-simple-workers.html
              - storage/indexeddb/modern/worker-getall.html
              - storage/indexeddb/modern/workers-enable.html
              - storage/indexeddb/objectstore-basics-workers.html
              - storage/indexeddb/open-twice-workers.html
              - storage/indexeddb/pending-activity-workers.html
              - storage/indexeddb/pending-version-change-on-exit.html
              - storage/indexeddb/pending-version-change-on-exit-private.html
              - storage/indexeddb/pending-version-change-stuck.html
              - storage/indexeddb/pending-version-change-stuck-private.html
              - storage/indexeddb/pending-version-change-stuck-works-with-terminate.html
              - storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html
              - storage/indexeddb/transaction-complete-workers.html
              - storage/indexeddb/transaction-complete-workers-private.html
              - storage/indexeddb/unprefix-workers.html

          * Remove failure expectations for tests that are passing on the bot:
              - fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html: passing since r225060.
              - fast/events/event-view-toString.html: passing since r221858.
              - fast/events/offsetX-offsetY.html: passing since r221858.
              - fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html: passing since r221858.
              - webgl/1.0.2/conformance/context/context-creation-and-destruction.html:
                passing since its missing resource was added in r223632.

          * Add some passing expectations for tests that are marked as failing in the platform-neutral file:
              - css2.1/20110323/replaced-intrinsic-001.htm: has been passing for a long time;
                the baseline probably does not reflect the actual pass condition.
                (The upstream test is claimed to be invalid, and fails in all browsers.)
              - css2.1/20110323/replaced-intrinsic-002.htm:  has been passing for a long time;
                the baseline probably does not reflect the actual pass condition.
                (The upstream test is claimed to be invalid, and fails in all browsers.)
              - css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto.html: passing since r222128.
              - transitions/svg-text-shadow-transition.html: passing since expectation rebaseline in r222084.

2017-11-24  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        REGRESSION(r225098): [WPE] Gardening of tests after r225098.

        70 new failures after some features changed of value.
        Reported on https://bugs.webkit.org/show_bug.cgi?id=180004
        Remove also 2 duplicated entries on the expectations file.

        Unreviewed gardening.

        * platform/wpe/TestExpectations:

2017-11-24  Antoine Quint  <graouts@apple.com>

        [Web Animations] Allow getComputedStyle() to return animated values for accelerated animations
        https://bugs.webkit.org/show_bug.cgi?id=179975
        <rdar://problem/35676811>

        Reviewed by Dean Jackson.

        Add a new test that checks that the computed style of accelerated animation returns the animated value.
        This test would fail for the accelerated case prior to this patch.

        * http/wpt/wk-web-animations/interfaces/keyframe-effect-getComputedStyle-expected.txt: Added.
        * http/wpt/wk-web-animations/interfaces/keyframe-effect-getComputedStyle.html: Added.

2017-11-24  Mark Lam  <mark.lam@apple.com>

        Move unsafe jsc shell test functions to the $vm object.
        https://bugs.webkit.org/show_bug.cgi?id=179980

        Reviewed by Yusuke Suzuki.

        * js/script-tests/stack-trace.js:
        * js/stack-trace-expected.txt:

2017-11-23  Antoine Quint  <graouts@apple.com>

        [Web Animations] Perform hardware-composited animations when possible
        https://bugs.webkit.org/show_bug.cgi?id=179973
        <rdar://problem/34953922>

        Reviewed by Dean Jackson.

        Add a series of tests to check that we use hardware-compositing for animations when possible.
        Specifically, we check that:
        
        1. Specifying both accelerated and non-accelerated properties for a single animation does *not*
        yield hardware compositing (left-and-opacity-animation-yields-no-compositing.html).

        2. Specifying both accelerated and non-accelerated properties via multiple animations does *not*
        yield hardware compositing (width-and-opacity-separate-animation-yields-no-compositing.html).

        3. Specifying only accelerated properties *does* yield hardware compositing
        (opacity-animation-yields-compositing.html).

        4. Hardware-composited animations no longer enforce hardware compositing after their completion
        (opacity-animation-no-longer-composited-upon-completion.html).

        * webanimations/left-and-opacity-animation-yields-no-compositing-expected.txt: Added.
        * webanimations/left-and-opacity-animation-yields-no-compositing.html: Added.
        * webanimations/opacity-animation-no-longer-composited-upon-completion-expected.txt: Added.
        * webanimations/opacity-animation-no-longer-composited-upon-completion.html: Added.
        * webanimations/opacity-animation-yields-compositing-expected.txt: Added.
        * webanimations/opacity-animation-yields-compositing.html: Added.
        * webanimations/width-and-opacity-separate-animation-yields-no-compositing-expected.txt: Added.
        * webanimations/width-and-opacity-separate-animation-yields-no-compositing.html: Added.

2017-11-23  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        REGRESSION(r225098): [GTK] Gardening of tests after r225098.
        https://bugs.webkit.org/show_bug.cgi?id=179989

        Unreviewed.

        Mark new expected failures meanwhile the issue is not fixed.

        * platform/gtk/TestExpectations:

2017-11-23  Simon Fraser  <simon.fraser@apple.com>

        Add support for CanvasPattern.setTransform()
        https://bugs.webkit.org/show_bug.cgi?id=179935

        Reviewed by Sam Weinig.
        
        Moved the test previously known as canvas-pattern-transform.html to canvas-pattern-with-transform.html
        and added a new test.

        * fast/canvas/canvas-pattern-transform-expected.txt:
        * fast/canvas/canvas-pattern-transform.html:
        * fast/canvas/canvas-pattern-with-transform-expected.txt: Copied from LayoutTests/fast/canvas/canvas-pattern-transform-expected.txt.
        * fast/canvas/canvas-pattern-with-transform.html: Copied from LayoutTests/fast/canvas/canvas-pattern-transform.html.
        * fast/canvas/canvas-pattern-with-transform.js: Renamed from LayoutTests/fast/canvas/canvas-pattern-transform.js.

2017-11-23  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Mark media/media-source/media-source-paint-to-canvas.html as passing.
        https://bugs.webkit.org/show_bug.cgi?id=178706

        Unreviewed test gardening.

        It has passed since r225060.

        * platform/wpe/TestExpectations:

        [WPE] Re-enable fast/dom/Document/CaretRangeFromPoint/replace-element.html.
        https://bugs.webkit.org/show_bug.cgi?id=176820

        Unreviewed test gardening.

        The test started passing again in r221974.

        * platform/wpe/TestExpectations:

2017-11-23  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable some more wpt tests.
        https://bugs.webkit.org/show_bug.cgi?id=179939

        Reviewed by Žan Doberšek.

        * TestExpectations: Add the number of a bug I filed.
        * platform/wpe/TestExpectations: Enable some smaller top-level wpt
          directories.
        * platform/wpe/imported/w3c/web-platform-tests/FileAPI/historical.https-expected.txt:
          Added: Service Workers are not yet enabled for WPE, which affects the
          results of this test in a harmless way.

2017-11-22  Ali Juma  <ajuma@chromium.org>

        Implement VisualViewport API attributes
        https://bugs.webkit.org/show_bug.cgi?id=179385

        Reviewed by Frédéric Wang.

        Add tests for the Visual Viewport API, based on Blink's layout tests but modified
        to use UIScriptController.

        * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html: Added.
        * fast/visual-viewport/viewport-dimensions-exclude-scrollbars-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html: Added.
        * fast/visual-viewport/viewport-dimensions-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-iframe.html: Added.
        * fast/visual-viewport/viewport-dimensions-under-page-zoom-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-under-page-zoom.html: Added.
        * fast/visual-viewport/viewport-dimensions.html: Added.
        * platform/gtk/TestExpectations:
          Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK (webkit.org/b/168050).
        * platform/ios/fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added.
          Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
        * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Added.
          Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
        * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt: Added.
          Platform-specific expectation because of the window size being different on iOS.
        * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Added.
          Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
        * platform/mac-wk1/TestExpectations:
          Skipped a test that applies webkit-scrollbar to main frame scrollbars, since this is unsupported in WK1.

2017-11-22  Manuel Rego Casasnovas  <rego@igalia.com>

        Available height is wrong for positioned elements with "box-sizing: border-box"
        https://bugs.webkit.org/show_bug.cgi?id=178783

        Reviewed by Darin Adler.

        There are some cases failing in fast/box-sizing/fill-available.html,
        this is because of a different bug (see https://webkit.org/b/178790)
        as noted down in the text comments.

        * fast/box-sizing/fill-available-expected.txt: Added.
        * fast/box-sizing/fill-available.html: Added.
        * fast/box-sizing/replaced-expected.txt: Added.
        * fast/box-sizing/replaced.html: Added.

2017-11-22  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable request-animation-frame-disabled.html.
        https://bugs.webkit.org/show_bug.cgi?id=173422

        Unreviewed test gardening.

        The test is passing since the change in r218754, and doesn't seem to have
        crashed in months.

        * platform/wpe/TestExpectations:

2017-11-22  Commit Queue  <commit-queue@webkit.org>

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

        Compilation failed on WinCairo 64-bit Release (Requested by
        fredw on #webkit).

        Reverted changeset:

        "Implement VisualViewport API attributes"
        https://bugs.webkit.org/show_bug.cgi?id=179385
        https://trac.webkit.org/changeset/225093

2017-11-21  Ali Juma  <ajuma@chromium.org>

        Implement VisualViewport API attributes
        https://bugs.webkit.org/show_bug.cgi?id=179385

        Reviewed by Frédéric Wang.

        Add tests for the Visual Viewport API, based on Blink's layout tests but modified
        to use UIScriptController.

        * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html: Added.
        * fast/visual-viewport/viewport-dimensions-exclude-scrollbars-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html: Added.
        * fast/visual-viewport/viewport-dimensions-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-iframe.html: Added.
        * fast/visual-viewport/viewport-dimensions-under-page-zoom-expected.txt: Added.
        * fast/visual-viewport/viewport-dimensions-under-page-zoom.html: Added.
        * fast/visual-viewport/viewport-dimensions.html: Added.
        * platform/gtk/TestExpectations:
          Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK (webkit.org/b/168050).
        * platform/ios/fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added.
          Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
        * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Added.
          Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
        * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt: Added.
          Platform-specific expectation because of the window size being different on iOS.
        * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Added.
          Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
        * platform/mac-wk1/TestExpectations:
          Skipped a test that applies webkit-scrollbar to main frame scrollbars, since this is unsupported in WK1.

2017-11-21  Frederic Wang  <fwang@igalia.com>

        Async frame scrolling: handle fixed root backgrounds in frames
        https://bugs.webkit.org/show_bug.cgi?id=176261

        Reviewed by Antonio Gomes.

        Extend tiled-drawing-async-frame-scrolling with new test cases and update expectations.

        * compositing/tiling/tiled-drawing-async-frame-scrolling.html: Add two test cases with
        non-white and fixed gradient background. The latter exhibits a crash fixed by that commit.
        * compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Adjust expectation due
        to spacing changes.
        * platform/ios-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.
        Update expectation for the first case to remove the white background and add expectations for
        the two new cases.
        * platform/mac-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.

2017-11-21  Commit Queue  <commit-queue@webkit.org>

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

        This patch caused compilation failures (Requested by fredw on
        #webkit).

        Reverted changeset:

        "Async frame scrolling: handle fixed root backgrounds in
        frames"
        https://bugs.webkit.org/show_bug.cgi?id=176261
        https://trac.webkit.org/changeset/225089

2017-11-21  Frederic Wang  <fwang@igalia.com>

        Async frame scrolling: handle fixed root backgrounds in frames
        https://bugs.webkit.org/show_bug.cgi?id=176261

        Reviewed by Antonio Gomes.

        Extend tiled-drawing-async-frame-scrolling with new test cases and update expectations.

        * compositing/tiling/tiled-drawing-async-frame-scrolling.html: Add two test cases with
        non-white and fixed gradient background. The latter exhibits a crash fixed by that commit.
        * compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Adjust expectation due
        to spacing changes.
        * platform/ios-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.
        Update expectation for the first case to remove the white background and add expectations for
        the two new cases.
        * platform/mac-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.

2017-11-21  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Enable imported/w3c/web-platform-tests/url/failure.html
        https://bugs.webkit.org/show_bug.cgi?id=179920

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: the test is only flaky or prone to
          crashing on platforms that enable CONTENT_EXTENSIONS; i.e. mac and ios.

2017-11-21  Frederic Wang  <fwang@igalia.com>

        ASSERTION FAILED: !needsLayout() in WebCore::RenderMathMLScripts::firstLineBaseline
        https://bugs.webkit.org/show_bug.cgi?id=174131

        Reviewed by Alejandro G. Castro.

        Add tests for calling RenderMathMLScripts::firstLineBaseline with needsLayout() == true.

        * mathml/cells-and-scripts-crash-expected.txt: Added.
        * mathml/cells-and-scripts-crash.html: Added.

2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, mark one more GTK test as passing

        * platform/gtk/TestExpectations:

2017-11-20  Andy VanWagoner  <andy@thetalecrafter.com>

        Layout Test js/intl-datetimeformat.html is failing on High Sierra (GMT vs. UTC)
        https://bugs.webkit.org/show_bug.cgi?id=179208

        Reviewed by Darin Adler.

        Use time zones that are unambiguous in datetimeformat tests.

        * js/intl-datetimeformat-expected.txt:
        * js/script-tests/intl-datetimeformat.js:
        * platform/mac/TestExpectations:

2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * TestExpectations:
        * platform/gtk/TestExpectations:

2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>

        Better unreviewed WPE test gardening

        I gave this test a TIMEOUT expectation because there is an XHR timeout, but that was dumb
        because the test itself does not time out.

        * platform/wpe/TestExpectations:

2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed WPE test gardening

        * platform/wpe/TestExpectations:

2017-11-20  Zalan Bujtas  <zalan@apple.com>

        Remove slow repaint object from FrameView when style changes.
        https://bugs.webkit.org/show_bug.cgi?id=179871

        Reviewed by Antti Koivisto.

        * fast/repaint/slow-repaint-object-crash-expected.txt: Added.
        * fast/repaint/slow-repaint-object-crash.html: Added.

2017-11-19  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable the XMLHttpRequest/ directory of web-platform-tests.
        https://bugs.webkit.org/show_bug.cgi?id=179820

        Reviewed by Sam Weinig.

        Added test expectations are copied from platform/gtk/

        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-get-head-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt: Added.

2017-11-18  Chris Dumez  <cdumez@apple.com>

        ASSERTION FAILED: registration in WebCore::SWServerJobQueue::scriptContextStarted(ServiceWorkerIdentifier)
        https://bugs.webkit.org/show_bug.cgi?id=179846

        Reviewed by Darin Adler.

        Unskip test that use to flakily crash.

        * platform/mac/TestExpectations:

2017-11-18  Nan Wang  <n_wang@apple.com>

        AX: AOM: Implement number type properties
        https://bugs.webkit.org/show_bug.cgi?id=179497

        Reviewed by Chris Fleizach.

        * accessibility/mac/AOM-number-properties-expected.txt: Added.
        * accessibility/mac/AOM-number-properties.html: Added.

2017-11-18  Maciej Stachowiak  <mjs@apple.com>

        Remove TEC support and all TEC-only encodings except EUC-TW (which now uses ICU)
        https://bugs.webkit.org/show_bug.cgi?id=179582

        Reviewed by Darin Adler.

        * fast/encoding/legacy-tec-encodings.html: Added. Verify that we
        no longer support these encodings.
        * fast/encoding/legacy-tec-encodings-expected.txt: Added.
        * platform/mac/fast/encoding/xnextstep-decoding.html: Removed. We no longer support this encoding.
        * platform/mac/fast/encoding/xnextstep-decoding-expected.txt: Removed.

2017-11-18  Simon Fraser  <simon.fraser@apple.com>

        Line of garbage pixels at the bottom of an feTurbulence sometimes
        https://bugs.webkit.org/show_bug.cgi?id=179866

        Reviewed by Wenson Hsieh.

        * svg/filters/feTurbulence-parallel-jobs-expected.html: Added.
        * svg/filters/feTurbulence-parallel-jobs.html: Added.

2017-11-18  Simon Fraser  <simon.fraser@apple.com>

        More FETurbulence cleanup
        https://bugs.webkit.org/show_bug.cgi?id=179863

        Reviewed by Zalan Bujtas.
        
        Fix spelling of TURBULANCE -> TURBULENCE.

        * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
        * platform/wpe/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * platform/wpe/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/wpe/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
        * svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
        * svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:

2017-11-18  Simon Fraser  <simon.fraser@apple.com>

        feTurbulence with stitchTiles is broken
        https://bugs.webkit.org/show_bug.cgi?id=179862

        Reviewed by Zalan Bujtas.
        
        Ref test that masks out an empty area of the filter and compares with a green rectangle.

        * svg/filters/feTurbulence-stitchTiles-expected.html: Added.
        * svg/filters/feTurbulence-stitchTiles.html: Added.

2017-11-18  Antti Koivisto  <antti@apple.com>

        Add test for a multicolumn render tree update issue
        https://bugs.webkit.org/show_bug.cgi?id=179860

        Reviewed by Zalan Bujtas.

        * fast/multicol/column-span-range-crash-expected.txt: Added.
        * fast/multicol/column-span-range-crash.html: Added.

2017-11-18  Antti Koivisto  <antti@apple.com>

        REGRESSION (r220646): ASSERTION FAILED: skipAssert || nextSiblingRenderer(node) == m_nextSibling
        https://bugs.webkit.org/show_bug.cgi?id=179855
        <rdar://problem/35464071>

        Reviewed by Zalan Bujtas.

        * fast/css-generated-content/first-letter-update-crash-expected.txt: Added.
        * fast/css-generated-content/first-letter-update-crash.html: Added.

2017-11-17  Megan Gardner  <megan_gardner@apple.com>

        Rebaseline and/or turn on more iOS selection tests that either already pass, or need minimal visual tweaking
        https://bugs.webkit.org/show_bug.cgi?id=179856

        Reviewed by Myles C. Maxfield.

        These tests all neither to either be minimally rebaselined, or they worked, but were marked as failing.
        All were checked for flakiness, and none were found to be flakey on the open source bots.

        * platform/ios-wk2/TestExpectations:
        * platform/ios/editing/selection/extend-by-word-002-expected.txt:
        * platform/ios/editing/selection/iframe-expected.png: Modified property svn:mime-type.
        * platform/ios/editing/selection/iframe-expected.txt:
        * platform/ios/editing/selection/inline-table-expected.png: Modified property svn:mime-type.
        * platform/ios/editing/selection/inline-table-expected.txt:

2017-11-17  Zalan Bujtas  <zalan@apple.com>

        Test case for r224995.
        https://bugs.webkit.org/show_bug.cgi?id=179854

        * fast/dom/getSVGDocument-on-object-crash-expected.txt: Added.
        * fast/dom/getSVGDocument-on-object-crash.html: Added.

2017-11-17  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Implement "Notify Controller Change" algorithm
        https://bugs.webkit.org/show_bug.cgi?id=179822

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/controller-change-expected.txt: Added.
        * http/tests/workers/service/controller-change.html: Added.

2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix grammar typo in tests
        https://bugs.webkit.org/show_bug.cgi?id=179852

        Reviewed by Matt Baker.

        * http/tests/inspector/network/resource-response-source-memory-cache-expected.txt:
        * http/tests/inspector/network/resource-response-source-memory-cache-revalidate-expired-only-expected.txt:
        * http/tests/inspector/network/resource-response-source-memory-cache-revalidate-expired-only.html:
        * http/tests/inspector/network/resource-response-source-memory-cache.html:
        * http/tests/inspector/network/set-resource-caching-disabled-memory-cache-expected.txt:
        * http/tests/inspector/network/set-resource-caching-disabled-memory-cache.html:

2017-11-17  John Wilander  <wilander@apple.com>

        Storage Access API: UI process should update network process about granted access
        https://bugs.webkit.org/show_bug.cgi?id=176943
        <rdar://problem/34440612>

        Reviewed by Alex Christensen.

        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction.html: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction.html: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-expected.txt: Removed.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html: Removed.
            Renamed to make the recent and non-recent user interaction explicit.
        * http/tests/storageAccess/resources/get-cookies.php: Added.
        * http/tests/storageAccess/resources/set-cookie.php: Added.
        * platform/mac-wk2/TestExpectations:
            Added the new tests as [ Pass ] for High Sierra and up.

2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>

        Skip imported/w3c/web-platform-tests/service-workers/service-worker/getregistration.https.html on debug bots.
        https://bugs.webkit.org/show_bug.cgi?id=179846

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for service-worker tests.

        Unreviewed test gardening.

        * TestExpectations:

2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for inspector/canvas/shaderProgram-add-remove-webgl2.html.
        https://bugs.webkit.org/show_bug.cgi?id=179827

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>

        Mark svg/in-html/by-reference.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=179784

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-11-17  Chris Fleizach  <cfleizach@apple.com>

        AX: VoiceOver in Safari does not read table header for first cell in first body row
        https://bugs.webkit.org/show_bug.cgi?id=179780
        <rdar://problem/35590551>

        Reviewed by Joanmarie Diggs.

        * accessibility/table-header-calculation-for-header-rows-expected.txt: Added.
        * accessibility/table-header-calculation-for-header-rows.html: Added.
        * accessibility/table-attributes-expected.txt: Updated.
        * platform/gtk/accessibility/table-attributes-expected.txt: Updated.

2017-11-17  Nan Wang  <n_wang@apple.com>

        AX: AOM: Implement boolean type properties
        https://bugs.webkit.org/show_bug.cgi?id=179496

        Reviewed by Chris Fleizach.

        * accessibility/mac/AOM-bool-properties-expected.txt: Added.
        * accessibility/mac/AOM-bool-properties.html: Added.

2017-11-17  Megan Gardner  <megan_gardner@apple.com>

        Turn on selection layout tests that are already working on iOS
        https://bugs.webkit.org/show_bug.cgi?id=179842

        Reviewed by Tim Horton.

        I have checked these test manually and on the flakiness dashboard and they are all
        working on iOS. No reason to not run them on iOS now.

        * platform/ios-wk2/TestExpectations:

2017-11-17  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
        https://bugs.webkit.org/show_bug.cgi?id=179837

        Reviewed by Chris Fleizach.

        * accessibility/gtk/table-headers-count-expected.txt: Added.
        * accessibility/gtk/table-headers-count.html: Added.
        * platform/gtk/TestExpectations: Remove a couple of "crash" failures.
        * platform/gtk/accessibility/table-sections-expected.txt: Remove null objects.

2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTest http/tests/inspector/network/har/har-page.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=179781

        Reviewed by Alexey Proskuryakov.

        * http/tests/inspector/network/har/har-page-expected.txt:
        * http/tests/inspector/network/har/har-page.html:
        Filter out the protocol value since it might not be available if the resource was cached.

2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=179773

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-11-17  Said Abou-Hallawa  <sabouhallawa@apple.com>

        SVG scrolling anchor should be reset if the fragmentIdentifier does not exist or is not provided
        https://bugs.webkit.org/show_bug.cgi?id=176577

        Reviewed by Simon Fraser.

        * http/tests/svg/svg-fragment-url-special-cases-expected.html: Added.
        * http/tests/svg/svg-fragment-url-special-cases.html: Added.

2017-11-16  Antoine Quint  <graouts@apple.com>

        [Web Animations] Force a stacking context during animations that animate properties that will force a stacking context
        https://bugs.webkit.org/show_bug.cgi?id=179811

        Reviewed by Dean Jackson.

        Adding a new test that would crash otherwise because we wouldn't adequately force a stacking
        context as the animation would begin.

        * webanimations/animation-opacity-animation-crash-expected.txt: Added.
        * webanimations/animation-opacity-animation-crash.html: Added.

2017-11-16  Commit Queue  <commit-queue@webkit.org>

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

        We shouldn't be doing this (Requested by ap on #webkit).

        Reverted changeset:

        "Remove the outdated and unmaintained copies of the tests in
        wpt/2dcontext/the-canvas-state/."
        https://bugs.webkit.org/show_bug.cgi?id=179769
        https://trac.webkit.org/changeset/224921

2017-11-16  Youenn Fablet  <youenn@apple.com>

        Service Worker should get the body of intercepted requests
        https://bugs.webkit.org/show_bug.cgi?id=179776

        Reviewed by Alex Christensen.

        * http/tests/workers/service/resources/service-worker-fetch.js:
        * http/tests/workers/service/service-worker-fetch.https-expected.txt:
        * http/tests/workers/service/resources/service-worker-request-with-body-worker.js: Added.
        * http/tests/workers/service/service-worker-request-with-body.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-request-with-body.https.html: Added.

2017-11-16  Nan Wang  <n_wang@apple.com>

        AX: AOM: Implement string type properties
        https://bugs.webkit.org/show_bug.cgi?id=179495

        Reviewed by Chris Fleizach.

        * accessibility/accessibility-object-model.html:
        * accessibility/mac/AOM-string-properties-expected.txt: Added.
        * accessibility/mac/AOM-string-properties.html: Added.

2017-11-16  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179773

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-16  Chris Dumez  <cdumez@apple.com>

        Dispatching an event on a ServiceWorkerRegistration may fail or crash due to GC
        https://bugs.webkit.org/show_bug.cgi?id=179751

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * http/tests/workers/service/service-worker-registration-gc-event-expected.txt: Added.
        * http/tests/workers/service/service-worker-registration-gc-event.html: Added.

2017-11-16  Matt Lewis  <jlewis3@apple.com>

        Marked svg/wicd/test-rightsizing-a.xhtml as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179176

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-11-16  Antoine Quint  <graouts@apple.com>

        [Web Animations] Express time in milliseconds through the API
        https://bugs.webkit.org/show_bug.cgi?id=179799

        Reviewed by Simon Fraser.

        Update tests to use milliseconds rather than seconds.

        * http/wpt/wk-web-animations/timing-model/animation-current-time.html:
        * http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property.html:
        * http/wpt/wk-web-animations/timing-model/animation-playback-rate.html:
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html:
        * http/wpt/wk-web-animations/timing-model/timeline-current-time.html:

2017-11-16  Matt Lewis  <jlewis3@apple.com>

        Marked multiple http/tests/cache/disk-cache/ tests as flaky.
        
        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-16  Youenn Fablet  <youenn@apple.com>

        imported/w3c/web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001.htm is an ImageOnlyFailure
        https://bugs.webkit.org/show_bug.cgi?id=179786

        Unreviewed.

        * TestExpectations: Temporarily marking test as failing.

2017-11-16  Colin Bendell  <colin@bendell.ca>

        Add tests to ensure that <source> tags are only preloaded when the `type`
        attribute matches.
        https://bugs.webkit.org/show_bug.cgi?id=179231

        Reviewed by Alex Christensen.

        * http/tests/preload/picture-type-expected.txt: Added.
        * http/tests/preload/picture-type.html: Added.

2017-11-16  Chris Dumez  <cdumez@apple.com>

        Dispatching an event on a ServiceWorker may fail or crash due to GC
        https://bugs.webkit.org/show_bug.cgi?id=179745

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * http/tests/workers/service/resources/sw-test-pre.js:
        * http/tests/workers/service/service-worker-gc-event.html: Added.
        * http/tests/workers/service/service-worker-gc-event-expected.txt: Added.

2017-11-16  Youenn Fablet  <youenn@apple.com>

        LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=179771

        Unreviewed.

        * TestExpectations: Marking test as flaky until we have full support of SW opaque responses.

2017-11-16  Ms2ger  <Ms2ger@igalia.com>

        Remove the outdated and unmaintained copies of the tests in wpt/2dcontext/the-canvas-state/.
        https://bugs.webkit.org/show_bug.cgi?id=179769

        Reviewed by Youenn Fablet.

        * canvas/philip/tests/2d.state.saverestore.bitmap-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.bitmap.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.clip-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.clip.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.fillStyle-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.fillStyle.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.font-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.font.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.globalAlpha-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.globalAlpha.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.globalCompositeOperation-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.globalCompositeOperation.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.lineCap-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.lineCap.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.lineJoin-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.lineJoin.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.lineWidth-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.lineWidth.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.miterLimit-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.miterLimit.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.path-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.path.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowBlur-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowBlur.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowColor-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowColor.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowOffsetX-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowOffsetX.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowOffsetY-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.shadowOffsetY.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.stack-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.stack.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.stackdepth-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.stackdepth.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.strokeStyle-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.strokeStyle.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.textAlign-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.textAlign.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.textBaseline-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.textBaseline.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.transformation-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.transformation.html: Removed.
        * canvas/philip/tests/2d.state.saverestore.underflow-expected.txt: Removed.
        * canvas/philip/tests/2d.state.saverestore.underflow.html: Removed.

2017-11-16  Per Arne Vollan  <pvollan@apple.com>

        Mark http/wpt/offscreen-canvas/getContext-webgl.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179767

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-16  Per Arne Vollan  <pvollan@apple.com>

        Mark accessibility/accessibility-object-model.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179766

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-16  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ and WPE gardening after r224910.

        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:

2017-11-16  Frederic Wang  <fwang@igalia.com>

        ASSERTION FAILED: !isAnonymous() in WebCore::RenderMathMLOperator::updateTokenContent
        https://bugs.webkit.org/show_bug.cgi?id=166011

        Reviewed by Alejandro G. Castro.

        Add a crash test checking displaystyle and mathvariant on mfenced operators.

        * mathml/mfenced-displaystyle-and-mathvariant-crash-expected.txt: Added.
        * mathml/mfenced-displaystyle-and-mathvariant-crash.html: Added.

2017-11-15  Youenn Fablet  <youenn@apple.com>

        Service Worker fetch should handle empty responses
        https://bugs.webkit.org/show_bug.cgi?id=179740

        Reviewed by Alex Christensen.

        * http/tests/workers/service/resources/service-worker-fetch-worker.js:
        (event.event.request.url.endsWith):
        * http/tests/workers/service/resources/service-worker-fetch.js:
        (async.test):
        * http/tests/workers/service/service-worker-fetch.https-expected.txt:

2017-11-15  Youenn Fablet  <youenn@apple.com>

        ReloadFromOrigin loads should not select any service worker
        https://bugs.webkit.org/show_bug.cgi?id=179736

        Reviewed by Brady Eidson.

        * http/tests/workers/service/resources/shift-reload-navigation.js: Added.
        (async.test):
        * http/tests/workers/service/shift-reload-navigation-expected.txt: Added.
        * http/tests/workers/service/shift-reload-navigation.html: Added.

2017-11-15  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement basic to-from animations
        https://bugs.webkit.org/show_bug.cgi?id=179707
        <rdar://problem/34932456>

        Reviewed by Dean Jackson.

        Update existing tests to explicitly pass null for keyframes and update WPT expectations.

        * http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
        * http/wpt/wk-web-animations/interfaces/element-get-animations.html:
        * http/wpt/wk-web-animations/timing-model/animation-creation-basic.html:
        * http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship.html:
        * http/wpt/wk-web-animations/timing-model/animation-interface-effect-property.html:
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-expected.txt:
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html:
        * http/wpt/wk-web-animations/timing-model/keyframe-effect.html:

2017-11-15  Frederic Wang  <fwang@igalia.com>

        ASSERTION FAILED: !renderer->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout with MathML
        https://bugs.webkit.org/show_bug.cgi?id=178865

        Reviewed by Manuel Rego Casasnovas.

        Add a test to trigger various clearNeedsLayout() in a MathML containing block with
        out-of-flow positioned descendants.

        * mathml/out-of-flow-in-token-crash-expected.txt: Added.
        * mathml/out-of-flow-in-token-crash.html: Added.

2017-11-15  Nan Wang  <n_wang@apple.com>

        [GTK] accessibility/accessibility-object-model.html fails
        https://bugs.webkit.org/show_bug.cgi?id=179723

        Reviewed by Chris Fleizach.

        Updated the test to support different platforms.

        * accessibility/accessibility-object-model-expected.txt:
        * accessibility/accessibility-object-model.html:

2017-11-15  Chris Dumez  <cdumez@apple.com>

        Unreviewed, fix tests introduced in r224880.

        This is needed because of the changes in r224876.

        * http/tests/workers/service/Client-properties.html:

2017-11-15  Youenn Fablet  <youenn@apple.com>

        Some service worker tests are flaky due to console log messages
        https://bugs.webkit.org/show_bug.cgi?id=179601

        Reviewed by Alex Christensen.

        * TestExpectations:

2017-11-15  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectations for compositing/repaint/fixed-background-scroll.html.
        https://bugs.webkit.org/show_bug.cgi?id=154612

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-11-15  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Implement Client API
        https://bugs.webkit.org/show_bug.cgi?id=179709

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * http/tests/workers/service/Client-properties-auxiliary-expected.txt: Added.
        * http/tests/workers/service/Client-properties-auxiliary.html: Added.
        * http/tests/workers/service/Client-properties-expected.txt: Added.
        * http/tests/workers/service/Client-properties-subframe-expected.txt: Added.
        * http/tests/workers/service/Client-properties-subframe.html: Added.
        * http/tests/workers/service/Client-properties.html: Added.
        * http/tests/workers/service/resources/Client-properties-worker.js: Added.

2017-11-15  Youenn Fablet  <youenn@apple.com>

        Remove service worker selection based on registration
        https://bugs.webkit.org/show_bug.cgi?id=179705

        Reviewed by Alex Christensen.

        Updating tests to use actual selected frames.

        * http/tests/inspector/network/resource-response-service-worker.html:
        * http/tests/inspector/network/resources/fetch-service-worker.js:
        * http/tests/workers/service/ServiceWorkerGlobalScope-properties.html:
        * http/tests/workers/service/basic-fetch.https-expected.txt:
        * http/tests/workers/service/cors-image-fetch-expected.txt:
        * http/tests/workers/service/cors-image-fetch.html:
        * http/tests/workers/service/image-fetch-expected.txt:
        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js:
        (then):
        * http/tests/workers/service/resources/basic-fetch-worker.js:
        * http/tests/workers/service/resources/basic-fetch.js:
        (async.test):
        * http/tests/workers/service/resources/cors-image-fetch.js:
        (async.test):
        (async.loadedImage): Deleted.
        (async.erroredImage): Deleted.
        (async.logStatus): Deleted.
        * http/tests/workers/service/resources/cors-image-fetch-iframe.html: Added.
        * http/tests/workers/service/resources/image-fetch.js:
        (async.test):
        (done): Deleted.
        (async.loadedImage): Deleted.
        (async.erroredImage): Deleted.
        (async.logStatus): Deleted.
        * http/tests/workers/service/resources/service-worker-crossorigin-fetch.js:
        (async.test):
        (done): Deleted.
        (async.logStatus): Deleted.
        * http/tests/workers/service/resources/service-worker-fetch.js:
        (async.test):
        (done): Deleted.
        (async.logStatus): Deleted.
        * http/tests/workers/service/resources/service-worker-importScript.js:
        (async.test):
        (async.logStatus): Deleted.
        * http/tests/workers/service/resources/sw-test-pre.js:
        (async.interceptedFrame):
        * http/tests/workers/service/resources/tainted-image-fetch.js:
        (async.test):
        (async.loadedImage): Deleted.
        (async.erroredImage): Deleted.
        (async.logStatus): Deleted.
        * http/tests/workers/service/service-worker-fetch.https-expected.txt:
        * http/tests/workers/service/tainted-image-fetch-expected.txt:

2017-11-15  Ms2ger  <Ms2ger@igalia.com>

        [GTK][WPE] Unreviewed test gardening
        https://bugs.webkit.org/show_bug.cgi?id=179726

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: Add new expectations.
        * platform/gtk/fast/events/input-events-paste-rich-datatransfer-expected.txt:
          Rebaseline for bug 179431.
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
          Rebaseline for ​bug 179494.
        * platform/wpe/TestExpectations: Remove expectations that were redundant
          with other (more correct) expectations in the same file, or with the
          new expectation file.
        * platform/wpe/fast/workers/WorkerGlobalScope-properties-prototype-expected.txt:
          Removed: bug 179094 improved the results and made them match the
          platform-neutral expectation file.
        * platform/wpe/fast/workers/self-hasOwnProperty-expected.txt:
          Removed: bug 179094 improved the results and made them match the
          platform-neutral expectation file.
        * platform/wpe/http/tests/uri/css-href-expected.txt: Added: missing baseline.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/encrypted-media-default-feature-policy.https.sub-expected.txt:
          Rebaseline to make the test useful as a regression test.
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:
          Rebaseline for ​bug 179494.

2017-11-14  Nan Wang  <n_wang@apple.com>

        AX: AOM: Implement AccessibleNode class and support label and role attributes
        https://bugs.webkit.org/show_bug.cgi?id=179494

        Reviewed by Ryosuke Niwa.

        * accessibility/accessibility-object-model-expected.txt: Added.
        * accessibility/accessibility-object-model.html: Added.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2017-11-14  Antti Koivisto  <antti@apple.com>

        Media query with :host inside a custom elements doesn't get updated on window resize
        https://bugs.webkit.org/show_bug.cgi?id=176101
        <rdar://problem/34163850>

        Reviewed by Simon Fraser.

        Expand the existing test case to cover :host and ::slotted.

        * fast/shadow-dom/media-query-in-shadow-style-expected.html:
        * fast/shadow-dom/resources/media-query-in-shadow-style-frame.html:

2017-11-14  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/scrolling/rtl-scrollbars.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179455

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-14  Youenn Fablet  <youenn@apple.com>

        Implement ServiceWorker handle fetch for navigation loads
        https://bugs.webkit.org/show_bug.cgi?id=179404

        Reviewed by Alex Christensen and Chris Dumez.

        Some new tests are timing out due to missing SW API support.
        fetch-request-xhr.https.html is flaky due to always changing assertions.
        uncontrolled-page.https.html is probably flaky due to setting the active service worker
        in ServiceWorkerRegistration constructor. Plan is to fix that hack as a follow-up.
        fetch-event-respond-with-response-body-with-invalid-chunk.https.html might be flaky for the same reason.
        Marking unregister-then-register.https.html as flaky. Will follow-up investigating.

        * TestExpectations: Skipping some timing out tests and marking some as flaky.

2017-11-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening for High Sierra.

        * platform/mac-sierra/http/tests/blink/sendbeacon/beacon-same-origin-expected.txt: Added.
        * platform/mac-sierra/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Renamed from LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt.
        * platform/mac/http/tests/blink/sendbeacon/beacon-same-origin-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Added.

2017-11-14  Dean Jackson  <dino@apple.com>

        Stub implementations of OffscreenCanvas getContext and transferToImageBitmap
        https://bugs.webkit.org/show_bug.cgi?id=179671
        <rdar://problem/35534018>

        Reviewed by Antoine Quint.

        * http/wpt/offscreen-canvas/getContext-webgl-expected.txt: Added.
        * http/wpt/offscreen-canvas/getContext-webgl.html: Added.
        * http/wpt/offscreen-canvas/transferToImageBitmap-expected.txt: Added.
        * http/wpt/offscreen-canvas/transferToImageBitmap.html: Added.

2017-11-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening for High Sierra.

        * platform/mac/TestExpectations:
        * platform/mac/editing/deleting/delete-emoji-9-expected.txt:

2017-11-14  Jer Noble  <jer.noble@apple.com>

        Enable Modern EME tests in DumpRenderTree
        https://bugs.webkit.org/show_bug.cgi?id=179544

        Reviewed by Alex Christensen.

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

2017-11-14  Youenn Fablet  <youenn@apple.com>

        WebSWClientConnection should do IPC to StorageProcess if its WebSWOriginTable is not yet initialized
        https://bugs.webkit.org/show_bug.cgi?id=179668

        Reviewed by Chris Dumez.

        Updated tests to use hasServiceWorkerRegistration instead of hasServiceWorkerRegisteredForOrigin.
        Since the latter is trying to match a registration and compares scopes, we need the scopes to be set right on the tests.

        * http/tests/workers/service/basic-unregister.https-expected.txt:
        * http/tests/workers/service/resources/basic-register.js:
        * http/tests/workers/service/resources/basic-unregister.js:

2017-11-14  Ms2ger  <Ms2ger@igalia.com>

        Add some bug numbers for failing XHR tests
        https://bugs.webkit.org/show_bug.cgi?id=179664

        Unreviewed test gardening.

        * TestExpectations:
        * platform/gtk/TestExpectations:
          The two send-entity-body tests were not marked as failing anywhere,
          so the annotations here were superfluous.

2017-11-13  Simon Fraser  <simon.fraser@apple.com>

        When navigating back to a page, compositing layers may not use accelerated drawing
        https://bugs.webkit.org/show_bug.cgi?id=178749
        rdar://problem/35158946

        Reviewed by Dean Jackson.
        
        Moved iframes/resources/page-cache-helper.html up to compositing/resources/go-back.html.

        * compositing/accelerated-layers-after-back-expected.txt: Added.
        * compositing/accelerated-layers-after-back.html: Added.
        * compositing/iframes/page-cache-layer-tree.html:
        * compositing/page-cache-back-crash.html:
        * compositing/resources/go-back.html: Renamed from LayoutTests/compositing/iframes/resources/page-cache-helper.html.
        * platform/ios/compositing/accelerated-layers-after-back-expected.txt: Added.

2017-11-13  Ryan Haddad  <ryanhaddad@apple.com>

        Disable two Modern EME LayoutTests on mac-wk1  until the feature is enabled in DumpRenderTree.
        https://bugs.webkit.org/show_bug.cgi?id=179544

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-11-13  Per Arne Vollan  <pvollan@apple.com>

        The css properties stroke-width/stroke-color and -webkit-text-stroke-width/-webkit-text-stroke-color should not be mixed.
        https://bugs.webkit.org/show_bug.cgi?id=174737

        Reviewed by Antti Koivisto.

        * fast/css/stroke-color-expected.html:
        * fast/css/stroke-color-fallback-expected.html:
        * fast/css/stroke-color-fallback.html:
        * fast/css/stroke-color.html:
        * fast/css/stroke-width-expected.html:
        * fast/css/stroke-width-fallback-expected.html:
        * fast/css/stroke-width-fallback.html:
        * fast/css/stroke-width.html:

2017-11-13  Commit Queue  <commit-queue@webkit.org>

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

        test fails on iOS (Requested by alexchristensen on #webkit).

        Reverted changeset:

        "Add tests to ensure that <source> tags are only preloaded
        when the `type`"
        https://bugs.webkit.org/show_bug.cgi?id=179231
        https://trac.webkit.org/changeset/224763

2017-11-13  Antti Koivisto  <antti@apple.com>

        Don't eliminate whitespace renderer if the previous sibling is a text renderer
        https://bugs.webkit.org/show_bug.cgi?id=179620

        Reviewed by Zalan Bujtas.

        * TestExpectations:

2017-11-13  Chris Dumez  <cdumez@apple.com>

        Implement "Service Worker Has No Pending Events" / "Update Service Worker Extended Events Set" algorithms
        https://bugs.webkit.org/show_bug.cgi?id=179618

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/workers/service/basic-unregister-then-register-again-reuse-expected.txt: Added.
        * http/tests/workers/service/basic-unregister-then-register-again-reuse.html: Added.
        * http/tests/workers/service/resources/basic-unregister-then-register-again-reuse-worker.js: Added.
        (event.waitUntil.new.Promise):
        (setTimeout):

2017-11-13  Ryan Haddad  <ryanhaddad@apple.com>

        Adjust TestExpectation for js/intl-datetimeformat.html.
        https://bugs.webkit.org/show_bug.cgi?id=179208

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-11-13  Colin Bendell  <colin@bendell.ca>

        Add tests to ensure that <source> tags are only preloaded when the `type`
        attribute matches.
        https://bugs.webkit.org/show_bug.cgi?id=179231

        Reviewed by Alex Christensen.

        * http/tests/preload/picture-type-expected.txt: Added.
        * http/tests/preload/picture-type.html: Added.

2017-11-13  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement getAnimations()
        https://bugs.webkit.org/show_bug.cgi?id=179535
        <rdar://problem/34932475>

        Reviewed by Simon Fraser.

        Update WPT expectations per new progressions and add three new tests that check the behavior of
        Document.getAnimations(), Element.getAnimations() and the unique relationship between an Animation
        and an AnimationEffect.

        * http/wpt/web-animations/interfaces/Animatable/animate-expected.txt:
        * http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt:
        * http/wpt/web-animations/interfaces/Document/getAnimations-expected.txt:
        * http/wpt/wk-web-animations/interfaces/document-get-animations-expected.txt: Added.
        * http/wpt/wk-web-animations/interfaces/document-get-animations.html: Added.
        * http/wpt/wk-web-animations/interfaces/element-get-animations-expected.txt: Added.
        * http/wpt/wk-web-animations/interfaces/element-get-animations.html: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship.html: Added.

2017-11-13  Per Arne Vollan  <pvollan@apple.com>

        Mark editing/execCommand/underline-selection-containing-image.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179613

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Mark editing/execCommand/underline-selection-containing-image.html as failing.

        * platform/gtk/TestExpectations:

2017-11-13  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Enable some passing XHR tests
        https://bugs.webkit.org/show_bug.cgi?id=179533

        Reviewed by Alex Christensen.

        * platform/gtk/TestExpectations: Remove failure expectations.
        * platform/gtk/imported/w3c/web-platform-tests/XMLHttpRequest/getallresponseheaders-expected.txt:
          Removed: the platform-neutral expectation file (two passes rather than
          one pass, one fail) matches the current output on GTK.
        * platform/gtk/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async-expected.txt:
          Added: the platform-neutral expectation file has subtests marked as
          failing, though they all pass on GTK.
        * platform/gtk/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-get-head-expected.txt:
          Added: the platform-neutral expectation file has subtests marked as
          failing, though they all pass on GTK.
        * platform/gtk/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-expected.txt:
          Added: the platform-neutral expectation file has subtests marked as
          failing, though they all pass on GTK.
        * platform/gtk/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
          Added: some of the subtests marked as failing in the platform-neutral
          expectation file are passing on GTK.

2017-11-12  Maciej Stachowiak  <mjs@apple.com>

        Remove support for UTF-32 variant text encodings
        https://bugs.webkit.org/show_bug.cgi?id=179435

        Reviewed by Darin Adler.

        * fast/encoding/legacy-utf-32-aliases.html: Added. Check that
        we don't support our legacy aliases for utf-32, since WPT doesn't
        either.
        * fast/encoding/legacy-utf-32-aliases-expected.txt: Ditto.

        Remove the following tests; we no longer want to support UTF-32. 
        
        imported/w3c/web-platform-tests/encoding already has tests for lack of support.
        
        * fast/encoding/utf-32-big-endian-bom-expected.txt: Removed.
        * fast/encoding/utf-32-big-endian-bom.html: Removed.
        * fast/encoding/utf-32-big-endian-nobom-expected.txt: Removed.
        * fast/encoding/utf-32-big-endian-nobom.xml: Removed.
        * fast/encoding/utf-32-little-endian-bom-expected.txt: Removed.
        * fast/encoding/utf-32-little-endian-bom.html: Removed.
        * fast/encoding/utf-32-little-endian-nobom-expected.txt: Removed.
        * fast/encoding/utf-32-little-endian-nobom.xml: Removed.
        * http/tests/misc/submit-get-in-utf32be-expected.txt: Removed.
        * http/tests/misc/submit-get-in-utf32be.html: Removed.
        * http/tests/misc/submit-get-in-utf32le-expected.txt: Removed.
        * http/tests/misc/submit-get-in-utf32le.html: Removed.
        * http/tests/misc/submit-post-in-utf32be-expected.txt: Removed.
        * http/tests/misc/submit-post-in-utf32be.html: Removed.
        * http/tests/misc/submit-post-in-utf32le-expected.txt: Removed.
        * http/tests/misc/submit-post-in-utf32le.html: Removed.
        * http/tests/misc/url-in-utf32be-expected.txt: Removed.
        * http/tests/misc/url-in-utf32be.html: Removed.
        * http/tests/misc/url-in-utf32le-expected.txt: Removed.
        * http/tests/misc/url-in-utf32le.html: Removed.

2017-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r224566): [GTK] 26 new timeouts on inspector related tests.
        https://bugs.webkit.org/show_bug.cgi?id=179471

        Reviewed by Darin Adler.

        Unskip tests that are passing now.

        * platform/gtk/TestExpectations:

2017-11-12  Yusuke Suzuki  <utatane.tea@gmail.com>

        [WebCore] Implement import.meta.url
        https://bugs.webkit.org/show_bug.cgi?id=178672

        Reviewed by Darin Adler.

        * js/dom/modules/import-meta-url-expected.txt: Added.
        * js/dom/modules/import-meta-url.html: Added.
        * js/dom/modules/script-tests/import-meta-url-second-level.js: Added.
        * js/dom/modules/script-tests/import-meta-url-top-level.js: Added.
        * js/dom/modules/script-tests/import-meta-url.js: Added.

2017-11-11  Chris Dumez  <cdumez@apple.com>

        Re-sync Service Workers web-platform-tests from upstream
        https://bugs.webkit.org/show_bug.cgi?id=179575

        Reviewed by Youenn Fablet.

        Skip a few tests that are timing out.

        * TestExpectations:

2017-11-11  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Canvas tab: show detailed status during canvas recording
        https://bugs.webkit.org/show_bug.cgi?id=178185
        <rdar://problem/34939862>

        Reviewed by Brian Burg.

        * inspector/canvas/resources/recording-utilities.js:
        (TestPage.registerInitializer.window.startRecording.handleRecordingProgress):
        (TestPage.registerInitializer.window.startRecording):

2017-11-10  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip & rebaseline several service worker tests

        * TestExpectations:

2017-11-10  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Registration promise should be rejected when the service worker fails to start
        https://bugs.webkit.org/show_bug.cgi?id=179566

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * TestExpectations: Mark test as flaky as the console lines sometimes change order.
        * http/tests/workers/service/resources/worker-fails-to-start-worker.js: Added.
        * http/tests/workers/service/worker-fails-to-start-expected.txt: Added.
        * http/tests/workers/service/worker-fails-to-start.html: Added.

2017-11-10  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for imported/w3c/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html.
        https://bugs.webkit.org/show_bug.cgi?id=177440

        Unreviewed test gardening.

        * TestExpectations:
        * platform/wk2/TestExpectations:

2017-11-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179557

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-10  Simon Fraser  <simon.fraser@apple.com>

        Contents of composited overflow-scroll are missing when newly added
        https://bugs.webkit.org/show_bug.cgi?id=179556
        rdar://problem/20368294

        Reviewed by Tim Horton.

        * compositing/backing/overflow-gains-content-expected.html: Added.
        * compositing/backing/overflow-gains-content.html: Added.

2017-11-10  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Implement better support for "Clear Registration" algorithm
        https://bugs.webkit.org/show_bug.cgi?id=179441

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/workers/service/registration-clear-redundant-worker-expected.txt: Added.
        * http/tests/workers/service/registration-clear-redundant-worker.html: Added.

2017-11-10  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r224705.

        Introduced a LayoutTest crash on WK1.

        Reverted changeset:

        "[Web Animations] Implement getAnimations()"
        https://bugs.webkit.org/show_bug.cgi?id=179535
        https://trac.webkit.org/changeset/224705

2017-11-10  Jer Noble  <jer.noble@apple.com>

        Add a FairPlay Streaming based CDM for Modern EME
        https://bugs.webkit.org/show_bug.cgi?id=179499
        <rdar://problem/35445033>

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:
        * platform/mac/media/encrypted-media/fps-createMediaKeys-expected.txt: Added.
        * platform/mac/media/encrypted-media/fps-createMediaKeys.html: Added.
        * platform/mac/media/encrypted-media/fps-requestMediaKeySystemAccess-expected.txt: Added.
        * platform/mac/media/encrypted-media/fps-requestMediaKeySystemAccess.html: Added.

2017-11-10  Megan Gardner  <megan_gardner@apple.com>

        Rebase some layout tests
        https://bugs.webkit.org/show_bug.cgi?id=179519

        Reviewed by Alex Christensen and Tim Horton.

        In helping with cleaning up tests, rebase tests that have only been effected by font changes
        and other similarly irrelevant changes. Also turning back on a few tests that actually do work
        now. 

        * platform/ios-wk2/TestExpectations:
        * platform/ios/editing/selection/3690703-2-expected.txt:
        * platform/ios/editing/selection/3690703-expected.txt:
        * platform/ios/editing/selection/3690719-expected.txt:

2017-11-10  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement getAnimations()
        https://bugs.webkit.org/show_bug.cgi?id=179535
        <rdar://problem/34932475>

        Reviewed by Simon Fraser.

        Update WPT expectations per new progressions and add three new tests that check the behavior of
        Document.getAnimations(), Element.getAnimations() and the unique relationship between an Animation
        and an AnimationEffect.

        * http/wpt/web-animations/interfaces/Animatable/animate-expected.txt:
        * http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt:
        * http/wpt/web-animations/interfaces/Document/getAnimations-expected.txt:
        * http/wpt/wk-web-animations/interfaces/document-get-animations-expected.txt: Added.
        * http/wpt/wk-web-animations/interfaces/document-get-animations.html: Added.
        * http/wpt/wk-web-animations/interfaces/element-get-animations-expected.txt: Added.
        * http/wpt/wk-web-animations/interfaces/element-get-animations.html: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship.html: Added.

2017-11-10  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r224602 and r224697.
        https://bugs.webkit.org/show_bug.cgi?id=179545

        The LayoutTest for this change is flaky. (Requested by
        ryanhaddad on #webkit).

        Reverted changesets:

        "Add tests to ensure that <source> tags are only preloaded
        when the `type`"
        https://bugs.webkit.org/show_bug.cgi?id=179231
        https://trac.webkit.org/changeset/224602

        "Fix race conditions with setBackingScaleFactor, page refresh
        and preloader"
        https://bugs.webkit.org/show_bug.cgi?id=179488
        https://trac.webkit.org/changeset/224697

2017-11-10  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Implement "Try Activate" / "Activate" algorithms
        https://bugs.webkit.org/show_bug.cgi?id=179436

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/workers/service/basic-activate-event-expected.txt: Added.
        * http/tests/workers/service/basic-activate-event.html: Added.
        * http/tests/workers/service/resources/basic-activate-event-worker.js: Added.

2017-11-10  Maciej Stachowiak  <mjs@apple.com>

        Remove TEC decoders that duplicate ICU decoders
        https://bugs.webkit.org/show_bug.cgi?id=179460

        Reviewed by Darin Adler.

        * fast/encoding/duplicate-tec-encodings-expected.txt: Added.
        * fast/encoding/duplicate-tec-encodings.html: Added.

2017-11-10  Colin Bendell  <colin@bendell.ca>

        Fix race conditions with setBackingScaleFactor, page refresh and preloader
        https://bugs.webkit.org/show_bug.cgi?id=179488

        Reviewed by Darin Adler.

        * http/tests/preload/picture-type-expected.txt: remove DPR test
        * http/tests/preload/picture-type.html: updated srcset to account for
        testRunners with DPR > 1

2017-11-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/wpt/beacon/contentextensions tests as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179256

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-10  Ms2ger  <Ms2ger@igalia.com>

        Remove check-combining-headers.html.
        https://bugs.webkit.org/show_bug.cgi?id=179527

        Reviewed by Chris Dumez.

        This test is an old fork of
        imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm
        which is no longer useful.

        * http/tests/xmlhttprequest/check-combining-headers-expected.txt: Removed.
        * http/tests/xmlhttprequest/check-combining-headers.html: Removed.

2017-11-10  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Update test expectations for imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html.
        https://bugs.webkit.org/show_bug.cgi?id=179051

        Reviewed by Michael Catanzaro.

        The expectations are platform-specific because the test times out on mac.
        The difference with the mac expectations is only in the last part of the
        test, after the timeout.

        This follows our policy of creating -expected files with failures for
        imported wpt tests, to allow using them as regression tests.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:

2017-11-10  Chris Dumez  <cdumez@apple.com>

        Unreviewed, mark imported/w3c/web-platform-tests/service-workers/service-worker/unregister-then-register-new-script.https.html as flaky

        I unskipped it yesterday but it turns out to be flaky.

        * TestExpectations:

2017-11-09  Chris Dumez  <cdumez@apple.com>

        ServiceWorkerRegistration objects may get recycled for different SWServerRegistration objects
        https://bugs.webkit.org/show_bug.cgi?id=179517

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/workers/service/basic-unregister-then-register-again-no-reuse-expected.txt: Added.
        * http/tests/workers/service/basic-unregister-then-register-again-no-reuse.html: Added.

2017-11-09  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline flaky / skipped service worker tests
        https://bugs.webkit.org/show_bug.cgi?id=179521

        Unskip a test that is no longer timing out.

        * TestExpectations:

2017-11-09  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Retry module fetching if previous request fails
        https://bugs.webkit.org/show_bug.cgi?id=178168

        Reviewed by Saam Barati.

        * js/dom/modules/module-fetch-failure-not-cached-expected.txt: Added.
        * js/dom/modules/module-fetch-failure-not-cached.html: Added.
        * js/dom/modules/module-integrity-bad-value-success-with-cache-expected.txt: Added.
        * js/dom/modules/module-integrity-bad-value-success-with-cache.html: Added.
        * js/dom/modules/script-tests/module-fetch-failure-not-cached.js: Added.
        * js/dom/modules/script-tests/module-integrity-bad-value-success-with-cache.js: Added.

2017-11-09  Ryan Haddad  <ryanhaddad@apple.com>

        Mark multiple service worker tests as flaky.

        Unreviewed test gardening.

        * TestExpectations: Add flaky tests and alphabetize existing entries.

2017-11-09  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS] Rebaseline and re-enable editing/deleting tests
        https://bugs.webkit.org/show_bug.cgi?id=179119

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/ios/editing/deleting/collapse-whitespace-3587601-fix-expected.txt: Added.
        * platform/ios/editing/deleting/delete-3608445-fix-expected.txt: Added.
        * platform/ios/editing/deleting/delete-3800834-fix-expected.txt: Added.
        * platform/ios/editing/deleting/delete-after-span-ws-001-expected.txt: Added.
        * platform/ios/editing/deleting/delete-after-span-ws-002-expected.txt: Added.
        * platform/ios/editing/deleting/delete-after-span-ws-003-expected.txt: Added.
        * platform/ios/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * platform/ios/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
        * platform/ios/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
        * platform/ios/editing/deleting/delete-at-start-or-end-expected.txt: Added.
        * platform/ios/editing/deleting/delete-block-contents-001-expected.txt: Added.
        * platform/ios/editing/deleting/delete-block-contents-002-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-br-010-expected.txt.
        * platform/ios/editing/deleting/delete-block-merge-contents-005-expected.txt:
        * platform/ios/editing/deleting/delete-block-merge-contents-006-expected.txt:
        * platform/ios/editing/deleting/delete-block-merge-contents-007-expected.txt:
        * platform/ios/editing/deleting/delete-block-merge-contents-008-expected.txt:
        * platform/ios/editing/deleting/delete-block-merge-contents-023-expected.txt:
        * platform/ios/editing/deleting/delete-block-merge-contents-024-expected.txt:
        * platform/ios/editing/deleting/delete-br-002-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-to-select-table-expected.txt.
        * platform/ios/editing/deleting/delete-br-004-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-to-select-table-expected.txt.
        * platform/ios/editing/deleting/delete-br-005-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-to-select-table-expected.txt.
        * platform/ios/editing/deleting/delete-br-006-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-to-select-table-expected.txt.
        * platform/ios/editing/deleting/delete-br-008-expected.txt:
        * platform/ios/editing/deleting/delete-br-009-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-br-008-expected.txt.
        * platform/ios/editing/deleting/delete-br-010-expected.txt:
        * platform/ios/editing/deleting/delete-image-004-expected.txt: Added.
        * platform/ios/editing/deleting/delete-leading-ws-001-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-br-010-expected.txt.
        * platform/ios/editing/deleting/delete-line-011-expected.txt: Copied from LayoutTests/platform/ios/editing/deleting/delete-to-select-table-expected.txt.
        * platform/ios/editing/deleting/delete-line-015-expected.txt:
        * platform/ios/editing/deleting/delete-line-016-expected.txt:
        * platform/ios/editing/deleting/delete-line-017-expected.txt:
        * platform/ios/editing/deleting/delete-line-end-ws-001-expected.txt: Added.
        * platform/ios/editing/deleting/delete-line-end-ws-002-expected.txt: Added.
        * platform/ios/editing/deleting/delete-tab-001-expected.txt: Added.
        * platform/ios/editing/deleting/delete-tab-004-expected.txt: Added.
        * platform/ios/editing/deleting/delete-to-select-table-expected.txt:
        * platform/ios/editing/deleting/merge-no-br-expected.txt:
        * platform/ios/editing/deleting/table-cells-expected.txt:

2017-11-09  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html as a flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=169876

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-11-09  Ryan Haddad  <ryanhaddad@apple.com>

        Skip slow encoding WPT LayoutTests.

        Unreviewed test gardening.

        * TestExpectations:

2017-11-09  Doug Russell  <d_russell@apple.com>

        Bug 179068 - AX: search predicate returns containing group for plain text instead of text element
        https://bugs.webkit.org/show_bug.cgi?id=179068

        Reviewed by Darin Adler

        Implement a check in AccessibilityRenderObject::hasPlainText(), AccessibilityObject::canHavePlainText(), to confirm the element is capable of providing text.

        * accessibility/mac/search-predicate-expected.txt:
        * accessibility/mac/search-predicate-plaintext-expected.txt: Added.
        * accessibility/mac/search-predicate-plaintext.html: Added.
        * accessibility/mac/search-predicate-visible-button-expected.txt: Added.
        * accessibility/mac/search-predicate-visible-button.html: Added.
        * accessibility/mac/search-predicate-visited-links-expected.txt: Added.
        * accessibility/mac/search-predicate-visited-links.html: Added.
        * accessibility/mac/search-predicate.html:
        * platform/mac-wk2/TestExpectations:

2017-11-09  Wenson Hsieh  <wenson_hsieh@apple.com>

        Inserting an image, selecting, underlining, and then deleting leaves the typing style with both "-webkit-text-decorations-in-effect" and "text-decoration"
        https://bugs.webkit.org/show_bug.cgi?id=179431

        Reviewed by Ryosuke Niwa.

        Adds a new layout test to fix a debug assertion. See WebCore/ChangeLog for more details. Additionally
        rebaselines a few existing tests that serialize markup strings to include `text-decoration: none;`.

        * editing/execCommand/underline-selection-containing-image-expected.txt: Added.
        * editing/execCommand/underline-selection-containing-image.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-rich-text-expected.txt:
        * fast/events/before-input-events-prevent-drag-and-drop-expected.txt:
        * fast/events/input-events-paste-rich-datatransfer-expected.txt:
        * fast/events/ondrop-text-html-expected.txt:

2017-11-09  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: support undo/redo of insertAdjacentHTML
        https://bugs.webkit.org/show_bug.cgi?id=179283

        Reviewed by Joseph Pecoraro.

        * inspector/dom/insertAdjacentHTML-expected.txt: Added.
        * inspector/dom/insertAdjacentHTML.html: Added.

2017-11-09  Maciej Stachowiak  <mjs@apple.com>

        Remove support for iOS-only softbank-sjis encoding if possible
        https://bugs.webkit.org/show_bug.cgi?id=179416

        Reviewed by Darin Adler.

        * fast/encoding/charset-softbank-sjis.html: Added. Test that <meta charset>
        declaration for softbank-sjis is ignored.
        * fast/encoding/charset-softbank-sjis-expected.txt: Added.
        * fast/encoding/resources/softbank-sjis-iframe.html: Added. Helper for above test.
        * fast/encoding/legacy-ios-encodings.html: Add a case for softbank-sjis.
        * fast/encoding/legacy-ios-encodings-expected.txt: Result for above.

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

        [GTK] Gardening 09 nov
        https://bugs.webkit.org/show_bug.cgi?id=179472

        Unreviewed GTK gardening

        * platform/gtk/TestExpectations:

2017-11-09  Alicia Boya García  <aboya@igalia.com>

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=179447

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations:

2017-11-08  Simon Fraser  <simon.fraser@apple.com>

        Content not painted when scrolling an overflow node inside an iframe
        https://bugs.webkit.org/show_bug.cgi?id=179315
        rdar://problem/35364166

        Reviewed by Tim Horton.

        * compositing/ios/overflow-scroll-update-overlap-expected.html: Added.
        * compositing/ios/overflow-scroll-update-overlap.html: Added.

2017-11-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179452

        Unreviewed test gardening.

        * TestExpectations:

2017-11-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/workers/service/registration-task-queue-scheduling-1.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179342

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-11-08  Brent Fulgham  <bfulgham@apple.com>

        XMLHttpRequest should not treat file URLs as same origin
        https://bugs.webkit.org/show_bug.cgi?id=178565
        <rdar://problem/11115901>

        Reviewed by Daniel Bates.

        * security/cannot-read-self-from-file-expected.txt: Added.
        * security/cannot-read-self-from-file.html: Added.
        * security/resources/cannot-read-self-from-file.html: Added.

2017-11-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Show Internal properties of PaymentRequest in Web Inspector Console
        https://bugs.webkit.org/show_bug.cgi?id=179276

        Reviewed by Andy Estes.

        * TestExpectations:
        * platform/mac-wk2/TestExpectations:
        Pass test on platforms that support Payment Requests.

        * http/tests/inspector/paymentrequest/payment-request-internal-properties.https-expected.txt: Added.
        * http/tests/inspector/paymentrequest/payment-request-internal-properties.https.html: Added.
        Test for internal properties on PaymentRequest instances.

        * resources/ui-helper.js:
        (window.UIHelper.withUserGesture):
        Provide an easier way to simulate work inside of a user gesture.

2017-11-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark many service worker tests as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=179454

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-11-08  Colin Bendell  <colin@bendell.ca>

        Add tests to ensure that <source> tags are only preloaded when the `type`
        attribute matches.
        https://bugs.webkit.org/show_bug.cgi?id=179231

        Reviewed by Alex Christensen.

        The actual execution of the test is a bit racy because of the need to refresh
        the browser to change the DPR. Should also move the other testHad to move the tests to /preload (instead of tests/loading with the other
        picture tests) to avoid the logging from

        * http/tests/preload/picture-type-expected.txt: Added.
        * http/tests/preload/picture-type.html: Added.

2017-11-08  Maciej Stachowiak  <mjs@apple.com>

        iOS supports some text encodings supposedly due to lack of TEC that aren't supported by the TEC decoder on macOS
        https://bugs.webkit.org/show_bug.cgi?id=179309

        Reviewed by Darin Adler.

        * fast/encoding/legacy-ios-encodings-expected.txt: Added.
        * fast/encoding/legacy-ios-encodings.html: Added. Check that we don't support some old iOS-only encoding names
        and check for some nonstandard encoding names that we do support (for now).

2017-11-08  Maciej Stachowiak  <mjs@apple.com>

        Switch encoding WPT test suite to updating via import-w3c-tests
        https://bugs.webkit.org/show_bug.cgi?id=179412

        Reviewed by Youenn Fablet.

        * TestExpectations: Remove mention of slow encoding tests here...
        * tests-options.json: ...because they are now recorded here.

2017-11-08  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Support waitUntil() on the 'install' event
        https://bugs.webkit.org/show_bug.cgi?id=179396

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/workers/service/basic-install-event-waitUntil-multiple-promises-expected.txt: Added.
        * http/tests/workers/service/basic-install-event-waitUntil-multiple-promises.html: Added.
        * http/tests/workers/service/basic-install-event-waitUntil-reject-expected.txt: Added.
        * http/tests/workers/service/basic-install-event-waitUntil-reject.html: Added.
        * http/tests/workers/service/basic-install-event-waitUntil-resolve-expected.txt: Added.
        * http/tests/workers/service/basic-install-event-waitUntil-resolve.html: Added.
        * http/tests/workers/service/resources/basic-install-event-waitUntil-multiple-promises-worker.js: Added.
        (event.i.event.waitUntil.new.Promise):
        * http/tests/workers/service/resources/basic-install-event-waitUntil-reject-worker.js: Added.
        (event.event.waitUntil.new.Promise):
        * http/tests/workers/service/resources/basic-install-event-waitUntil-resolve-worker.js: Added.
        (event.event.waitUntil.new.Promise):
        * http/wpt/service-workers/extendableEvent.https-expected.txt:
        * http/wpt/service-workers/extendableEvent.https.html:

2017-11-08  David Hyatt  <hyatt@apple.com>

        [Experiment] Implement code to detect high frequency painting
        https://bugs.webkit.org/show_bug.cgi?id=179118

        Reviewed by Simon Fraser.

        * fast/block/block-move-frequent-paint-expected.txt: Added.
        * fast/block/block-move-frequent-paint.html: Added.

2017-11-08  Ms2ger  <Ms2ger@igalia.com>

        Update XMLHttpRequest tests.
        https://bugs.webkit.org/show_bug.cgi?id=179421

        Reviewed by Sam Weinig.

        * TestExpectations: removed flaky expectation: the test was fixed upstream.

2017-11-07  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for slow  WPT encoding LayoutTests.

        Unreviewed test gardening.

        Mark some of the tests as slow on Debug and skip those that time out even though they are already marked as slow.

        * TestExpectations:

2017-11-07  Antoine Quint  <graouts@apple.com>

        <video> does not respect pointer-events
        https://bugs.webkit.org/show_bug.cgi?id=179378
        <rdar://problem/34687668>

        Reviewed by Simon Fraser.

        Add a new test that checks that settings "pointer-events: none" on the <video> element
        correctly reflects that same value on the media controls shadow root container.

        * media/modern-media-controls/css/pointer-events-none-expected.txt: Added.
        * media/modern-media-controls/css/pointer-events-none.html: Added.
        * platform/ios/TestExpectations:

2017-11-07  Chris Dumez  <cdumez@apple.com>

        [Service Workers] Add support for "install" event
        https://bugs.webkit.org/show_bug.cgi?id=179338

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/basic-install-event-expected.txt: Added.
        * http/tests/workers/service/basic-install-event.html: Added.
        * http/tests/workers/service/resources/basic-install-event-worker.js: Added.
        * http/tests/workers/service/resources/sw-test-pre.js:
        (waitForState):

2017-11-07  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r224498.

        The LayoutTest for this change is flaky and affecting EWS
        results.

        Reverted changeset:

        "Add tests to ensure that <source> tags are only preloaded
        when the `type`"
        https://bugs.webkit.org/show_bug.cgi?id=179231
        https://trac.webkit.org/changeset/224498

2017-11-07  Chris Dumez  <cdumez@apple.com>

        LayoutTest http/tests/security/cross-frame-access-put.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=179195

        Reviewed by Ryosuke Niwa.

        Fix flaky test by calling the testRunner functions as early as possible, not in
        the onload event handler.

        * http/tests/security/cross-frame-access-put.html:

2017-11-07  Maciej Stachowiak  <mjs@apple.com>

        Update WPT encoding test suite to the latest version.
        https://bugs.webkit.org/show_bug.cgi?id=179312

        Reviewed by Youenn Fablet.

        * TestExpectations: Mark some WPT enncoding tests as slow (either
        globally or on debug builds) based on what times out in EWS.

2017-11-07  Antti Koivisto  <antti@apple.com>

        Dynamic media queries don't update in shadow tree stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=179324

        Reviewed by Ryosuke Niwa.

        * fast/shadow-dom/media-query-in-shadow-style-expected.html: Added.
        * fast/shadow-dom/media-query-in-shadow-style.html: Added.
        * fast/shadow-dom/resources/media-query-in-shadow-style-frame.html: Added.

2017-11-07  Youenn Fablet  <youenn@apple.com>

        Support the case of fetch events that are not responded
        https://bugs.webkit.org/show_bug.cgi?id=179336

        Reviewed by Chris Dumez.

        * http/tests/workers/service/basic-fetch.https-expected.txt:
        * http/tests/workers/service/resources/basic-fetch-worker.js:
        (event.event.request.url.indexOf):
        * http/tests/workers/service/resources/basic-fetch.js:
        (async.test):

2017-11-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * platform/gtk/TestExpectations:

2017-11-06  Joseph Pecoraro  <pecoraro@apple.com>

        Uncaught Exception: TypeError: null is not an object (evaluating 'mimeType.endsWith')
        https://bugs.webkit.org/show_bug.cgi?id=179325
        <rdar://problem/35366896>

        Reviewed by Brian Burg.

        * inspector/unit-tests/mimetype-utilities-expected.txt:
        * inspector/unit-tests/mimetype-utilities.html:
        Add tests for null cases.

2017-11-06  Colin Bendell  <colin@bendell.ca>

        Add tests to ensure that <source> tags are only preloaded when the `type`
        attribute matches.
        https://bugs.webkit.org/show_bug.cgi?id=179231

        Reviewed by Alex Christensen.

        * http/tests/loading/preload-picture-type-expected.txt: Added.
        * http/tests/loading/preload-picture-type.html: Added.

2017-11-05  Antoine Quint  <graouts@apple.com>

        [Web Animations] Schedule animations registered on the document timeline
        https://bugs.webkit.org/show_bug.cgi?id=179236
        <rdar://problem/35332669>

        Reviewed by Dean Jackson.

        Adopt the new internals.pauseTimeline() method to ensure that the existing
        tests do not have a self-advancing timeline since we're interested in checking
        the timing model state based on manually setting the timeline current time.

        Also update some WPT expectations with some progressions.

        * TestExpectations: Mark two tests as flaky due to the sample time being logged
        in the failure.
        * http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt:
        * http/wpt/web-animations/timing-model/animations/current-time-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt:
        * http/wpt/wk-web-animations/timing-model/animation-creation-basic.html:
        * http/wpt/wk-web-animations/timing-model/animation-current-time.html:
        * http/wpt/wk-web-animations/timing-model/animation-effect-timing.html:
        * http/wpt/wk-web-animations/timing-model/animation-effect.html:
        * http/wpt/wk-web-animations/timing-model/animation-interface-effect-property.html:
        * http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property.html:
        * http/wpt/wk-web-animations/timing-model/animation-playback-rate.html:
        * http/wpt/wk-web-animations/timing-model/document-timeline.html:
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html:
        * http/wpt/wk-web-animations/timing-model/keyframe-effect.html:
        * http/wpt/wk-web-animations/timing-model/timeline-current-time.html:

2017-11-05  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/security/xss-DENIED-xsl-external-entity.xml as a flaky failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179301

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-05  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/html/menuitem-element.html as failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179299

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-05  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/loader/empty-embed-src-attribute.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179297

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-05  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/css/object-fit/object-fit-embed.html and related tests as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179296

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-04  Chris Dumez  <cdumez@apple.com>

        Index properties on cross origin Window objects should be enumerable
        https://bugs.webkit.org/show_bug.cgi?id=179289

        Reviewed by Darin Adler.

        Update / rebaseline existing test to match new expected behavior.

        * js/dom/getOwnPropertyDescriptor-expected.txt:
        * js/resources/getOwnPropertyDescriptor.js:

2017-11-04  Aishwarya Nirmal  <anirmal@apple.com>

        [Touch Bar Web API] Add support for menuitem tag
        https://bugs.webkit.org/show_bug.cgi?id=179020

        Reviewed by Ryosuke Niwa.

        This test ensures that the menuitem element is recognized when
        its runtime feature is turned on.

        * fast/html/menuitem-element-expected.txt: Added.
        * fast/html/menuitem-element.html: Added.

2017-11-03  Youenn Fablet  <youenn@apple.com>

        Implement ServiceWorkerContainer.getRegistration
        https://bugs.webkit.org/show_bug.cgi?id=179253

        Reviewed by Chris Dumez.

        * TestExpectations:
        * http/tests/workers/service/resources/service-worker-getRegistration-worker.js: Added.
        * http/tests/workers/service/resources/service-worker-getRegistration.js: Added.
        * http/tests/workers/service/service-worker-getRegistration-expected.txt: Added.
        * http/tests/workers/service/service-worker-getRegistration.html: Added.

2017-11-03  Youenn Fablet  <youenn@apple.com>

        Requests handled by Service Worker should not go through preflighting
        https://bugs.webkit.org/show_bug.cgi?id=179250

        Reviewed by Alex Christensen.

        * http/tests/workers/service/resources/service-worker-crossorigin-fetch-worker.js: Added.
        (event.event.request.url.indexOf):
        (event.event.request.url.endsWith):
        * http/tests/workers/service/resources/service-worker-crossorigin-fetch.js: Added.
        (done):
        (async.logStatus):
        (async.test):
        * http/tests/workers/service/service-worker-crossorigin-fetch-expected.txt: Added.
        * http/tests/workers/service/service-worker-crossorigin-fetch.html: Added.

2017-11-03  Alex Christensen  <achristensen@webkit.org>

        LayoutTest http/tests/loading/basic-auth-resend-wrong-credentials.html is flaky on WK2
        https://bugs.webkit.org/show_bug.cgi?id=159884

        Reviewed by Darin Adler.

        * http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
        * http/tests/loading/basic-auth-resend-wrong-credentials.html:
        * platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:

2017-11-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/security/mixedContent/insecure-css-with-secure-cookies.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175998

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-11-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179248

        Unreviewed test gardening.

        * TestExpectations:

2017-11-03  Alex Christensen  <achristensen@webkit.org>

        Remove Yosemite test expectations
        https://bugs.webkit.org/show_bug.cgi?id=179143

        Reviewed by Ryosuke Niwa.

        We only test back to El Capitan.  Everything is Yosemite+.  Marking tests as failing only on Yosemite isn't useful any more.

        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-11-03  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Mark a few failures, posting along the relevant
        bug entries. Add a platform-specific baseline for one HTTP test.

        * platform/gtk/TestExpectations:
        * platform/gtk/http/tests/security/module-no-mime-type-expected.txt: Added.

2017-11-03  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update test expectations after r224324.

        Unreviewed test gardening.

        * platform/win/css3/selectors3/html/css3-modsel-166-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-166a-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-39-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-39b-expected.txt:
        * platform/win/fast/css/first-letter-float-after-float-expected.txt:

2017-11-03  Matt Lewis  <jlewis3@apple.com>

        Marked js/intl-datetimeformat.html as failing on High Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=179208

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-11-03  Youenn Fablet  <youenn@apple.com>

        Implement Service Worker Matching Registration algorithm
        https://bugs.webkit.org/show_bug.cgi?id=178882

        Reviewed by Chris Dumez.

        * TestExpectations:
        * http/tests/workers/service/basic-register-exceptions-expected.txt:
        * http/tests/workers/service/resources/basic-register.js: Fixing flakiness.
        * http/tests/workers/service/service-worker-clear-expected.txt: Added.
        * http/tests/workers/service/service-worker-clear.html: Added.

2017-11-02  Dean Jackson  <dino@apple.com>

        Add basic OffscreenCanvas interface
        https://bugs.webkit.org/show_bug.cgi?id=179213
        <rdar://problem/35326778>

        Reviewed by Sam Weinig.

        Very basic test that exercises object construction.

        * http/wpt/offscreen-canvas/offscreencanvas.constructor-expected.txt: Added.
        * http/wpt/offscreen-canvas/offscreencanvas.constructor.html: Added.

2017-11-03  Ryosuke Niwa  <rniwa@webkit.org>

        Crash inside ChildListMutationAccumulator::enqueueMutationRecord()
        https://bugs.webkit.org/show_bug.cgi?id=179234
        <rdar://problem/35287748>

        Reviewed by Darin Adler.

        Added a regression test.

        * fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt: Added.
        * fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html: Added.

2017-11-02  Andy Estes  <aestes@apple.com>

        [Payment Request] show() should only be called with user activation
        https://bugs.webkit.org/show_bug.cgi?id=179056

        Reviewed by Sam Weinig.

        * http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html:
        * http/tests/paymentrequest/payment-request-canmakepayment-method.https.html:
        * http/tests/paymentrequest/payment-request-change-shipping-address.https.html:
        * http/tests/paymentrequest/payment-request-change-shipping-option.https.html:
        * http/tests/paymentrequest/payment-request-show-method.https.html:
        * http/tests/paymentrequest/payment-response-complete-method.https.html:
        * http/tests/paymentrequest/payment-response-methodName-attribute.https.html:
        * http/tests/paymentrequest/payment-response-payerEmail-attribute.https.html:
        * http/tests/paymentrequest/payment-response-payerName-attribute.https.html:
        * http/tests/paymentrequest/payment-response-payerPhone-attribute.https.html:
        * http/tests/paymentrequest/resources/helpers.js:
        (async.getPaymentRequestResponse):
        * http/tests/paymentrequest/updateWith-method-pmi-handling.https.html:
        * http/tests/resources/payment-request.js: Added.
        (activateThen):
        * http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https.html:
        * http/tests/ssl/applepay/ApplePayPaymentMethodUpdateEvent.https.html:
        * http/tests/ssl/applepay/PaymentRequest.https.html:
        * resources/ui-helper.js:
        (window.UIHelper.activateElement):

2017-11-03  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Update Event-timestamp-high-resolution.html expectations.
        https://bugs.webkit.org/show_bug.cgi?id=179242

        Reviewed by Darin Adler.

        The test now deals more gracefully with the fact that GamepadEvent is
        not defined.

        * platform/wpe/imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt:

2017-11-03  Daniel Bates  <dabates@apple.com>

        Invalidate node list when associated form control element is removed
        https://bugs.webkit.org/show_bug.cgi?id=179232
        <rdar://problem/35308269>

        Reviewed by Ryosuke Niwa.

        Add a test to ensure the node list returned by HTMLFormElement.elements stays synchronized
        with the document.

        * fast/forms/node-list-remove-button-from-form-expected.txt: Added.
        * fast/forms/node-list-remove-button-from-form.html: Added.

2017-11-03  Antti Koivisto  <antti@apple.com>

        Crash in WebCore::RenderStyle::overflowX with display:contents
        https://bugs.webkit.org/show_bug.cgi?id=178857
        <rdar://problem/35201120>

        Reviewed by Zalan Bujtas.

        * fast/css/display-contents-all-expected.html: Added.
        * fast/css/display-contents-all.html: Added.
        * fast/css/display-contents-document-element-expected.txt: Added.
        * fast/css/display-contents-document-element.html: Added.

2017-11-03  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable the dom/ directory of web-platform-tests.
        https://bugs.webkit.org/show_bug.cgi?id=179180

        Reviewed by Carlos Alberto Lopez Perez.

        * platform/wpe/TestExpectations: Enable tests; copy expected timeout from generic expectation file.
        * platform/wpe/imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt:
          Added; GamepadEvent is not enabled. (The fragility of the test is fixed upstream.)
        * platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
          Added; more subtests pass than in the generic expectation file.
        * platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
          Added; more subtests pass than in the generic expectation file.

2017-11-03  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Rebaselining tests affected by r224324.

        * platform/wpe/css1/pseudo/firstletter-expected.txt:
        * platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/wpe/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
        * platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-166-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-166a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-39-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-39b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-166-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-166a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-39-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-39b-expected.txt:
        * platform/wpe/fast/dynamic/first-letter-display-change-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
        * platform/wpe/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
        * platform/wpe/svg/custom/glyph-selection-arabic-forms-expected.txt:
        * platform/wpe/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.txt:
        * platform/wpe/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.txt:
        * platform/wpe/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.txt:
        * platform/wpe/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.txt:

2017-11-03  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Canvas2D Profiling: highlight expensive context commands in the captured command log
        https://bugs.webkit.org/show_bug.cgi?id=178302
        <rdar://problem/33158849>

        Reviewed by Brian Burg.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-webgl-expected.txt:
        * inspector/canvas/recording-webgl-snapshots-expected.txt:
        * inspector/canvas/resources/recording-utilities.js:
        (TestPage.registerInitializer):
        * inspector/model/recording-expected.txt:
        * inspector/model/recording.html:

2017-11-02  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Canvas Tab: show supported GL extensions for selected canvas
        https://bugs.webkit.org/show_bug.cgi?id=179070
        <rdar://problem/35278276>

        Reviewed by Brian Burg.

        * inspector/canvas/extensions-expected.txt: Added.
        * inspector/canvas/extensions.html: Added.

2017-11-02  Youenn Fablet  <youenn@apple.com>

        Do not check for CORS in case response is coming from a service worker
        https://bugs.webkit.org/show_bug.cgi?id=179177

        Reviewed by Chris Dumez.

        * http/tests/workers/service/cors-image-fetch-expected.txt: Added.
        * http/tests/workers/service/cors-image-fetch.html: Added.
        * http/tests/workers/service/resources/cors-image-fetch-worker.js: Added.
        * http/tests/workers/service/resources/cors-image-fetch.js: Added.
        * http/tests/workers/service/resources/tainted-image-fetch.js: Added.
        * http/tests/workers/service/tainted-image-fetch-expected.txt: Added.
        * http/tests/workers/service/tainted-image-fetch.html: Added.

2017-11-02  Ryan Haddad  <ryanhaddad@apple.com>

        Skip editing/selection/move-by-word-visually-multi-space.html on iOS debug bots.
        https://bugs.webkit.org/show_bug.cgi?id=179201

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-11-02  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179193

        Unreviewed test gardening.

        * TestExpectations:

2017-11-02  Antti Koivisto  <antti@apple.com>

        display:contents should work with dynamic table mutations
        https://bugs.webkit.org/show_bug.cgi?id=179179

        Reviewed by Ryosuke Niwa.

        * TestExpectations:

        These now pass:

        imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none.html
        imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none.html

2017-11-02  Joseph Pecoraro  <pecoraro@apple.com>

        Inspector should display service worker served responses properly
        https://bugs.webkit.org/show_bug.cgi?id=178597
        <rdar://problem/35186111>

        Reviewed by Brian Burg.

        * LayoutTests/platform/gtk/TestExpectations:
        * LayoutTests/platform/mac-wk1/TestExpectations:
        * LayoutTests/platform/win/TestExpectations:
        * LayoutTests/platform/wpe/TestExpectations:
        Skip Inspector service worker tests on platforms where Service Workers
        are not yet supported. For now this is just one test, future tests
        specific to Service Workers will go into a directory.

        * http/tests/inspector/network/resource-response-service-worker-expected.txt: Added.
        * http/tests/inspector/network/resource-response-service-worker.html: Added.
        * http/tests/inspector/network/resources/fetch-service-worker.js: Added.
        Test for service worker initiated loads.

2017-11-02  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/preload/viewport/meta-viewport-link-headers.php as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=178029

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-11-02  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two service worker tests as flaky.

        Unreviewed test gardening.

        * TestExpectations:

2017-11-02  Youenn Fablet  <youenn@apple.com>

        Service Worker fetch should transmit headers to its client
        https://bugs.webkit.org/show_bug.cgi?id=179156

        Reviewed by Chris Dumez.

        * http/tests/workers/service/basic-fetch.https-expected.txt:
        * http/tests/workers/service/resources/basic-fetch-worker.js:
        Adding header specific subtest.
        * http/tests/workers/service/resources/image-fetch-worker.js:
        Updating test so that image does not go in the memory cache.
        Otherwise test is flaky when run multiple times on the same runner.

2017-11-02  Youenn Fablet  <youenn@apple.com>

        Fix WPT service worker tests using www1 URLs
        https://bugs.webkit.org/show_bug.cgi?id=179144

        Reviewed by Sam Weinig.

        * TestExpectations:

2017-11-02  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update test expectations after r224324.

        Unreviewed test gardening.

        * platform/win/css1/pseudo/firstletter-expected.txt:
        * platform/win/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/win/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
        * platform/win/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-166-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-166a-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-39-expected.txt:
        * platform/win/css3/selectors3/html/css3-modsel-39b-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
        * platform/win/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-166-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-166a-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-39-expected.txt:
        * platform/win/css3/selectors3/xml/css3-modsel-39b-expected.txt:
        * platform/win/fast/block/lineboxcontain/glyphs-expected.txt:
        * platform/win/fast/box-shadow/basic-shadows-expected.txt:
        * platform/win/fast/css-generated-content/003-expected.txt:
        * platform/win/fast/css-generated-content/007-expected.txt:
        * platform/win/fast/css-generated-content/009-expected.txt:
        * platform/win/fast/css-generated-content/012-expected.txt:
        * platform/win/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
        * platform/win/fast/css/first-letter-capitalized-expected.txt:
        * platform/win/fast/css/first-letter-detach-expected.txt:
        * platform/win/fast/css/first-letter-first-line-hover-expected.txt:
        * platform/win/fast/css/first-letter-float-expected.txt:
        * platform/win/fast/css/first-letter-hover-expected.txt:
        * platform/win/fast/css/first-letter-punctuation-expected.txt:
        * platform/win/fast/css/first-letter-recalculation-expected.txt:
        * platform/win/fast/css/first-letter-visibility-expected.txt:
        * platform/win/fast/multicol/shadow-breaking-expected.txt:
        * platform/win/fast/ruby/rubyDOM-remove-rt1-expected.txt:
        * platform/win/fast/selectors/039-expected.txt:
        * platform/win/fast/selectors/039b-expected.txt:
        * platform/win/fast/selectors/166a-expected.txt:
        * platform/win/fast/text/firstline/002-expected.txt:
        * platform/win/fast/text/firstline/003-expected.txt:
        * platform/win/ietestcenter/css3/text/textshadow-004-expected.txt:

2017-11-02  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Adjusting test expectations and rebaseline some
        tests after r224328.

        * platform/gtk/TestExpectations:
        * platform/gtk/css1/pseudo/firstletter-expected.png:
        * platform/gtk/css1/pseudo/firstletter-expected.txt:
        * platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.png:
        * platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
        * platform/gtk/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-166-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-166-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-39-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-39-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.txt:
        * platform/gtk/editing/selection/extend-by-word-002-expected.png:
        * platform/gtk/editing/selection/extend-by-word-002-expected.txt:
        * platform/gtk/fast/block/lineboxcontain/glyphs-expected.png:
        * platform/gtk/fast/block/lineboxcontain/glyphs-expected.txt:
        * platform/gtk/fast/box-shadow/basic-shadows-expected.png:
        * platform/gtk/fast/box-shadow/basic-shadows-expected.txt:
        * platform/gtk/fast/css-generated-content/003-expected.png:
        * platform/gtk/fast/css-generated-content/003-expected.txt:
        * platform/gtk/fast/css-generated-content/007-expected.png:
        * platform/gtk/fast/css-generated-content/007-expected.txt:
        * platform/gtk/fast/css-generated-content/009-expected.png:
        * platform/gtk/fast/css-generated-content/009-expected.txt:
        * platform/gtk/fast/css-generated-content/012-expected.png:
        * platform/gtk/fast/css-generated-content/012-expected.txt:
        * platform/gtk/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-basic-expected.png: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt:
        * platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt:
        * platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.png: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt:
        * platform/gtk/fast/css-generated-content/initial-letter-descender-expected.png: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt:
        * platform/gtk/fast/css-generated-content/initial-letter-raised-expected.png: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt:
        * platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
        * platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt:
        * platform/gtk/fast/css/first-letter-capitalized-expected.png:
        * platform/gtk/fast/css/first-letter-capitalized-expected.txt:
        * platform/gtk/fast/css/first-letter-detach-expected.png:
        * platform/gtk/fast/css/first-letter-detach-expected.txt:
        * platform/gtk/fast/css/first-letter-first-line-hover-expected.png:
        * platform/gtk/fast/css/first-letter-first-line-hover-expected.txt:
        * platform/gtk/fast/css/first-letter-float-after-float-expected.png:
        * platform/gtk/fast/css/first-letter-float-after-float-expected.txt:
        * platform/gtk/fast/css/first-letter-float-expected.png:
        * platform/gtk/fast/css/first-letter-float-expected.txt:
        * platform/gtk/fast/css/first-letter-hover-expected.png:
        * platform/gtk/fast/css/first-letter-hover-expected.txt:
        * platform/gtk/fast/css/first-letter-punctuation-expected.png:
        * platform/gtk/fast/css/first-letter-punctuation-expected.txt:
        * platform/gtk/fast/css/first-letter-recalculation-expected.png:
        * platform/gtk/fast/css/first-letter-recalculation-expected.txt:
        * platform/gtk/fast/css/first-letter-visibility-expected.png:
        * platform/gtk/fast/css/first-letter-visibility-expected.txt:
        * platform/gtk/fast/dynamic/first-letter-display-change-expected.txt:
        * platform/gtk/fast/multicol/shadow-breaking-expected.png:
        * platform/gtk/fast/multicol/shadow-breaking-expected.txt:
        * platform/gtk/fast/selectors/039-expected.png:
        * platform/gtk/fast/selectors/039-expected.txt:
        * platform/gtk/fast/selectors/039b-expected.png:
        * platform/gtk/fast/selectors/039b-expected.txt:
        * platform/gtk/fast/selectors/166a-expected.png:
        * platform/gtk/fast/selectors/166a-expected.txt:
        * platform/gtk/fast/text/firstline/002-expected.png:
        * platform/gtk/fast/text/firstline/002-expected.txt:
        * platform/gtk/fast/text/firstline/003-expected.png:
        * platform/gtk/fast/text/firstline/003-expected.txt:
        * platform/gtk/ietestcenter/css3/text/textshadow-004-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
        * platform/gtk/svg/batik/text/smallFonts-expected.txt:

2017-11-02  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=177322

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-11-02  Ms2ger  <Ms2ger@igalia.com>

        Mark some ietestcenter tests as failing on all platforms.
        https://bugs.webkit.org/show_bug.cgi?id=179166

        Unreviewed test gardening.

        This makes it a little easier to figure out which failure expectations
        are actually platform-specific.

        These tests might not be correct; I haven't tried to figure that out.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

2017-11-02  Antti Koivisto  <antti@apple.com>

        Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
        https://bugs.webkit.org/show_bug.cgi?id=179014

        Reviewed by Geoff Garen.

        * fast/ruby/float-overhang-from-ruby-text-expected.txt:
        * platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:

2017-11-02  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=179164

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: update for failing tests reported in bug 179113.
        * platform/gtk/editing/deleting/delete-br-009-expected.txt: Rebaseline for r224177.
        * platform/gtk/fast/css-generated-content/details-summary-before-after-expected.txt: Rebaseline for r223848.
        * platform/gtk/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt:
          Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.
        * platform/gtk/http/tests/security/module-no-mime-type-expected.txt:
          Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.

2017-11-02  Antti Koivisto  <antti@apple.com>

        First letter renderer should be anonymous
        https://bugs.webkit.org/show_bug.cgi?id=179114

        Reviewed by Darin Adler.

        * fast/dynamic/first-letter-after-list-marker-expected.txt:
        * platform/mac/css1/pseudo/firstletter-expected.txt:
        * platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/mac/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
        * platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-166-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-166a-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-39-expected.txt:
        * platform/mac/css3/selectors3/html/css3-modsel-39b-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
        * platform/mac/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-166-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-166a-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-39-expected.txt:
        * platform/mac/css3/selectors3/xml/css3-modsel-39b-expected.txt:
        * platform/mac/editing/selection/extend-by-word-002-expected.txt:
        * platform/mac/fast/block/lineboxcontain/glyphs-expected.txt:
        * platform/mac/fast/box-shadow/basic-shadows-expected.txt:
        * platform/mac/fast/css-generated-content/003-expected.txt:
        * platform/mac/fast/css-generated-content/007-expected.txt:
        * platform/mac/fast/css-generated-content/009-expected.txt:
        * platform/mac/fast/css-generated-content/012-expected.txt:
        * platform/mac/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
        * platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt:
        * platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt:
        * platform/mac/fast/css-generated-content/initial-letter-clearance-expected.txt:
        * platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt:
        * platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt:
        * platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt:
        * platform/mac/fast/css/first-letter-capitalized-expected.txt:
        * platform/mac/fast/css/first-letter-detach-expected.txt:
        * platform/mac/fast/css/first-letter-first-line-hover-expected.txt:
        * platform/mac/fast/css/first-letter-float-after-float-expected.txt:
        * platform/mac/fast/css/first-letter-float-expected.txt:
        * platform/mac/fast/css/first-letter-hover-expected.txt:
        * platform/mac/fast/css/first-letter-punctuation-expected.txt:
        * platform/mac/fast/css/first-letter-recalculation-expected.txt:
        * platform/mac/fast/css/first-letter-visibility-expected.txt:
        * platform/mac/fast/dynamic/first-letter-display-change-expected.txt:
        * platform/mac/fast/multicol/shadow-breaking-expected.txt:
        * platform/mac/fast/selectors/039-expected.txt:
        * platform/mac/fast/selectors/039b-expected.txt:
        * platform/mac/fast/selectors/166a-expected.txt:
        * platform/mac/fast/text/firstline/002-expected.txt:
        * platform/mac/fast/text/firstline/003-expected.txt:

2017-11-01  Alex Christensen  <achristensen@webkit.org>

        Mark media loading tests as only flaky on Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=178272

        * platform/mac-wk1/TestExpectations:
        In r224267 I marked a bunch of tests as flaky on WebKit1.
        They are media-related tests, and they are only failing on Sierra WK1,
        so mark them as such so we will notice regressions in new operating systems.

2017-11-01  Daniel Bates  <dabates@apple.com>

        XMLHttpRequest should not sniff content encoding
        https://bugs.webkit.org/show_bug.cgi?id=175597
        <rdar://problem/34912624>

        Reviewed by Alex Christensen.

        Fix up the test http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html to
        actually check that we do not sniff content encoding. CFNetwork only sniffs the URL
        for the content encoding when the filename ends with known file extension (e.g. .gz)
        and the HTTP response does not specifying a Content-Encoding HTTP header.

        * TestExpectations: Skip the test on all platforms. Once <rdar://problem/33822249> ships
        then we will enable the test on all platforms that use CFNetwork.
        * http/tests/xmlhttprequest/gzip-content-type-no-content-encoding-expected.txt:
        * http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html:
        * http/tests/xmlhttprequest/resources/.htaccess: Interpret files with .php.gz extension as PHP files.
        * http/tests/xmlhttprequest/resources/gzip-lorem-no-content-encoding.php.gz: Renamed from LayoutTests/http/tests/xmlhttprequest/resources/gzip-lorem-no-content-encoding.php.
        * platform/mac/TestExpectations: Mark the test as flaky (Pass Failure) until <rdar://problem/33822249> ships.

2017-11-01  Chris Dumez  <cdumez@apple.com>

        Mark a couple of service worker tests as flaky.

        * TestExpectations:

2017-11-01  Chris Dumez  <cdumez@apple.com>

        Regression(r219659): Can no longer log into ifttt.com using Google account
        https://bugs.webkit.org/show_bug.cgi?id=179117

        Reviewed by Geoffrey Garen.

        Update / rebaseline existing test.

        * http/tests/security/cross-origin-descriptors-expected.txt:
        * http/tests/security/cross-origin-descriptors.html:

2017-11-01  Frederic Wang  <fwang@igalia.com>

        Make iOS Find UI reveal matches in scrollable elements
        https://bugs.webkit.org/show_bug.cgi?id=178789

        Reviewed by Tim Horton.

        Adds a test to verify that an overflow node is scrolled to reveal results it contains when
        iOS's Find UI is used.

        * platform/ios/fast/scrolling/find-text-in-overflow-node-expected.txt: Added.
        * platform/ios/fast/scrolling/find-text-in-overflow-node.html: Added.

2017-11-01  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/dom/Window/window-resize-update-scrollbars.html as a timeout on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179130

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-11-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r224273 and r224278.
        https://bugs.webkit.org/show_bug.cgi?id=179120

        Some crashes under guard malloc (Requested by anttik on
        #webkit).

        Reverted changesets:

        "Remove empty continuations in
        RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers"
        https://bugs.webkit.org/show_bug.cgi?id=179014
        https://trac.webkit.org/changeset/224273

        "Fix ContinuationChainNode::insertAfter assertion."
        https://bugs.webkit.org/show_bug.cgi?id=179115
        https://trac.webkit.org/changeset/224278

2017-11-01  Antti Koivisto  <antti@apple.com>

        Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
        https://bugs.webkit.org/show_bug.cgi?id=179014

        Reviewed by Geoff Garen.

        * fast/ruby/float-overhang-from-ruby-text-expected.txt:
        * platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:

2017-10-31  Chris Dumez  <cdumez@apple.com>

        Fix a couple of service worker tests and unskip them
        https://bugs.webkit.org/show_bug.cgi?id=179088

        Reviewed by Sam Weinig.

        Unskip the 2 tests.

        * TestExpectations:

2017-10-31  Alex Christensen  <achristensen@webkit.org>

        Use asynchronous ResourceHandleClient calls for WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=160677

        Reviewed by Brady Eidson.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/wk2/TestExpectations:

        http/tests/cache/iframe-304-crash.html used to deterministically record its didFinishLoading callback,
        but only for WK1.  It was marked as flaky for all WK2 ports.  It is now flaky in WK1 because the order
        of the testRunner.notifyDone call and the didFinishLoading logging is no longer deterministic with
        asynchronous loading, but the test still verifies that there is no crash.

        http/tests/security/cross-origin-modal-dialog-base.html does navigation during showModalDialog, which
        probably should've never worked in WK1 and never worked in WK2.  WK1 behavior now matches WK2 behavior.
        I'm not aware of any complaints about no navigation working during showModalDialog in WK2 and I imagine
        nobody will be regressed by this change, but if we do find such a problem, creative use of MessageQueues
        like we do with sync xhr in WK1 now could theoretically fix the problem, but we are trying to get
        rid of showModalDialog anyway.  The test was written to verify that the SecurityOrigin doesn't fall back
        to the wrong origin, and it certainly doesn't now.

        These tests dump load delegate call order, which are less deterministic now but the tests still behave correctly.
        http/tests/svg/svg-use-external.html
        http/tests/loading/text-content-type-with-binary-extension.html
        http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame.html

2017-10-31  Simon Fraser  <simon.fraser@apple.com>

        Rubber-banding overflow-scrolling-touch shows black
        https://bugs.webkit.org/show_bug.cgi?id=179087
        rdar://problem/35260253

        Reviewed by Sam Weinig.

        * fast/scrolling/rubber-band-shows-background-expected.html: Added.
        * fast/scrolling/rubber-band-shows-background.html: Added.

2017-10-31  Ryan Haddad  <ryanhaddad@apple.com>

        Remove TestExpectation entry for a test that has been deleted.
        https://bugs.webkit.org/show_bug.cgi?id=178190

        Unreviewed test gardening.

        * TestExpectations:

2017-10-31  Youenn Fablet  <youenn@apple.com>

        Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-header-visibility.https.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179081

        Reviewed by Chris Dumez.

        * TestExpectations: Marking test as flaky.

2017-10-31  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS] Skip LayoutTests that rely on eventsender.keyDown()
        https://bugs.webkit.org/show_bug.cgi?id=179061

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-10-31  Simon Fraser  <simon.fraser@apple.com>

        Make it possible to test rubber-banding in overflow scroll
        https://bugs.webkit.org/show_bug.cgi?id=179078

        Reviewed by Sam Weinig.

        Test that internals.unconstrainedScrollTo() works.

        * fast/scrolling/unconstrained-scrollto-expected.txt: Added.
        * fast/scrolling/unconstrained-scrollto.html: Added.

2017-10-31  Youenn Fablet  <youenn@apple.com>

        rwt should allow service worker to load localhost HTTPS resources with any certificate
        https://bugs.webkit.org/show_bug.cgi?id=179018

        Reviewed by Chris Dumez.

        * TestExpectations:
        * http/tests/workers/service/service-worker-fetch-expected.txt: Removed.
        * http/tests/workers/service/service-worker-fetch.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-fetch.https.html: Renamed from LayoutTests/http/tests/workers/service/service-worker-fetch.html.

2017-10-31  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_032.htm as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179069

        Unreviewed test gardening.

        * TestExpectations:

2017-10-31  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS] Skip LayoutTests that rely on mouse events
        https://bugs.webkit.org/show_bug.cgi?id=179034

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-10-31  Chris Dumez  <cdumez@apple.com>

        navigator.serviceWorker should always return the same object
        https://bugs.webkit.org/show_bug.cgi?id=179067

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/navigator-serviceWorker-same-object-expected.txt: Added.
        * http/tests/workers/service/navigator-serviceWorker-same-object.html: Added.

2017-10-31  Antoine Quint  <graouts@apple.com>

        [Web Animations] Support AnimationEffect parameter in Animation constructor and read-write timeline property
        https://bugs.webkit.org/show_bug.cgi?id=179066

        Reviewed by Dean Jackson.

        Rebaseline and amend tests to show support for the AnimationEffect first parameter to the Animation
        constructor and the default document timeline value for the AnimationTimeline second parameter.

        * http/wpt/web-animations/interfaces/Animation/constructor-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/startTime-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt:
        * http/wpt/web-animations/timing-model/animations/current-time-expected.txt:
        * http/wpt/web-animations/timing-model/animations/reversing-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt:
        * http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:
        * http/wpt/wk-web-animations/timing-model/animation-creation-basic-expected.txt:
        * http/wpt/wk-web-animations/timing-model/animation-creation-basic.html:
        * http/wpt/wk-web-animations/timing-model/animation-current-time.html:
        * http/wpt/wk-web-animations/timing-model/animation-playback-rate.html:
        * webanimations/animation-creation-addition.html:

2017-10-31  Ali Juma  <ajuma@chromium.org>

        Layout viewport rect is too wide after window resize
        https://bugs.webkit.org/show_bug.cgi?id=175235

        Reviewed by Dave Hyatt.

        * fast/dom/Window/window-resize-update-scrollbars-expected.txt: Added.
        * fast/dom/Window/window-resize-update-scrollbars.html: Added.
        * platform/ios/TestExpectations:

2017-10-31  Youenn Fablet  <youenn@apple.com>

        Crash in:  com.apple.WebKit: WebKit::CacheStorage::Caches::initializeSize(WTF::Function<void (std::optional<WebCore::DOMCacheEngine::Error>&&)>&&) + 30 (CacheStorageEngineCaches.cpp:163)
        https://bugs.webkit.org/show_bug.cgi?id=179037

        Reviewed by Chris Dumez.

        * TestExpectations: Unskipping crashing tests.

2017-10-31  Matt Lewis  <jlewis3@apple.com>

        Adjusted test expectations for animations/needs-layout.html.
        https://bugs.webkit.org/show_bug.cgi?id=172397

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-10-31  Charlie Turner  <cturner@igalia.com>

        [GTK] Rebaseline after r224223
        https://bugs.webkit.org/show_bug.cgi?id=179059

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:

2017-10-31  Charles Turner  <cturner@igalia.com>

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=179058

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2017-10-31  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: replace Canvas stack iteration with createScriptCallStack
        https://bugs.webkit.org/show_bug.cgi?id=178980

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/create-context-2d-expected.txt:
        * inspector/canvas/create-context-webgl-expected.txt:
        * inspector/canvas/create-context-webgl2-expected.txt:
        * inspector/canvas/create-context-webgpu-expected.txt:
        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-webgl-expected.txt:
        * inspector/canvas/recording-webgl-snapshots-expected.txt:

2017-10-30  Chris Dumez  <cdumez@apple.com>

        Fire updatefound event after resolving the registration promise
        https://bugs.webkit.org/show_bug.cgi?id=178985

        Reviewed by Youenn Fablet.

        Update tests that are skipped due to timing out.

        * TestExpectations:

2017-10-30  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS] Rebaseline and re-enable CSS tests
        https://bugs.webkit.org/show_bug.cgi?id=178746

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        [ truncated ]

2017-10-30  Chris Dumez  <cdumez@apple.com>

        Unreviewed, skip cache storage WPT tests that cause flaky crashes on the bots
        https://bugs.webkit.org/show_bug.cgi?id=179035

        * TestExpectations:

2017-10-30  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: [PARITY] Styles Redesign: Ability to modify style attributes
        https://bugs.webkit.org/show_bug.cgi?id=178328
        <rdar://problem/35000990>

        Reviewed by Joseph Pecoraro.

        Add tests for WI.TextRange.protopyte.resolveOffsets.

        * inspector/unit-tests/text-range-expected.txt: Added.
        * inspector/unit-tests/text-range.html: Added.

2017-10-30  Matt Lewis  <jlewis3@apple.com>

        Followup rebaseline to r224204.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/http/tests/contentextensions/make-https-expected.txt: Added.
        * platform/mac-sierra-wk2/http/tests/contentextensions/make-https-expected.txt: Added.

2017-10-30  Matt Lewis  <jlewis3@apple.com>

        Rebaselined imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-ontrack.https.html for iOS after r224156.

        Unreviewed test gardening.

        * platform/ios-wk2/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-ontrack.https-expected.txt: Added.

2017-10-30  Matt Lewis  <jlewis3@apple.com>

        Rebaselining multiple http/tests/websocket/tests/hybi/contentextensions/ test after r224031.

        Unreviewed test gardening.

        * http/tests/websocket/tests/hybi/contentextensions/upgrade-expected.txt:
        * http/tests/websocket/tests/hybi/contentextensions/upgrade-worker-expected.txt:

2017-10-27  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in addChildNodesToDeletionQueue
        https://bugs.webkit.org/show_bug.cgi?id=178974
        <rdar://problem/35234372>

        Reviewed by Brent Fulgham.

        Add a regression test.

        * fast/parser/foster-parent-inside-template-expected.txt: Added.
        * fast/parser/foster-parent-inside-template.html: Added.
        * resources/dump-as-markup.js:
        (Markup._get): Fixed the bug that this code would always throw an exception inside a browser.

2017-10-30  Commit Queue  <commit-queue@webkit.org>

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

        MotionMark regression (Requested by shallawa on #webkit).

        Reverted changeset:

        "When navigating back to a page, compositing layers may not
        use accelerated drawing"
        https://bugs.webkit.org/show_bug.cgi?id=178749
        https://trac.webkit.org/changeset/224078

2017-10-30  Ryan Haddad  <ryanhaddad@apple.com>

        Remove flaky expectation for contentextension tests.
        https://bugs.webkit.org/show_bug.cgi?id=162942

        Unreviewed test gardening.

        The underlying issue was resolved a while ago, but this expectation was not removed.

        * platform/mac-wk2/TestExpectations:

2017-10-30  Simon Fraser  <simon.fraser@apple.com>

        tab-size: 0px asserts
        https://bugs.webkit.org/show_bug.cgi?id=176198

        Reviewed by Antti Koivisto.

        Don't claim to support tab-size values with units. We don't, and they would become 0, rather
        than fall back to the default as should happen.

        * fast/css/tab-size-expected.html:
        * fast/css/tab-size.html:

2017-10-30  Antoine Quint  <graouts@apple.com>

        [Web Animations] Rewrite homegrown tests as Web Platform tests
        https://bugs.webkit.org/show_bug.cgi?id=179017

        We rewrite all of the new homegrown Web Animations tests as Web Platorm tests,
        except for one test which checks dumping of the document timeline using an
        internals method which is not appropriate as a WPT.

        Reviewed by Dean Jackson.

        * http/wpt/wk-web-animations/timing-model/animation-creation-basic-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-creation-basic.html: Added.
        * http/wpt/wk-web-animations/timing-model/animation-current-time-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-current-time.html: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect-timing-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect-timing.html: Added.
        * http/wpt/wk-web-animations/timing-model/animation-effect.html: Added.
        * http/wpt/wk-web-animations/timing-model/animation-interface-effect-property-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-interface-effect-property.html: Added.
        * http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property.html: Added.
        * http/wpt/wk-web-animations/timing-model/document-timeline-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/document-timeline.html: Added.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html: Added.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect.html: Added.
        * http/wpt/wk-web-animations/timing-model/timeline-current-time-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/timeline-current-time.html: Added.
        * webanimations/animation-creation-basic-expected.txt: Removed.
        * webanimations/animation-creation-basic.html: Removed.
        * webanimations/animation-current-time-expected.txt: Removed.
        * webanimations/animation-current-time.html: Removed.
        * webanimations/animation-effect-expected.txt: Removed.
        * webanimations/animation-effect-timing-expected.txt: Removed.
        * webanimations/animation-effect-timing.html: Removed.
        * webanimations/animation-effect.html: Removed.
        * webanimations/animation-interface-effect-property-expected.txt: Removed.
        * webanimations/animation-interface-effect-property.html: Removed.
        * webanimations/animation-interface-start-time-property-expected.txt: Removed.
        * webanimations/animation-interface-start-time-property.html: Removed.
        * webanimations/document-timeline-expected.txt: Removed.
        * webanimations/document-timeline.html: Removed.
        * webanimations/keyframe-effect-expected.txt: Removed.
        * webanimations/keyframe-effect-interface-timing-duration-expected.txt: Removed.
        * webanimations/keyframe-effect-interface-timing-duration.html: Removed.
        * webanimations/keyframe-effect.html: Removed.
        * webanimations/timeline-current-time-expected.txt: Removed.
        * webanimations/timeline-current-time.html: Removed.

2017-10-30  Per Arne Vollan  <pvollan@apple.com>

        [Win] Rebaseline tests after r224177.

        Unreviewed test gardening.

        * platform/win/editing/deleting/4922367-expected.txt:
        * platform/win/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * platform/win/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
        * platform/win/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
        * platform/win/editing/deleting/delete-block-merge-contents-005-expected.txt:
        * platform/win/editing/deleting/delete-block-merge-contents-006-expected.txt:
        * platform/win/editing/deleting/delete-block-merge-contents-007-expected.txt:
        * platform/win/editing/deleting/delete-block-merge-contents-008-expected.txt:
        * platform/win/editing/deleting/delete-block-merge-contents-023-expected.txt:
        * platform/win/editing/deleting/delete-block-merge-contents-024-expected.txt:
        * platform/win/editing/deleting/delete-br-008-expected.txt:
        * platform/win/editing/deleting/delete-br-009-expected.txt:
        * platform/win/editing/deleting/delete-br-010-expected.txt:
        * platform/win/editing/deleting/delete-line-015-expected.txt:
        * platform/win/editing/deleting/delete-line-016-expected.txt:
        * platform/win/editing/deleting/delete-line-017-expected.txt:
        * platform/win/editing/deleting/merge-no-br-expected.txt:
        * platform/win/editing/deleting/type-delete-after-quote-expected.txt:
        * platform/win/editing/execCommand/4747450-expected.txt:
        * platform/win/editing/execCommand/4916402-expected.txt:
        * platform/win/editing/execCommand/4916541-expected.txt:
        * platform/win/editing/execCommand/4924441-expected.txt:
        * platform/win/editing/execCommand/5136770-expected.txt:
        * platform/win/editing/execCommand/5142012-2-expected.txt:
        * platform/win/editing/execCommand/5190926-expected.txt:
        * platform/win/editing/execCommand/5481523-expected.txt:
        * platform/win/editing/execCommand/create-list-with-hr-expected.txt:
        * platform/win/editing/execCommand/indent-selection-expected.txt:
        * platform/win/editing/execCommand/insert-list-and-stitch-expected.txt:
        * platform/win/editing/execCommand/nsresponder-indent-expected.txt:
        * platform/win/editing/inserting/insert-br-quoted-004-expected.txt:
        * platform/win/editing/inserting/insert-br-quoted-006-expected.txt:
        * platform/win/editing/style/4916887-expected.txt:
        * platform/win/editing/style/5046875-1-expected.txt:
        * platform/win/editing/style/5046875-2-expected.txt:
        * platform/win/editing/style/5279521-expected.txt:
        * platform/win/editing/style/create-block-for-style-003-expected.txt:
        * platform/win/editing/style/create-block-for-style-004-expected.txt:
        * platform/win/editing/style/create-block-for-style-007-expected.txt:
        * platform/win/editing/style/create-block-for-style-009-expected.txt:
        * platform/win/editing/style/create-block-for-style-010-expected.txt:
        * platform/win/editing/style/create-block-for-style-011-expected.txt:
        * platform/win/editing/style/create-block-for-style-012-expected.txt:
        * platform/win/editing/style/create-block-for-style-013-expected.txt:
        * platform/win/editing/style/smoosh-styles-001-expected.txt:
        * platform/win/editing/style/style-boundary-005-expected.txt:
        * platform/win/editing/unsupported-content/list-delete-001-expected.txt:
        * platform/win/fast/forms/button-generated-content-expected.txt:
        * platform/win/fast/ruby/rubyDOM-remove-text2-expected.txt:

2017-10-30  Matt Lewis  <jlewis3@apple.com>

        Rebaselined imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw-manual.https.html for iOS.

        Unreviewed test gardening.

        * platform/ios-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw-manual.https-expected.txt: Added.

2017-10-30  Antoine Quint  <graouts@apple.com>

        [Web Animations] Add Web Platform tests
        https://bugs.webkit.org/show_bug.cgi?id=178999

        Reviewed by Sam Weinig.

        The vast majority is failing, as expected due to the nascent status of our Web Animations implementation.

        * http/wpt/web-animations/OWNERS: Added.
        * http/wpt/web-animations/README.md: Added.
        * http/wpt/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Added.
        * http/wpt/web-animations/animation-model/animation-types/accumulation-per-property.html: Added.
        * http/wpt/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Added.
        * http/wpt/web-animations/animation-model/animation-types/addition-per-property.html: Added.
        * http/wpt/web-animations/animation-model/animation-types/discrete-animation-expected.txt: Added.
        * http/wpt/web-animations/animation-model/animation-types/discrete-animation.html: Added.
        * http/wpt/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Added.
        * http/wpt/web-animations/animation-model/animation-types/interpolation-per-property.html: Added.
        * http/wpt/web-animations/animation-model/animation-types/property-list.js: Added.
        (testAnimationSamplesWithAnyOrder):
        (isSupported):
        (TestKeyframe.):
        (TestKeyframe.get Object):
        (TestKeyframe):
        (get propertyToIDL):
        (calcFromPercentage):
        * http/wpt/web-animations/animation-model/animation-types/property-types.js: Added.
        (const.discreteType.):
        (const.discreteType.testInterpolation):
        (const.discreteType.testAdditionOrAccumulation):
        (const.discreteType.testAddition):
        (const.discreteType.testAccumulation):
        (const.lengthType.testInterpolation):
        (const.lengthType.testAdditionOrAccumulation):
        (const.lengthType.testAddition):
        (const.lengthType.testAccumulation):
        (const.lengthPairType.testInterpolation):
        (const.lengthPairType.testAdditionOrAccumulation):
        (const.lengthPairType.testAddition):
        (const.lengthPairType.testAccumulation):
        (const.percentageType.testInterpolation):
        (const.percentageType.testAdditionOrAccumulation):
        (const.percentageType.testAddition):
        (const.percentageType.testAccumulation):
        (const.integerType.testInterpolation):
        (const.integerType.testAdditionOrAccumulation):
        (const.integerType.testAddition):
        (const.integerType.testAccumulation):
        (const.positiveIntegerType.testInterpolation):
        (const.positiveIntegerType.testAdditionOrAccumulation):
        (const.positiveIntegerType.testAddition):
        (const.positiveIntegerType.testAccumulation):
        (const.lengthPercentageOrCalcType.testInterpolation):
        (const.lengthPercentageOrCalcType.testAdditionOrAccumulation):
        (const.lengthPercentageOrCalcType.testAddition):
        (const.lengthPercentageOrCalcType.testAccumulation):
        (const.positiveNumberType.testInterpolation):
        (const.positiveNumberType.testAdditionOrAccumulation):
        (const.positiveNumberType.testAddition):
        (const.positiveNumberType.testAccumulation):
        (const.opacityType.testInterpolation):
        (const.opacityType.testAdditionOrAccumulation):
        (const.opacityType.testAddition):
        (const.opacityType.testAccumulation):
        (const.visibilityType.testInterpolation):
        (const.visibilityType.testAdditionOrAccumulation):
        (const.visibilityType.testAddition):
        (const.visibilityType.testAccumulation):
        (const.colorType.testInterpolation):
        (const.colorType.testAdditionOrAccumulation):
        (const.colorType.testAddition):
        (const.colorType.testAccumulation):
        (const.transformListType.testInterpolation):
        (const.transformListType.testAddition):
        (const.transformListType.testAccumulation):
        (const.filterListType.testInterpolation):
        (const.filterListType.testAddition):
        (const.filterListType.testAccumulation):
        (const.textShadowListType.testInterpolation):
        (const.textShadowListType.testAddition):
        (const.textShadowListType.testAccumulation):
        (const.boxShadowListType.testInterpolation):
        (const.boxShadowListType.testAddition):
        (const.boxShadowListType.testAccumulation):
        (const.positionType.testInterpolation):
        (const.positionType.testAdditionOrAccumulation):
        (const.positionType.testAddition):
        (const.positionType.testAccumulation):
        (const.rectType.testInterpolation):
        (const.rectType.testAdditionOrAccumulation):
        (const.rectType.testAddition):
        (const.rectType.testAccumulation):
        (const.dasharrayType.testInterpolation):
        (const.dasharrayType.testAdditionOrAccumulation):
        (const.dasharrayType.testAddition):
        (const.dasharrayType.testAccumulation):
        (const.fontStretchType.testInterpolation):
        (const.fontStretchType.testAdditionOrAccumulation):
        (const.fontStretchType.testAddition):
        (const.fontStretchType.testAccumulation):
        (const.fontVariationSettingsType.testInterpolation):
        (const.fontVariationSettingsType.testAdditionOrAccumulation):
        (const.fontVariationSettingsType.testAddition):
        (const.fontVariationSettingsType.testAccumulation):
        * http/wpt/web-animations/animation-model/combining-effects/effect-composition-expected.txt: Added.
        * http/wpt/web-animations/animation-model/combining-effects/effect-composition.html: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context.html: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility-expected.txt: Added.
        * http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility.html: Added.
        * http/wpt/web-animations/interfaces/Animatable/animate-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context.html: Added.
        * http/wpt/web-animations/interfaces/Animatable/animate.html: Added.
        * http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animatable/getAnimations.html: Added.
        * http/wpt/web-animations/interfaces/Animation/cancel-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/cancel.html: Added.
        * http/wpt/web-animations/interfaces/Animation/constructor-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/constructor.html: Added.
        * http/wpt/web-animations/interfaces/Animation/effect-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/effect.html: Added.
        * http/wpt/web-animations/interfaces/Animation/finish-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/finish.html: Added.
        * http/wpt/web-animations/interfaces/Animation/finished-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/finished.html: Added.
        * http/wpt/web-animations/interfaces/Animation/id-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/id.html: Added.
        * http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/idlharness.html: Added.
        * http/wpt/web-animations/interfaces/Animation/oncancel-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/oncancel.html: Added.
        * http/wpt/web-animations/interfaces/Animation/onfinish-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/onfinish.html: Added.
        * http/wpt/web-animations/interfaces/Animation/pause-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/pause.html: Added.
        * http/wpt/web-animations/interfaces/Animation/play-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/play.html: Added.
        * http/wpt/web-animations/interfaces/Animation/playState-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/playState.html: Added.
        * http/wpt/web-animations/interfaces/Animation/playbackRate-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/playbackRate.html: Added.
        * http/wpt/web-animations/interfaces/Animation/ready-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/ready.html: Added.
        * http/wpt/web-animations/interfaces/Animation/startTime-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Animation/startTime.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/delay.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/direction.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/duration.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/fill.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart.html: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations.html: Added.
        * http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline.html: Added.
        * http/wpt/web-animations/interfaces/AnimationTimeline/idlharness-expected.txt: Added.
        * http/wpt/web-animations/interfaces/AnimationTimeline/idlharness.html: Added.
        * http/wpt/web-animations/interfaces/Document/getAnimations-expected.txt: Added.
        * http/wpt/web-animations/interfaces/Document/getAnimations.html: Added.
        * http/wpt/web-animations/interfaces/DocumentTimeline/constructor-expected.txt: Added.
        * http/wpt/web-animations/interfaces/DocumentTimeline/constructor.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/composite.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/constructor.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor-expected.txt: Added.
        * http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor.html: Added.
        * http/wpt/web-animations/resources/easing-tests.js: Added.
        (easingFunction.stepStart):
        (easingFunction.stepEnd):
        (easingFunction.framesTiming):
        (easingFunction.cubicBezier):
        * http/wpt/web-animations/resources/effect-tests.js: Added.
        (assert_computed_timing_for_each_phase):
        * http/wpt/web-animations/resources/keyframe-utils.js: Added.
        (assert_frame_lists_equal):
        (assert_frames_equal):
        * http/wpt/web-animations/resources/xhr-doc.py: Added.
        (main):
        * http/wpt/web-animations/testcommon.js: Added.
        (window.assert_times_equal.window.assert_times_equal):
        (createDiv):
        (createElement):
        (createStyle):
        (createPseudo):
        (xForT):
        (yForT):
        (tForX):
        (return.bezierClosure):
        (cubicBezier):
        (stepEnd.return.stepEndClosure):
        (stepEnd):
        (stepStart.return.stepStartClosure):
        (stepStart):
        (framesTiming.return.framesClosure):
        (framesTiming):
        (waitForAnimationFrames):
        (rotate3dToMatrix3d):
        (rotate3dToMatrix):
        (assert_matrix_equals):
        * http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animation-effects/active-time.html: Added.
        * http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animation-effects/current-iteration.html: Added.
        * http/wpt/web-animations/timing-model/animation-effects/local-time-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animation-effects/local-time.html: Added.
        * http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animation-effects/phases-and-states.html: Added.
        * http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress.html: Added.
        * http/wpt/web-animations/timing-model/animations/canceling-an-animation-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/canceling-an-animation.html: Added.
        * http/wpt/web-animations/timing-model/animations/current-time-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/current-time.html: Added.
        * http/wpt/web-animations/timing-model/animations/finishing-an-animation-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/finishing-an-animation.html: Added.
        * http/wpt/web-animations/timing-model/animations/pausing-an-animation-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/pausing-an-animation.html: Added.
        * http/wpt/web-animations/timing-model/animations/playing-an-animation-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/playing-an-animation.html: Added.
        * http/wpt/web-animations/timing-model/animations/reversing-an-animation-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/reversing-an-animation.html: Added.
        * http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/set-the-animation-start-time.html: Added.
        * http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation.html: Added.
        * http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation.html: Added.
        * http/wpt/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: Added.
        * http/wpt/web-animations/timing-model/animations/updating-the-finished-state.html: Added.
        * http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt: Added.
        * http/wpt/web-animations/timing-model/time-transformations/transformed-progress.html: Added.

2017-10-30  Antoine Quint  <graouts@apple.com>

        [Web Animations] Expose the playbackRate property on Animation
        https://bugs.webkit.org/show_bug.cgi?id=178931

        Reviewed by Sam Weinig.

        Add a new test, using WPT, to check that the playbackRate property is accounted
        for when getting and setting the current time.

        * http/wpt/wk-web-animations/timing-model/animation-playback-rate-expected.txt: Added.
        * http/wpt/wk-web-animations/timing-model/animation-playback-rate.html: Added.

2017-10-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Rebaseline affected tests after r224177
        https://bugs.webkit.org/show_bug.cgi?id=178933

        Unreviewed gardening.

        * platform/gtk/editing/deleting/4922367-expected.txt:
        * platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
        * platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
        * platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.txt:
        * platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.txt:
        * platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.txt:
        * platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.txt:
        * platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.txt:
        * platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.txt:
        * platform/gtk/editing/deleting/delete-br-008-expected.txt:
        * platform/gtk/editing/deleting/delete-br-010-expected.txt:
        * platform/gtk/editing/deleting/delete-line-015-expected.txt:
        * platform/gtk/editing/deleting/delete-line-016-expected.txt:
        * platform/gtk/editing/deleting/delete-line-017-expected.txt:
        * platform/gtk/editing/deleting/merge-no-br-expected.txt:
        * platform/gtk/editing/deleting/type-delete-after-quote-expected.txt:
        * platform/gtk/editing/execCommand/4747450-expected.txt:
        * platform/gtk/editing/execCommand/4916402-expected.txt:
        * platform/gtk/editing/execCommand/4916541-expected.txt:
        * platform/gtk/editing/execCommand/4924441-expected.txt:
        * platform/gtk/editing/execCommand/5136770-expected.txt:
        * platform/gtk/editing/execCommand/5142012-2-expected.txt:
        * platform/gtk/editing/execCommand/5190926-expected.txt:
        * platform/gtk/editing/execCommand/5481523-expected.txt:
        * platform/gtk/editing/execCommand/create-list-with-hr-expected.txt:
        * platform/gtk/editing/execCommand/indent-selection-expected.txt:
        * platform/gtk/editing/execCommand/insert-list-and-stitch-expected.txt:
        * platform/gtk/editing/execCommand/nsresponder-indent-expected.txt:
        * platform/gtk/editing/inserting/insert-br-quoted-004-expected.txt:
        * platform/gtk/editing/inserting/insert-br-quoted-006-expected.txt:
        * platform/gtk/editing/pasteboard/5071074-2-expected.txt:
        * platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.txt:
        * platform/gtk/editing/pasteboard/displaced-placeholder-expected.txt:
        * platform/gtk/editing/pasteboard/merge-after-delete-2-expected.txt:
        * platform/gtk/editing/pasteboard/merge-after-delete-expected.txt:
        * platform/gtk/editing/pasteboard/merge-end-blockquote-expected.txt:
        * platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
        * platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt:
        * platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt:
        * platform/gtk/editing/pasteboard/paste-text-008-expected.txt:
        * platform/gtk/editing/pasteboard/paste-text-009-expected.txt:
        * platform/gtk/editing/pasteboard/smart-paste-007-expected.txt:
        * platform/gtk/editing/pasteboard/smart-paste-008-expected.txt:
        * platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.txt:
        * platform/gtk/editing/pasteboard/unrendered-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
        * platform/gtk/editing/style/4916887-expected.txt:
        * platform/gtk/editing/style/5046875-1-expected.txt:
        * platform/gtk/editing/style/5046875-2-expected.txt:
        * platform/gtk/editing/style/5279521-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-003-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-004-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-007-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-009-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-010-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-011-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-012-expected.txt:
        * platform/gtk/editing/style/create-block-for-style-013-expected.txt:
        * platform/gtk/editing/unsupported-content/list-delete-001-expected.txt:
        * platform/gtk/fast/forms/button-generated-content-expected.txt:

2017-10-30  Antti Koivisto  <antti@apple.com>

        Destroy all unneeded anonymous wrappers in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers()
        https://bugs.webkit.org/show_bug.cgi?id=178933

        Reviewed by Zalan Bujtas.

        Many leftover empty anonymous wrappers go away in render tree dumps. No visual impact.

        * editing/deleting/delete-br-009-expected.txt:
        * platform/ios-wk2/editing/execCommand/4747450-expected.txt:
        * platform/ios-wk2/editing/execCommand/4924441-expected.txt:
        * platform/ios-wk2/editing/inserting/insert-br-quoted-004-expected.txt:
        * platform/ios-wk2/editing/inserting/insert-br-quoted-006-expected.txt:
        * platform/ios-wk2/editing/pasteboard/merge-end-blockquote-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-line-endings-008-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-match-style-001-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-008-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-009-expected.txt:
        * platform/ios-wk2/editing/pasteboard/undoable-fragment-removes-expected.txt:
        * platform/ios-wk2/editing/pasteboard/unrendered-br-expected.txt:
        * platform/ios-wk2/editing/style/4916887-expected.txt:
        * platform/ios-wk2/editing/style/5046875-1-expected.txt:
        * platform/ios-wk2/editing/style/5046875-2-expected.txt:
        * platform/ios-wk2/editing/style/5279521-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-003-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-004-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-007-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-009-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-010-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-011-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-012-expected.txt:
        * platform/ios-wk2/editing/style/create-block-for-style-013-expected.txt:
        * platform/ios/editing/deleting/4922367-expected.txt:
        * platform/ios/editing/deleting/type-delete-after-quote-expected.txt:
        * platform/ios/editing/execCommand/4916402-expected.txt:
        * platform/ios/editing/execCommand/4916541-expected.txt:
        * platform/ios/editing/execCommand/5136770-expected.txt:
        * platform/ios/editing/execCommand/5142012-2-expected.txt:
        * platform/ios/editing/execCommand/5190926-expected.txt:
        * platform/ios/editing/execCommand/5481523-expected.txt:
        * platform/ios/editing/pasteboard/5071074-2-expected.txt:
        * platform/ios/editing/pasteboard/displaced-generic-placeholder-expected.txt:
        * platform/ios/editing/pasteboard/displaced-placeholder-expected.txt:
        * platform/ios/editing/pasteboard/merge-after-delete-2-expected.txt:
        * platform/ios/editing/pasteboard/merge-after-delete-expected.txt:
        * platform/ios/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
        * platform/ios/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
        * platform/ios/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
        * platform/ios/fast/forms/button-generated-content-expected.txt:
        * platform/ios/fast/ruby/rubyDOM-remove-text2-expected.txt:
        * platform/mac-elcapitan/fast/forms/button-generated-content-expected.txt:
        * platform/mac/editing/deleting/4922367-expected.txt:
        * platform/mac/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * platform/mac/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
        * platform/mac/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-005-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-006-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-007-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-008-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-023-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-024-expected.txt:
        * platform/mac/editing/deleting/delete-br-008-expected.txt:
        * platform/mac/editing/deleting/delete-br-010-expected.txt:
        * platform/mac/editing/deleting/delete-line-015-expected.txt:
        * platform/mac/editing/deleting/delete-line-016-expected.txt:
        * platform/mac/editing/deleting/delete-line-017-expected.txt:
        * platform/mac/editing/deleting/merge-no-br-expected.txt:
        * platform/mac/editing/deleting/type-delete-after-quote-expected.txt:
        * platform/mac/editing/execCommand/4747450-expected.txt:
        * platform/mac/editing/execCommand/4916402-expected.txt:
        * platform/mac/editing/execCommand/4916541-expected.txt:
        * platform/mac/editing/execCommand/4924441-expected.txt:
        * platform/mac/editing/execCommand/5136770-expected.txt:
        * platform/mac/editing/execCommand/5142012-2-expected.txt:
        * platform/mac/editing/execCommand/5190926-expected.txt:
        * platform/mac/editing/execCommand/5481523-expected.txt:
        * platform/mac/editing/execCommand/create-list-with-hr-expected.txt:
        * platform/mac/editing/execCommand/indent-selection-expected.txt:
        * platform/mac/editing/execCommand/insert-list-and-stitch-expected.txt:
        * platform/mac/editing/execCommand/nsresponder-indent-expected.txt:
        * platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
        * platform/mac/editing/inserting/insert-br-quoted-004-expected.txt:
        * platform/mac/editing/inserting/insert-br-quoted-006-expected.txt:
        * platform/mac/editing/pasteboard/5071074-2-expected.txt:
        * platform/mac/editing/pasteboard/displaced-generic-placeholder-expected.txt:
        * platform/mac/editing/pasteboard/displaced-placeholder-expected.txt:
        * platform/mac/editing/pasteboard/merge-after-delete-2-expected.txt:
        * platform/mac/editing/pasteboard/merge-after-delete-expected.txt:
        * platform/mac/editing/pasteboard/merge-end-blockquote-expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
        * platform/mac/editing/pasteboard/paste-line-endings-008-expected.txt:
        * platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-008-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-009-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-007-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-008-expected.txt:
        * platform/mac/editing/pasteboard/undoable-fragment-removes-expected.txt:
        * platform/mac/editing/pasteboard/unrendered-br-expected.txt:
        * platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
        * platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
        * platform/mac/editing/style/4916887-expected.txt:
        * platform/mac/editing/style/5046875-1-expected.txt:
        * platform/mac/editing/style/5046875-2-expected.txt:
        * platform/mac/editing/style/5279521-expected.txt:
        * platform/mac/editing/style/create-block-for-style-003-expected.txt:
        * platform/mac/editing/style/create-block-for-style-004-expected.txt:
        * platform/mac/editing/style/create-block-for-style-007-expected.txt:
        * platform/mac/editing/style/create-block-for-style-009-expected.txt:
        * platform/mac/editing/style/create-block-for-style-010-expected.txt:
        * platform/mac/editing/style/create-block-for-style-011-expected.txt:
        * platform/mac/editing/style/create-block-for-style-012-expected.txt:
        * platform/mac/editing/style/create-block-for-style-013-expected.txt:
        * platform/mac/editing/style/smoosh-styles-001-expected.txt:
        * platform/mac/editing/style/style-boundary-005-expected.txt:
        * platform/mac/editing/style/unbold-in-bold-expected.txt:
        * platform/mac/editing/unsupported-content/list-delete-001-expected.txt:
        * platform/mac/fast/forms/button-generated-content-expected.txt:
        * platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt:

2017-10-30  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Add support for P-521 EC curves
        https://bugs.webkit.org/show_bug.cgi?id=175199

        Reviewed by Jiewen Tan.

        Add or update Web Crypto test baselines for the GTK+ and WPE ports
        to reflect the added EC P-521 support.

        * platform/gtk/crypto/subtle/ec-generate-key-malformed-parameters-expected.txt: Added.
        * platform/gtk/crypto/subtle/ecdh-derive-bits-length-limits-expected.txt: Added.
        * platform/gtk/crypto/subtle/ecdh-import-spki-key-ecdh-identifier-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https-expected.txt: Added.
        * platform/wpe/crypto/subtle/ec-generate-key-malformed-parameters-expected.txt: Added.
        * platform/wpe/crypto/subtle/ecdh-derive-bits-length-limits-expected.txt: Added.
        * platform/wpe/crypto/subtle/ecdh-import-spki-key-ecdh-identifier-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https-expected.txt: Added.

2017-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed WPE gardening. Skip Service Workers tests again after r224132.

        Service Workers tests were unskipped from main TestExpectations in r224132, but Service Workers are not enabled
        in WPE port yet.

        * platform/wpe/TestExpectations:

2017-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Skip Service Workers tests again after r224132.

        Service Workers tests were unskipped from main TestExpectations in r224132, but Service Workers are not enabled
        in GTk+ port yet.

        * platform/gtk/TestExpectations:

2017-10-29  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline a few tests after r224156.

        * TestExpectations:

2017-10-29  Sam Weinig  <sam@webkit.org>

        [Conic Gradients] Add support for parsing conic gradients
        https://bugs.webkit.org/show_bug.cgi?id=178987

        Reviewed by Dean Jackson.

        * http/wpt/css: Added.
        * http/wpt/css/css-images-4: Added.
        * http/wpt/css/css-images-4/conic-gradient-parsing-expected.txt: Added.
        * http/wpt/css/css-images-4/conic-gradient-parsing.html: Added.

            Add tests for basic parsing of conic gradients.

2017-10-29  Antoine Quint  <graouts@apple.com>

        [Web Animations] Expose the currentTime property on Animation
        https://bugs.webkit.org/show_bug.cgi?id=178988

        Reviewed by Dean Jackson.

        Add a new test that checks that the currentTime property is set
        correctly based on the startTime value and the document timeline
        currentTime, and that setting the property may raise an exception
        and otherwise update the animation startTime.

        * webanimations/animation-current-time-expected.txt: Added.
        * webanimations/animation-current-time.html: Added.

2017-10-28  Dean Jackson  <dino@apple.com>

        createImageBitmap with HTMLCanvasElement
        https://bugs.webkit.org/show_bug.cgi?id=178984
        <rdar://problem/35238440>

        Reviewed by Sam Weinig.

        Exercise new creation method.

        * http/wpt/2dcontext/imagebitmap/common.js:
        (create9x9CanvasWithTargetImage):
        * http/wpt/2dcontext/imagebitmap/createImageBitmap-expected.txt:
        * http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing-expected.txt:
        * http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing.html:
        * http/wpt/2dcontext/imagebitmap/createImageBitmap.html:
        * http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap-expected.txt:
        * http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap.html:

2017-10-28  Youenn Fablet  <youenn@apple.com>

        Make HTTPS WPT tests time out through testharness.js to get better error reports
        https://bugs.webkit.org/show_bug.cgi?id=178982

        Reviewed by Chris Dumez.

        * resources/testharnessreport.js: extending to tests run over HTTPS WPT port 9443.

2017-10-28  Youenn Fablet  <youenn@apple.com>

        Rebase WPT tests up to a1c0107
        https://bugs.webkit.org/show_bug.cgi?id=178589

        Reviewed by Alex Christensen.

        * TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-default-feature-policy.sub-expected.txt: Added.

2017-10-28  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Unify Font::platformCharWidthInit() with macOS
        https://bugs.webkit.org/show_bug.cgi?id=178951
        <rdar://problem/7848198>

        Reviewed by Zalan Bujtas.

        Updating expected results.

        * platform/ios-wk2/fast/forms/search-styled-expected.txt: Removed.
        * platform/ios-wk2/fast/forms/text-control-intrinsic-widths-expected.txt: Removed.
        * platform/ios-wk2/fast/forms/textarea-width-expected.txt: Removed.
        * platform/ios/fast/forms/search-styled-expected.txt:
        * platform/ios/fast/forms/text-control-intrinsic-widths-expected.txt:
        * platform/ios/fast/forms/textarea-width-expected.txt:

2017-10-28  Chris Dumez  <cdumez@apple.com>

        self.ExtendableEvent / Client / Clients / WindowClient do not exist in a Service Worker
        https://bugs.webkit.org/show_bug.cgi?id=178976

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * http/tests/workers/service/ServiceWorkerGlobalScope-properties-expected.txt: Added.
        * http/tests/workers/service/ServiceWorkerGlobalScope-properties.html: Added.
        * http/tests/workers/service/resources/ServiceWorkerGlobalScope-properties-worker.js: Added.

2017-10-27  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Canvas Tab: no way to see backtrace of where a canvas context was created
        https://bugs.webkit.org/show_bug.cgi?id=178799
        <rdar://problem/35175805>

        Reviewed by Brian Burg.

        * inspector/canvas/create-context-2d-expected.txt:
        * inspector/canvas/create-context-webgl-expected.txt:
        * inspector/canvas/create-context-webgl2-expected.txt:
        * inspector/canvas/create-context-webgpu-expected.txt:
        * inspector/canvas/resources/create-context-utilities.js:
        (TestPage.registerInitializer.sanitizeURL):
        (TestPage.registerInitializer.awaitCanvasAdded):
        Pretty-print backtrace when canvases are added to the page.

2017-10-27  Daniel Bates  <dabates@apple.com>

        Skip test http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https.html on OS X El Capitan

        For now skip this test that was added in r224134 on OS X El Capitan. OS X El Capitan uses the
        legacy NSURLDownload code path for downloads. This code path is not happy with the self-signed
        certificate we use when running HTTPS tests. See <https://bugs.webkit.org/show_bug.cgi?id=155132>
        for more details.

        * platform/mac-elcapitan/TestExpectations:

2017-10-27  Daniel Bates  <dabates@apple.com>

        Only allow non-mixed content protected subresources to ask for credentials
        https://bugs.webkit.org/show_bug.cgi?id=178919
        <rdar://problem/35015245>

        Reviewed by Alex Christensen.

        * http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https.html: Added.
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image.html: Added.
        * http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.https.txt: Added.
        * http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script.html: Added.
        * http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-image-redirects-to-basic-auth-secure-image.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-script-redirects-to-basic-auth-secure-script.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-programmatically-added-insecure-image-redirects-to-basic-auth-secure-image.html: Added.
        * http/tests/security/mixedContent/resources/subresource/protected-image.php: Added.
        * http/tests/security/mixedContent/resources/subresource/protected-pdf.php: Added.
        * http/tests/security/mixedContent/resources/subresource/protected-script.php: Added.
        * http/tests/security/mixedContent/resources/subresource/protected-stylesheet.php: Added.
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https.html: Added.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https-expected.txt: Added.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https.html: Added.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html: Added.
        * platform/ios-wk1/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
        * platform/win/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.

2017-10-27  Daniel Bates  <dabates@apple.com>

        Add tests for automatic decompression of gzip-compressed subresources
        https://bugs.webkit.org/show_bug.cgi?id=178941
        <rdar://problem/35230090>

        Reviewed by Alex Christensen.

        Although automatic decompression of gzip-compressed subresources is handled by CFNetwork
        (<rdar://problem/5418646>) we should add tests to ensure that WebKit does not inadvertently
        opt out of such functionality and to catch a regression in CFNetwork.

        * TestExpectations: Skip the tests on all platforms. We will unskip on Cocoa platforms and Apple Windows.
        * http/tests/gzip-content-encoding/gzip-encoded-script-expected.txt: Added.
        * http/tests/gzip-content-encoding/gzip-encoded-script.html: Added.
        * http/tests/gzip-content-encoding/gzip-encoded-script2-expected.txt: Added.
        * http/tests/gzip-content-encoding/gzip-encoded-script2.html: Added.
        * http/tests/gzip-content-encoding/gzip-encoded-stylesheet-expected.html: Added.
        * http/tests/gzip-content-encoding/gzip-encoded-stylesheet.html: Added.
        * http/tests/gzip-content-encoding/gzip-encoded-stylesheet2-expected.html: Added.
        * http/tests/gzip-content-encoding/gzip-encoded-stylesheet2.html: Added.
        * http/tests/gzip-content-encoding/resources/echo-data-encoding-with-gzip.php: Added.
        * http/tests/gzip-content-encoding/resources/script.js.gz: Added.
        * http/tests/gzip-content-encoding/resources/stylesheet.css.gz: Added.
        * platform/ios/TestExpectations: Unskip tests.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2017-10-27  Chris Dumez  <cdumez@apple.com>

        Unskip more Service Workers tests
        https://bugs.webkit.org/show_bug.cgi?id=178944

        Reviewed by Sam Weinig.

        Unskip all Service Workers tests except for the 39 that are timing out.

        * TestExpectations:

2017-10-27  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectations for fast/scrolling/arrow-key-scroll-in-rtl-document.html.
        https://bugs.webkit.org/show_bug.cgi?id=173779

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-27  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectations for multiple media/ Layout Tests.
        https://bugs.webkit.org/show_bug.cgi?id=176054

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-27  Antoine Quint  <graouts@apple.com>

        [Web Animations] Expose the currentTime property on AnimationTimeline
        https://bugs.webkit.org/show_bug.cgi?id=178928

        Reviewed by Dean Jackson.

        Add a new test that checks we can read the document's timeline currentTime
        property and set it via the internals method.

        * webanimations/timeline-current-time-expected.txt: Added.
        * webanimations/timeline-current-time.html: Added.

2017-10-27  Ryan Haddad  <ryanhaddad@apple.com>

        Skip two tests that are flaky crashes.
        https://bugs.webkit.org/show_bug.cgi?id=177828

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-27  Chris Dumez  <cdumez@apple.com>

        DOMWindow::dispatchEvent() does not reset the event's dispatch flag
        https://bugs.webkit.org/show_bug.cgi?id=178897

        Reviewed by Darin Adler.

        Add layout test coverage. I have verified that this test is passing in Firefox.

        * fast/events/window-load-initEvent-expected.txt: Added.
        * fast/events/window-load-initEvent.html: Added.

2017-10-27  Ryan Haddad  <ryanhaddad@apple.com>

        Move TestExpectation for imported/w3c/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm.
        https://bugs.webkit.org/show_bug.cgi?id=178190

        Unreviewed test gardening.

        * TestExpectations:
        * platform/mac/TestExpectations:

2017-10-27  Chris Dumez  <cdumez@apple.com>

        Add initial support for serviceWorkerClient.postMessage()
        https://bugs.webkit.org/show_bug.cgi?id=178794

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/basic-ServiceWorker-postMessage.https-expected.txt:
        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js:
        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js:
        (then):

2017-10-27  Ryan Haddad  <ryanhaddad@apple.com>

        Skip failing service worker tests that were missed in r224066.
        https://trac.webkit.org/changeset/224066/webkit

        Unreviewed test gardening.

        * TestExpectations:

2017-10-27  Alicia Boya García  <aboya@igalia.com>

        [GStreamer][MSE] Trim space between codecs
        https://bugs.webkit.org/show_bug.cgi?id=178160

        Reviewed by Xabier Rodriguez-Calvar.

        Update expected test output.

        * platform/gtk/imported/w3c/web-platform-tests/media-source/mediasource-is-type-supported-expected.txt:

2017-10-27  Ryosuke Niwa  <rniwa@webkit.org>

        Skip some copy & paste tests I wrote on GTK since they're are known to timeout/slow.

        * platform/gtk/TestExpectations:

2017-10-26  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
        https://bugs.webkit.org/show_bug.cgi?id=178854

        Reviewed by Michael Catanzaro.

        * http/conf/debian-httpd-2.2.conf: Removed.
        * http/conf/debian-httpd-2.4-php7.0.conf: Renamed from LayoutTests/http/conf/debian-httpd-2.4-php7.conf.
        * http/conf/debian-httpd-2.4-php7.1.conf: Copied from LayoutTests/http/conf/debian-httpd-2.4-php7.conf.

2017-10-26  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Canvas Tab: canvas path components from old page stick around when page is reloaded
        https://bugs.webkit.org/show_bug.cgi?id=178806
        <rdar://problem/35176360>

        Reviewed by Brian Burg.

        * inspector/canvas/context-attributes.html:
        * inspector/canvas/resources/create-context-utilities.js:
        (destroyCanvases):
        (TestPage.registerInitializer.awaitCanvasAdded):
        (TestPage.registerInitializer):
        * inspector/canvas/resources/shaderProgram-utilities.js:
        (deleteContext):
        (TestPage.registerInitializer.window.addParentCanvasRemovedTestCase):
        (TestPage.registerInitializer):

2017-10-25  Simon Fraser  <simon.fraser@apple.com>

        When navigating back to a page, compositing layers may not use accelerated drawing
        https://bugs.webkit.org/show_bug.cgi?id=178749
        rdar://problem/35158946

        Reviewed by Dean Jackson.
        
        Moved iframes/resources/page-cache-helper.html up to compositing/resources/go-back.html.

        * compositing/accelerated-layers-after-back-expected.txt: Added.
        * compositing/accelerated-layers-after-back.html: Added.
        * compositing/iframes/page-cache-layer-tree.html:
        * compositing/page-cache-back-crash.html:
        * compositing/resources/go-back.html: Renamed from LayoutTests/compositing/iframes/resources/page-cache-helper.html.
        * platform/ios/compositing/accelerated-layers-after-back-expected.txt: Added.

2017-10-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Update expected results for writing-mode tests
        https://bugs.webkit.org/show_bug.cgi?id=178916
        <rdar://problem/33250084>

        Unreviewed.

        * platform/ios/TestExpectations:
        * platform/ios/fast/writing-mode/border-vertical-lr-expected.txt:
        * platform/ios/fast/writing-mode/japanese-lr-text-expected.txt:
        * platform/ios/fast/writing-mode/japanese-rl-text-expected.txt:
        * platform/ios/fast/writing-mode/japanese-ruby-horizontal-bt-expected.txt:
        * platform/ios/fast/writing-mode/japanese-ruby-vertical-lr-expected.txt:
        * platform/ios/fast/writing-mode/japanese-ruby-vertical-rl-expected.txt:
        * platform/ios/fast/writing-mode/vertical-align-table-baseline-expected.txt:
        * platform/ios/fast/writing-mode/vertical-baseline-alignment-expected.txt:

2017-10-26  Youenn Fablet  <youenn@apple.com>

        importScripts in service worker should use ServiceWorkersMode::None
        https://bugs.webkit.org/show_bug.cgi?id=178888

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/service-worker-importScript-worker.js: Added.
        * http/tests/workers/service/resources/service-worker-importScript.js: Added.
        * http/tests/workers/service/service-worker-importScript-expected.txt: Added.
        * http/tests/workers/service/service-worker-importScript.html: Added.

2017-10-26  Youenn Fablet  <youenn@apple.com>

        Implement ServiceWorkerContainer getRegistration
        https://bugs.webkit.org/show_bug.cgi?id=178882

        Unreviewed.

        * TestExpectations: Skipping service worker tests until they can produce results.

2017-10-26  Youenn Fablet  <youenn@apple.com>

        Add service worker handle fetch support for all subresource requests
        https://bugs.webkit.org/show_bug.cgi?id=178769

        Reviewed by Chris Dumez.

        * http/tests/workers/service/image-fetch-expected.txt: Added.
        * http/tests/workers/service/image-fetch.html: Added.
        * http/tests/workers/service/resources/image-fetch-worker.js: Added.
        (event.event.request.url.indexOf):
        (event.event.request.url.endsWith):
        * http/tests/workers/service/resources/image-fetch.js: Added.
        (done):
        (async.loadedImage):
        (async.erroredImage):
        (async.logStatus):
        (async.test):

2017-10-26  Ryosuke Niwa  <rniwa@webkit.org>

        LayoutTest http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=178828

        Reviewed by Wenson Hsieh.

        When the pasted content's iframe's body isn't available, wait for load event.

        * http/tests/security/clipboard/resources/content-to-copy.html: Always wait for load event before notifying
        the parent page that it had finish loading.
        * http/tests/security/clipboard/resources/subdirectory/paste-html.html:

2017-10-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Update expected results for platform/ios/ios/fast/text/opticalFontWith*.html
        https://bugs.webkit.org/show_bug.cgi?id=178885

        Unreviewed.

        * platform/ios/TestExpectations:
        * platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:
        * platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:

2017-10-26  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Update expected results for fast/text/international/complex-character-based-fallback.html
        https://bugs.webkit.org/show_bug.cgi?id=178884
        <rdar://problem/33602192>

        Unreviewed.

        Test gardening.

        * platform/ios/TestExpectations:
        * platform/ios/fast/text/international/complex-character-based-fallback-expected.png: Added.
        * platform/ios/fast/text/international/complex-character-based-fallback-expected.txt:

2017-10-26  Youenn Fablet  <youenn@apple.com>

        http/tests/workers/service/service-worker-cache-api.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=178877

        Reviewed by Alex Christensen.

        Marking test as PASS/FAIL.
        Changing test to finish after 10 seconds.
        Beefing up logging to help identifiying flakiness reason.

        * TestExpectations:
        * http/tests/workers/service/resources/service-worker-cache-api-worker.js:
        (event.event.respondWith.promise.then):
        * http/tests/workers/service/resources/service-worker-cache-api.js:
        (async.test):
        * http/tests/workers/service/service-worker-cache-api.https-expected.txt:

2017-10-26  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/video-mute.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177501

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r223984.

        Caused LayoutTest assertion failures.

        Reverted changeset:

        "When navigating back to a page, compositing layers may not
        use accelerated drawing"
        https://bugs.webkit.org/show_bug.cgi?id=178749
        https://trac.webkit.org/changeset/223984

2017-10-25  Alex Christensen  <achristensen@webkit.org>

        Rebase contentextensions test expectations
        https://bugs.webkit.org/show_bug.cgi?id=178841

        Reviewed by Alexey Proskuryakov.

        They've been marked as flaky for so long that nobody has rebased them.  The URLParser
        has changed underneath them, DOM error reporting has changed, etc.  The first step to
        gaining this test coverage back again is rebasing.

        * http/tests/contentextensions/block-everything-if-domain-expected.txt:
        * http/tests/contentextensions/block-everything-unless-domain-redirect-expected.txt:
        * http/tests/contentextensions/character-set-basic-support-expected.txt:
        * http/tests/contentextensions/main-resource-expected.txt:
        * http/tests/contentextensions/main-resource-redirect-blocked-expected.txt:
        * http/tests/contentextensions/main-resource-redirect-error-expected.txt:
        * http/tests/contentextensions/make-https-expected.txt:
        * http/tests/contentextensions/plugin-doesnt-crash-expected.txt:
        * http/tests/contentextensions/sync-xhr-blocked-expected.txt:
        * http/tests/contentextensions/text-track-blocked-expected.txt:

2017-10-26  Matt Lewis  <jlewis3@apple.com>

        Skipped webrtc/video-replace-muted-track.html on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=173608

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r224019.

        This change caused API test WebKit.MSEIsPlayingAudio to time
        out.

        Reverted changeset:

        "XMLHttpRequest should not treat file URLs as same origin"
        https://bugs.webkit.org/show_bug.cgi?id=178565
        https://trac.webkit.org/changeset/224019

2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r223994.

        The LayoutTest for this change is failing.

        Reverted changeset:

        "Add service worker handle fetch support for all subresource
        requests"
        https://bugs.webkit.org/show_bug.cgi?id=178769
        https://trac.webkit.org/changeset/223994

2017-10-25  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for compositing/tiling/non-active-window-tiles-size.html.
        https://bugs.webkit.org/show_bug.cgi?id=171763

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations: Remove Debug-only flag.

2017-10-25  Brent Fulgham  <bfulgham@apple.com>

        XMLHttpRequest should not treat file URLs as same origin
        https://bugs.webkit.org/show_bug.cgi?id=178565
        <rdar://problem/11115901>

        Reviewed by Ryosuke Niwa.

        * fast/xmlhttprequest/resources/xmlhttprequest-access-self-as-file-real.html: Added.
        * fast/xmlhttprequest/xmlhttprequest-access-self-as-file.html: Added.
        * fast/xmlhttprequest/xmlhttprequest-access-self-as-file-expected.txt: Added.
        * fast/xmlhttprequest/xmlhttprequest-access-self-as-blob-expected.txt: Added.
        * fast/xmlhttprequest/xmlhttprequest-access-self-as-blob.html: Added.
        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: Rebaseline test now that we reject
          XHR to local file URLs.
        * platform/ios/fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: Rebaselined.
        * platform/wk2/TestExpectations: Skip test since 'beginDragWithFiles' is not supported in WKTR.

2017-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r222090): [HarfBuzz] Arabic shaping is broken except for first word in line
        https://bugs.webkit.org/show_bug.cgi?id=178625

        Reviewed by Michael Catanzaro.

        Rebaseline several tests that have been improved.

        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.png:
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.txt:
        * platform/gtk/fast/text/international/hebrew-vowels-expected.png:
        * platform/gtk/fast/text/international/hebrew-vowels-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
        * platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.png:
        * platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.txt:

2017-10-26  Ryosuke Niwa  <rniwa@webkit.org>

        LayoutTest http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=178828

        Reviewed by Wenson Hsieh.

        Removed the superflous call to finishJSTest after 3s.

        * http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin.html:

2017-10-25  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: provide a way to enable/disable event listeners
        https://bugs.webkit.org/show_bug.cgi?id=177451
        <rdar://problem/34994925>

        Reviewed by Joseph Pecoraro.

        * inspector/dom/setEventListenerDisabled-expected.txt: Added.
        * inspector/dom/setEventListenerDisabled.html: Added.

2017-10-25  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Canvas Tab: starting a second recording doesn't show red titlebar if the first recording was empty
        https://bugs.webkit.org/show_bug.cgi?id=178805
        <rdar://problem/35176303>

        Reviewed by Brian Burg.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:

2017-10-25  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: replace TypeVerifier with subclasses of WI.Collection
        https://bugs.webkit.org/show_bug.cgi?id=178045
        <rdar://problem/35174307>

        Reviewed by Brian Burg.

        * inspector/unit-tests/collection-expected.txt:
        * inspector/unit-tests/collection.html:

2017-10-25  Youenn Fablet  <youenn@apple.com>

        Add service worker handle fetch support for all subresource requests
        https://bugs.webkit.org/show_bug.cgi?id=178769

        Reviewed by Chris Dumez.

        * http/tests/workers/service/image-fetch.https-expected.txt: Added.
        * http/tests/workers/service/image-fetch.https.html: Added.
        * http/tests/workers/service/resources/image-fetch-worker.js: Added.
        (event.event.request.url.indexOf):
        (event.event.request.url.endsWith):
        * http/tests/workers/service/resources/image-fetch.js: Added.
        (done):
        (async.loadedImage):
        (async.erroredImage):
        (async.logStatus):
        (async.test):

2017-10-25  Simon Fraser  <simon.fraser@apple.com>

        Aliasing of text in CSS specs is blocky and ugly
        https://bugs.webkit.org/show_bug.cgi?id=174946

        Reviewed by Dean Jackson.

        * compositing/contents-format/subpixel-antialiased-nested-layer-expected.txt: Added.
        * compositing/contents-format/subpixel-antialiased-nested-layer.html: Added.

2017-10-25  Simon Fraser  <simon.fraser@apple.com>

        When navigating back to a page, compositing layers may not use accelerated drawing
        https://bugs.webkit.org/show_bug.cgi?id=178749
        rdar://problem/35158946

        Reviewed by Dean Jackson.
        
        Moved iframes/resources/page-cache-helper.html up to compositing/resources/go-back.html.

        * compositing/accelerated-layers-after-back-expected.txt: Added.
        * compositing/accelerated-layers-after-back.html: Added.
        * compositing/iframes/page-cache-layer-tree.html:
        * compositing/page-cache-back-crash.html:
        * compositing/resources/go-back.html: Renamed from LayoutTests/compositing/iframes/resources/page-cache-helper.html.
        * platform/ios/compositing/accelerated-layers-after-back-expected.txt: Added.

2017-10-25  Alex Christensen  <achristensen@webkit.org>

        LayoutTest http/tests/loading/basic-credentials-sent-automatically.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=159427

        Reviewed by Youenn Fablet.
        
        Use setTimeout to make load delegate callback printing more deterministic.
        The important part is that the credentials are printed, and they still are.

        * http/tests/loading/basic-credentials-sent-automatically-expected.txt:
        * http/tests/loading/basic-credentials-sent-automatically.html:
        * platform/mac/TestExpectations:
        * platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:

2017-10-25  Youenn Fablet  <youenn@apple.com>

        Enable ServiceWorker to fetch resources
        https://bugs.webkit.org/show_bug.cgi?id=178673

        Reviewed by Brady Eidson.

        * http/tests/workers/service/resources/service-worker-fetch-worker.js: Added.
        * http/tests/workers/service/resources/service-worker-fetch.js: Added.
        * http/tests/workers/service/service-worker-fetch-expected.txt: Added.
        * http/tests/workers/service/service-worker-fetch.html: Added.

2017-10-25  Jer Noble  <jer.noble@apple.com>

        UNPACK_FLIP_Y is broken for MSE-backed videos
        https://bugs.webkit.org/show_bug.cgi?id=178774

        Reviewed by Dean Jackson.

        * fast/canvas/webgl/resources/orientation-flipped-fragmented.mp4: Added.
        * fast/canvas/webgl/resources/orientation-normal-fragmented.mp4: Added.
        * fast/canvas/webgl/texImage2D-mse-flipY-false-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-mse-flipY-false.html: Added.
        * fast/canvas/webgl/texImage2D-mse-flipY-true-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-mse-flipY-true.html: Added.
        * platform/ios/TestExpectations:

2017-10-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/loading/basic-credentials-sent-automatically.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=159427

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-10-25  Chris Dumez  <cdumez@apple.com>

        Add support for unregistering a service worker
        https://bugs.webkit.org/show_bug.cgi?id=178735

        Reviewed by Brady Eidson.

        Add layout test coverage.

        * http/tests/workers/service/basic-unregister.https-expected.txt: Added.
        * http/tests/workers/service/basic-unregister.https.html: Added.
        * http/tests/workers/service/resources/basic-unregister.js: Added.

2017-10-25  Andy Estes  <aestes@apple.com>

        [Payment Request] Implement the "user aborts the payment request" algorithm
        https://bugs.webkit.org/show_bug.cgi?id=178810

        Reviewed by Tim Horton.

        * http/tests/paymentrequest/payment-request-show-method.https-expected.txt:
        * http/tests/paymentrequest/payment-request-show-method.https.html:

2017-10-25  Daniel Bates  <dabates@apple.com>

        Attempt to fix flaky test fast/writing-mode/english-bt-text-with-spelling-marker.html following r223938
        (https://bugs.webkit.org/show_bug.cgi?id=178759)

        Call internals.updateEditorUINowIfScheduled() to force the editor UI to update and add spelling markers.

        * fast/writing-mode/english-bt-text-with-spelling-marker-expected.html:
        * fast/writing-mode/english-bt-text-with-spelling-marker.html:

2017-10-25  Eric Carlson  <eric.carlson@apple.com>

        Web Inspector: Enable WebKit logging configuration and display
        https://bugs.webkit.org/show_bug.cgi?id=177027
        <rdar://problem/33964767>

        Unreviewed, fix flakey test.

        * inspector/console/webcore-logging-expected.txt:
        * inspector/console/webcore-logging.html:

2017-10-25  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: preserve Recordings for each Canvas after closing the Canvas tab
        https://bugs.webkit.org/show_bug.cgi?id=178767
        <rdar://problem/35167239>

        Reviewed by Brian Burg.

        * inspector/canvas/resources/recording-utilities.js:
        (TestPage.registerInitializer.window.startRecording):
        Add assertions that the recording is added to the canvas' RecordingCollection.

2017-10-24  Ryosuke Niwa  <rniwa@webkit.org>

        RenderSVGModelObject::checkIntersection triggers layout
        https://bugs.webkit.org/show_bug.cgi?id=178710

        Reviewed by Simon Fraser.

        Added the support for SVG documents to js-test.js, and added a basic test for checkIntersection
        and checkEnclosure using it.

        * resources/js-test.js:
        (ensureRootElement): Added. Creates a foreignObject element inside a SVG document.
        (moveForeignObjectToTopIfNeeded): Added. In SVG, z-index order is determined by the element order.
        In order to make the results visible, we move the foreignObject to the top by appending to the end
        of the document element.
        (getOrCreate):
        (debug): Run innerHTML before appendChild as setting namespaceURI before running innerHTML would
        result in span's being parsed as SVG elements.
        (insertStyleSheet):
        (finishJSTest):
        * svg/custom/check-intersection-basic-expected.txt: Added.
        * svg/custom/check-intersection-basic.svg: Added.

2017-10-24  Andy Estes  <aestes@apple.com>

        [Apple Pay] Implement a paymentmethodselected event for PaymentRequest
        https://bugs.webkit.org/show_bug.cgi?id=178765

        Reviewed by Tim Horton.

        * http/tests/ssl/applepay/ApplePayPaymentMethodUpdateEvent.https-expected.txt: Added.
        * http/tests/ssl/applepay/ApplePayPaymentMethodUpdateEvent.https.html: Added.

2017-10-24  Daniel Bates  <dabates@apple.com>

        Test fast/writing-mode/english-bt-text-with-spelling-marker.html should wait for editing commands to complete
        https://bugs.webkit.org/show_bug.cgi?id=178759

        Reviewed by Ryosuke Niwa.

        Make use of typeCharacterCommand() from (LayoutTests/editing/editing.js) to type each character
        with a delay and delay test completion until all characters have been typed.

        * fast/writing-mode/english-bt-text-with-spelling-marker-expected.html:
        * fast/writing-mode/english-bt-text-with-spelling-marker.html:

2017-10-24  Youenn Fablet  <youenn@apple.com>

        Enable service worker to use cache storage api
        https://bugs.webkit.org/show_bug.cgi?id=178684

        Reviewed by Brady Eidson.

        * http/tests/workers/service/resources/service-worker-cache-api-worker.js: Added.
        * http/tests/workers/service/resources/service-worker-cache-api.js: Added.
        * http/tests/workers/service/service-worker-cache-api.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-cache-api.https.html: Added.

2017-10-24  Matt Lewis  <jlewis3@apple.com>

        Skipped imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html on High Sierra Release.
        https://bugs.webkit.org/show_bug.cgi?id=178553

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-24  Eric Carlson  <eric.carlson@apple.com>

        Web Inspector: Enable WebKit logging configuration and display
        https://bugs.webkit.org/show_bug.cgi?id=177027
        <rdar://problem/33964767>

        Reviewed by Joseph Pecoraro.

        * inspector/console/webcore-logging-expected.txt: Added.
        * inspector/console/webcore-logging.html: Added.
        * platform/mac/TestExpectations: Skip new test on Yosemite and ElCapitan.
        * platform/win/TestExpectations: Skip new test.

2017-10-24  Dean Jackson  <dino@apple.com>

        Implement resizing options for ImageBitmap rendering
        https://bugs.webkit.org/show_bug.cgi?id=178687
        <rdar://problem/35135417>

        Reviewed by Sam Weinig.

        More ImageBitmap tests, this time focusing on sizing.

        * http/wpt/2dcontext/imagebitmap/common.js:
        (createCanvasOfSize):
        (create9x9CanvasWith2dContext):
        (create18x18CanvasWith2dContext):

            Helper functions.

        * http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing-expected.txt: Added.
        * http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing.html: Added.
        * http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap.html:
        * http/wpt/2dcontext/imagebitmap/resources/target-blue-dot-no-intrinsic.svg: Added.
        * http/wpt/2dcontext/imagebitmap/resources/target-blue-dot.png: Renamed from LayoutTests/http/wpt/2dcontext/imagebitmap/target-blue-dot.png.
        * http/wpt/2dcontext/imagebitmap/resources/target-blue-dot.svg: Added.

2017-10-24  Chris Dumez  <cdumez@apple.com>

        Add initial implementation for serviceWorker.postMessage()
        https://bugs.webkit.org/show_bug.cgi?id=178534

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/basic-ServiceWorker-postMessage.https-expected.txt: Added.
        * http/tests/workers/service/basic-ServiceWorker-postMessage.https.html: Added.
        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js: Added.
        * http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js: Added.

2017-10-24  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed test gardening. Update inspector/network/har tests.

        * http/tests/inspector/network/har/har-page-expected.txt:
        Size of the test file changed and results needed to be updated.

2017-10-24  Ryan Haddad  <ryanhaddad@apple.com>

        Skip fast/html/marquee-reparent-check.html on macOS debug.
        https://bugs.webkit.org/show_bug.cgi?id=178465

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-10-24  Ross Kirsling  <ross.kirsling@sony.com>

        Web Inspector: Layer mutations should be purely based on layerId, not based on nodeId
        https://bugs.webkit.org/show_bug.cgi?id=178554

        Reviewed by Devin Rousso.

        * inspector/layers/layer-tree-manager-expected.txt:
        * inspector/layers/layer-tree-manager.html:

2017-10-24  Adrian Perez de Castro  <aperez@igalia.com>

        [GTK] Unskip layout tests editing/deleting/delete-emoji-1.html & editing/deleting/delete-emoji-1.html
        https://bugs.webkit.org/show_bug.cgi?id=178742

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: Updated expectations for the emoji deletion layout tests.
        * platform/gtk/editing/deleting/delete-emoji-1-expected.txt: Added.
        * platform/gtk/editing/deleting/delete-emoji-expected.txt: Added.

2017-10-24  Adrian Perez de Castro  <aperez@igalia.com>

        [WPE] Remove expectations for tests which do not exist anymore
        https://bugs.webkit.org/show_bug.cgi?id=178717

        Unreviewed WPE test gardening.

        This avoids the following warning being emitted by run-webkit-tests:

          --lint-test-files warnings:
          LayoutTests/platform/wpe/TestExpectations:366 Path does not exist. fast/events/constructors/device-proximity-event-constructor.html
          LayoutTests/platform/wpe/TestExpectations:902 Path does not exist. http/tests/dom/document-attributes-null-handling

        * platform/wpe/TestExpectations:

2017-10-24  Adrian Perez de Castro  <aperez@igalia.com>

        Unreviewed GTK+ test gardening.

        * platform/gtk/TestExpectations:

2017-10-24  Andy Estes  <aestes@apple.com>

        [Payment Request] Implement the "PaymentRequest updated" algorithm
        https://bugs.webkit.org/show_bug.cgi?id=178689

        Reviewed by Alex Christensen.

        * http/tests/paymentrequest/payment-request-change-shipping-address.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-change-shipping-address.https.html: Copied from imported/w3c/web-platform-tests/payment-request/shipping-address-changed-manual.https.html.
        * http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-change-shipping-option.https.html: Copied from imported/w3c/web-platform-tests/payment-request/change-shipping-option-manual.https.html.
        * http/tests/paymentrequest/resources/helpers.js:
        (async.getPaymentRequestResponse):
        * http/tests/paymentrequest/updateWith-method-pmi-handling.https-expected.txt: Added.
        * http/tests/paymentrequest/updateWith-method-pmi-handling.https.html: Copied from imported/w3c/web-platform-tests/payment-request/updateWith-method-pmi-handling-manual.https.html.

2017-10-24  David Kilzer  <ddkilzer@apple.com>

        [Regression] Webkit "-apple-system" font fallback token handles font weights of PingFang incorrectly.
        https://bugs.webkit.org/show_bug.cgi?id=177345
        <rdar://problem/32975942>

        Unreviewed fix to move tests into LayoutTests.

        If these tests start failing, please roll out this commit and
        r223589.

        * fast/text/system-ui-chinese-bold-fallback-expected.html: Renamed from fast/text/system-ui-chinese-bold-fallback-expected.html.
        * fast/text/system-ui-chinese-bold-fallback.html: Renamed from fast/text/system-ui-chinese-bold-fallback.html.

2017-10-24  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed test gardening. Improved attempt to reduce flakiness of inspector/network/har tests.

        * http/tests/inspector/network/har/har-page-expected.txt:
        * http/tests/inspector/network/har/har-page.html:
        Earlier filters were taking affect, so move these checks up.

2017-10-24  Antti Koivisto  <antti@apple.com>

        Create inline wrappers for before/after pseudo elements that have display:contents
        https://bugs.webkit.org/show_bug.cgi?id=178722

        Reviewed by Ryosuke Niwa.

        * TestExpectations:

        Enable

        imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-before-after-first-letter-001.html and
        imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-before-after-001.html

2017-10-24  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/css-generated-content/details-summary-before-after.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178724

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-24  Antoine Quint  <graouts@apple.com>

        [Web Animations] Add basic timing and target properties
        https://bugs.webkit.org/show_bug.cgi?id=178674

        Reviewed by Dean Jackson.

        Add new tests to check the behavior of the newly exposed interfaces,
        constructors and properties.

        * webanimations/animation-effect-expected.txt: Added.
        * webanimations/animation-effect-timing-expected.txt: Added.
        * webanimations/animation-effect-timing.html: Added.
        * webanimations/animation-effect.html: Added.
        * webanimations/animation-interface-effect-property-expected.txt: Added.
        * webanimations/animation-interface-effect-property.html: Added.
        * webanimations/animation-interface-start-time-property-expected.txt: Added.
        * webanimations/animation-interface-start-time-property.html: Added.
        * webanimations/keyframe-effect-expected.txt: Added.
        * webanimations/keyframe-effect-interface-timing-duration-expected.txt: Added.
        * webanimations/keyframe-effect-interface-timing-duration.html: Added.
        * webanimations/keyframe-effect.html: Added.

2017-10-24  Nan Wang  <n_wang@apple.com>

        AX: Crash at -[WebAccessibilityObjectWrapper _accessibilityMinValue] + 24
        https://bugs.webkit.org/show_bug.cgi?id=178697

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/slider-min-value-crash-expected.txt: Added.
        * accessibility/ios-simulator/slider-min-value-crash.html: Added.

2017-10-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed WPE test gardening

        * platform/wpe/TestExpectations:

2017-10-23  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed test gardening. Try to reduce flakiness of inspector/network/har tests.

        * http/tests/inspector/network/har/har-page-expected.txt:
        * http/tests/inspector/network/har/har-page.html:
        Remove properties which may sometimes be optional.
        Filter contents which are shared across tests and might change.

2017-10-23  Youenn Fablet  <youenn@apple.com>

        Multiple imported layout tests are crashing and timing out.
        https://bugs.webkit.org/show_bug.cgi?id=178685

        Unreviewed.

        * TestExpectations: skipping cache storage tests in service worker context until it is functional.

2017-10-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Please support HAR Export for network traffic
        https://bugs.webkit.org/show_bug.cgi?id=146692
        <rdar://problem/7463672>

        Reviewed by Brian Burg.

        * http/tests/inspector/network/har/har-basic-expected.txt: Added.
        * http/tests/inspector/network/har/har-basic.html: Added.
        * http/tests/inspector/network/har/har-page-expected.txt: Added.
        * http/tests/inspector/network/har/har-page.html: Added.
        Tests with mock resources / data and real resources.

        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        Skip on platforms that cannot provide complete metrics, so some optional
        fields may be missing.

2017-10-23  Andy Estes  <aestes@apple.com>

        [Payment Request] Resolve PaymentRequest.show()'s accept promise when a payment is authorized
        https://bugs.webkit.org/show_bug.cgi?id=178609
        <rdar://problem/33542813>

        Reviewed by Alex Christensen.

        * http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html: Copied from imported/w3c/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html.
        * http/tests/paymentrequest/payment-response-complete-method.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-response-complete-method.https.html: Copied from imported/w3c/web-platform-tests/payment-request/payment-response/complete-method-manual.https.html.
        * http/tests/paymentrequest/payment-response-methodName-attribute.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-response-methodName-attribute.https.html: Copied from imported/w3c/web-platform-tests/payment-request/payment-response/methodName-attribute-manual.https.html.
        * http/tests/paymentrequest/payment-response-payerEmail-attribute.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-response-payerEmail-attribute.https.html: Copied from imported/w3c/web-platform-tests/payment-request/payment-response/payerEmail-attribute-manual.https.html.
        * http/tests/paymentrequest/payment-response-payerName-attribute.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-response-payerName-attribute.https.html: Copied from imported/w3c/web-platform-tests/payment-request/payment-response/payerName-attribute-manual.https.html.
        * http/tests/paymentrequest/payment-response-payerPhone-attribute.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-response-payerPhone-attribute.https.html: Copied from imported/w3c/web-platform-tests/payment-request/payment-response/payerPhone-attribute-manual.https.html.
        * http/tests/paymentrequest/resources/helpers.js: Copied from imported/w3c/web-platform-tests/payment-request/payment-response/helpers.js.
        (test):
        (async.getPaymentResponse):
        (async.getPaymentRequestResponse):
        (async.runTest):

2017-10-23  Chris Dumez  <cdumez@apple.com>

        Drop confusing Event::dispatched() method
        https://bugs.webkit.org/show_bug.cgi?id=178670

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * fast/events/initEvent-after-dispatching-expected.txt: Added.
        * fast/events/initEvent-after-dispatching.html: Added.

2017-10-23  Antti Koivisto  <antti@apple.com>

        Remember previous child renderer during render tree update
        https://bugs.webkit.org/show_bug.cgi?id=178659

        Reviewed by Zalan Bujtas.

        * fast/block/float/float-not-removed-from-pre-block-expected.txt:
        * platform/mac/fast/css-generated-content/details-summary-before-after-expected.txt:

2017-10-23  Daniel Bates  <dabates@apple.com>

        Add tests to ensure spelling error dots are drawn in the correct place in bottom-to-top
        and right-to-left writing modes
        https://bugs.webkit.org/show_bug.cgi?id=178671

        Reviewed by Simon Fraser.

        * fast/writing-mode/english-bt-text-with-spelling-marker-expected.html: Added.
        * fast/writing-mode/english-bt-text-with-spelling-marker.html: Added.
        * fast/writing-mode/english-rl-text-with-spelling-marker-expected.html: Added.
        * fast/writing-mode/english-rl-text-with-spelling-marker.html: Added.
        * platform/ios/TestExpectations: Skip the test on iOS as it does not support spelling and grammar
        marker painting.
        * platform/mac-wk2/TestExpectations: Mark the test as an image failure until we fix <https://bugs.webkit.org/show_bug.cgi?id=105616>.

2017-10-22  Dean Jackson  <dino@apple.com>

        Implement drawImage(ImageBitmap) on 2d canvas
        https://bugs.webkit.org/show_bug.cgi?id=178653
        <rdar://problem/35104360>

        Reviewed by Antoine Quint.

        Add a new test that exercises drawImage(ImageBitmap)
        that will be contributed back to Web Platform Tests.

        * http/wpt/2dcontext/imagebitmap/common.js: Copied (mostly) from WPT.
        (create9x9CanvasWith2dContext): New helper function to create a canvas
        and provide a rendering context.
        * http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap-expected.txt: Added.
        * http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap.html: Added.
        * http/wpt/2dcontext/imagebitmap/target-blue-dot.png: Added.

2017-10-23  Daniel Bates  <dabates@apple.com>

        Add tests to ensure spelling error dots are drawn in the correct place for overlapping lines
        https://bugs.webkit.org/show_bug.cgi?id=178611
        <rdar://problem/35105805>

        Reviewed by Zalan Bujtas.

        Add tests to ensure that we paint the spelling error dots in the correct place for
        overlapping lines.

        * editing/spelling/spelling-markers-in-overlapping-lines-expected.html: Added.
        * editing/spelling/spelling-markers-in-overlapping-lines-large-font-expected.html: Added.
        * editing/spelling/spelling-markers-in-overlapping-lines-large-font.html: Added.
        * editing/spelling/spelling-markers-in-overlapping-lines.html: Added.
        * platform/ios/TestExpectations: Skip the test on iOS as it does not support spelling and grammar
        marker painting.
        * platform/mac-wk2/TestExpectations: Mark the test as an image failure until we fix <https://bugs.webkit.org/show_bug.cgi?id=105616>.

2017-10-23  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Unskip the SVG tests and generate the
        required platform-specific baselines.

        * platform/wpe/TestExpectations:
        * platform/wpe/svg: Added ~800 baselines.

2017-10-23  Youenn Fablet  <youenn@apple.com>

        TestController should clear all fetch caches when resetting its state
        https://bugs.webkit.org/show_bug.cgi?id=178486
        <rdar://problem/35066305>

        Reviewed by Chris Dumez.

        Beefing up the test by using fetch event handler to return responses
        previously hard coded in ServiceWorkerContextManager.

        * http/tests/workers/service/basic-fetch.https-expected.txt:
        * http/tests/workers/service/resources/basic-fetch-worker.js:
        (event.event.request.url.indexOf):
        * http/tests/workers/service/resources/basic-fetch.js:

2017-10-23  Ryan Haddad  <ryanhaddad@apple.com>

        Mark compositing/visible-rect/iframe-no-layers.html as a flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=178669

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-10-22  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION(r219675): Web Inspector: CommandLineAPI getEventListeners does not work
        https://bugs.webkit.org/show_bug.cgi?id=178650
        <rdar://problem/35116347>

        Reviewed by Sam Weinig.

        * inspector/console/command-line-api-getEventListeners-expected.txt: Added.
        * inspector/console/command-line-api-getEventListeners.html: Added.

2017-10-22  Antoine Quint  <graouts@apple.com>

        [Web Animations] Add animations to the timeline
        https://bugs.webkit.org/show_bug.cgi?id=178643

        Reviewed by Dean Jackson.

        Add a new test that checks that animations created with a timeline
        are added to the provided timeline.

        * webanimations/animation-creation-addition-expected.txt: Added.
        * webanimations/animation-creation-addition.html: Added.

2017-10-21  Dean Jackson  <dino@apple.com>

        createImageBitmap with basic HTMLImageElement
        https://bugs.webkit.org/show_bug.cgi?id=178619
        <rdar://problem/35104118>

        Reviewed by Antoine Quint.

        Make a better test for createImageBitmap. This will be
        submitted to Web Platform Tests.

        * http/wpt/2dcontext/imagebitmap/createImageBitmap-expected.txt: Added.
        * http/wpt/2dcontext/imagebitmap/createImageBitmap.html: Added.
        * http/wpt/common/canvas-tests.css: Added.
        * http/wpt/common/canvas-tests.js: Added.
        * http/wpt/images/pattern.png: Added.

2017-10-21  Antti Koivisto  <antti@apple.com>

        Support ::before/::after pseudo elements with display:contents
        https://bugs.webkit.org/show_bug.cgi?id=178584

        Reviewed by Ryosuke Niwa.

        * TestExpectations: Enable imported/w3c/web-platform-tests/css/css-display-3/display-contents-before-after-002.html

2017-10-20  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Support `async test() { ... }` in Inspector Test Suites
        https://bugs.webkit.org/show_bug.cgi?id=178614

        Reviewed by Devin Rousso.

        Add the ability to have test functions be async functions. A successful
        async test function just needs to complete evaluation. To indicate
        failure it should throw an exception.

            suite.addTestCase({
                name: "ExceptionOfNormal",
                async test() {
                    InspectorTest.expectThat(...);
                }
            });

            suite.addTestCase({
                name: "ExampleOfRejection",
                async test() {
                    let value = await SomeAgent.method();
                    if (value.error)
                        throw "Exception";
                    ...
                }
            });

        Using async test functions has the added benefit that a runtime exception
        inside of asynchronous test code will reject the current test case instead
        of timing out. For example...
        
            suite.addTestCase({
                name: "ExampleOfRejectionThroughRuntimeException",
                async test() {
                    let arr = [];
                    arr.this.does.not.exist;
                }
            });
        
        ... should will lead to a failure instead of a timeout.
        
        This should allow us to structure some common tests more naturally, like so:

            suite.addTestCase({
                name: "ExampleOfNormalAsyncTest",
                async test() {
                    InspectorTest.evaluateInPage(`...`);
                    let event = await WI.Manager.awaitEvent(...);
                    let resource = event.data.resource;
                    InspectorTest.expectEqual(...);
                    InspectorTest.expectEqual(...);
                    InspectorTest.expectEqual(...);
                }
            });

        * inspector/unit-tests/async-test-suite-expected.txt:
        * inspector/unit-tests/async-test-suite.html:
        * inspector/unit-tests/target-manager.html:

2017-10-20  Ryosuke Niwa  <rniwa@webkit.org>

        http/tests/security/clipboard/drag-drop-html-cross-origin-iframe-in-same-origin.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=178606

        Reviewed by Wenson Hsieh.

        The bug was caused by the race condition during the page loading of iframes.

        Waiting for message event wasn't doing anything useful because it was receiving the message from
        source iframe before the drag & drop had started.

        Fixed the bug by waiting for the second message event. Also replaced the wait for load event
        by the wait for the first message event for clarity.

        * http/tests/security/clipboard/drag-drop-html-cross-origin-iframe-in-same-origin.html:

2017-10-20  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS] Rebaseline compositing tests
        https://bugs.webkit.org/show_bug.cgi?id=178492

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/ios/compositing/backing/child-layer-no-backing-expected.txt: Added.
        * platform/ios/compositing/contents-scale/animating-expected.txt:
        * platform/ios/compositing/geometry/ancestor-overflow-change-expected.txt:
        * platform/ios/compositing/geometry/fixed-position-expected.txt:
        * platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt: Added.
        * platform/ios/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Added.
        * platform/ios/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.txt: Added.
        * platform/ios/compositing/geometry/preserve-3d-switching-expected.txt: Added.
        * platform/ios/compositing/geometry/tall-page-composited-expected.txt: Added.
        * platform/ios/compositing/geometry/video-fixed-scrolling-expected.txt: Added.
        * platform/ios/compositing/geometry/video-opacity-overlay-expected.txt: Added.
        * platform/ios/compositing/iframes/invisible-nested-iframe-show-expected.txt:
        * platform/ios/compositing/iframes/overlapped-nested-iframes-expected.txt: Renamed from LayoutTests/platform/ios-wk2/compositing/iframes/overlapped-nested-iframes-expected.txt.
        * platform/ios/compositing/images/direct-image-object-fit-expected.txt: Added.
        * platform/ios/compositing/layer-creation/animation-overlap-with-children-expected.txt: Removed.
        * platform/ios/compositing/layer-creation/fixed-position-and-transform-expected.txt: Renamed from LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-and-transform-expected.txt.
        * platform/ios/compositing/overflow/ancestor-overflow-expected.txt:
        * platform/ios/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt: Added.
        * platform/ios/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Added.
        * platform/ios/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Added.
        * platform/ios/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
        * platform/ios/compositing/overflow/fixed-position-ancestor-clip-expected.txt:
        * platform/ios/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor-expected.txt: Added.
        * platform/ios/compositing/reflections/direct-image-object-fit-reflected-expected.txt: Added.
        * platform/ios/compositing/reflections/load-video-in-reflection-expected.txt: Added.
        * platform/ios/compositing/reflections/nested-reflection-on-overflow-expected.txt:
        * platform/ios/compositing/repaint/page-scale-repaint-expected.txt: Added.
        * platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt: Renamed from LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt.
        * platform/ios/compositing/rtl/rtl-overflow-scrolling-expected.txt: Added.
        * platform/ios/compositing/self-painting-layers-expected.txt: Added.
        * platform/ios/compositing/tiling/huge-layer-img-expected.txt: Added.
        * platform/ios/compositing/visible-rect/3d-transform-style-expected.txt: Added.
        * platform/ios/compositing/visible-rect/animated-expected.txt: Added.
        * platform/ios/compositing/visible-rect/iframe-no-layers-expected.txt: Added.
        * platform/ios/compositing/visible-rect/iframe-with-layers-outside-viewport-expected.txt: Added.
        * platform/ios/compositing/visible-rect/mask-layer-coverage-expected.txt: Added.

2017-10-20  Matt Lewis  <jlewis3@apple.com>

        Marked plugins/js-from-destroy.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176881

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-20  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=178536

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-20  Youenn Fablet  <youenn@apple.com>

        ResourceResponse should have a ServiceWorker source
        https://bugs.webkit.org/show_bug.cgi?id=178593

        Reviewed by Alex Christensen.

        * http/tests/workers/service/basic-fetch.https-expected.txt:
        * http/tests/workers/service/resources/basic-fetch.js:
        (async.test):

2017-10-20  Antoine Quint  <graouts@apple.com>

        [Web Animations] Provide basic timeline and animation interfaces
        https://bugs.webkit.org/show_bug.cgi?id=178526

        Reviewed by Dean Jackson.

        Basic test coverage to check that we are exposing a DocumentTimeline instance on
        the Document and that we can construct Animations, optionally associated with a timeline.

        * platform/mac-elcapitan/TestExpectations:
        * webanimations/animation-creation-basic-expected.txt: Added.
        * webanimations/animation-creation-basic.html: Added.
        * webanimations/document-timeline-expected.txt: Added.
        * webanimations/document-timeline.html: Added.

2017-10-20  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r223744, r223750, and r223751.
        https://bugs.webkit.org/show_bug.cgi?id=178594

        These caused consistent failures in test that existed and were
        added in the patches. (Requested by mlewis13 on #webkit).

        Reverted changesets:

        "[JSC] ScriptFetcher should be notified directly from module
        pipeline"
        https://bugs.webkit.org/show_bug.cgi?id=178340
        https://trac.webkit.org/changeset/223744

        "Unreviewed, fix changed line number in test expect files"
        https://bugs.webkit.org/show_bug.cgi?id=178340
        https://trac.webkit.org/changeset/223750

        "Unreviewed, follow up to reflect comments"
        https://bugs.webkit.org/show_bug.cgi?id=178340
        https://trac.webkit.org/changeset/223751

2017-10-20  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Adding GTK+-specific baselines for a bunch
        of HTTP tests, and adding failure expectations for some others.

        * platform/gtk/TestExpectations:
        * platform/gtk/http/tests/security/contentSecurityPolicy/1.1: Added.
        * platform/gtk/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Added.
        * platform/gtk/http/tests/security/module-no-mime-type-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext: Added.
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap: Added.
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: Added.

2017-10-20  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Update expectations for webkitConvertPoint.html
        https://bugs.webkit.org/show_bug.cgi?id=178582

        Reviewed by Michael Catanzaro.

        This at least makes the test useful as a regression test.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/dom/Window/webkitConvertPoint-expected.txt:

2017-10-20  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Events missing and state incorrect for aria-activedescendant
        https://bugs.webkit.org/show_bug.cgi?id=178523

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-activedescendant-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-activedescendant-changed-notification.html: Added.
        * accessibility/gtk/aria-activedescendant-expected.txt: Added.
        * accessibility/gtk/aria-activedescendant.html: Added.

2017-10-20  Per Arne Vollan  <pvollan@apple.com>

        [Win] Mark http/tests/navigation/keyboard-events-during-provisional-navigation.html and
        http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html as failures.
        https://bugs.webkit.org/show_bug.cgi?id=178549

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-20  Ms2ger  <Ms2ger@igalia.com>

        Add the MAX_CLIENT_WAIT_TIMEOUT_WEBGL constant to WebGL2RenderingContext.
        https://bugs.webkit.org/show_bug.cgi?id=178572

        Reviewed by Žan Doberšek.

        * fast/canvas/webgl/webgl2/constants-expected.txt:
        * fast/canvas/webgl/webgl2/constants.html:

2017-10-20  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Managing failure expectations for
        a set of failing HTTP tests.

        * platform/wpe/TestExpectations:

2017-10-20  Miguel Gomez  <magomez@igalia.com>

        [GTK][WPE] Fix review comments on WEBPImageDecoder
        https://bugs.webkit.org/show_bug.cgi?id=178080

        Reviewed by Said Abou-Hallawa.

        Adjusted test duration.

        * fast/images/animated-webp.html:

2017-10-20  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Rebaselining CSS tests that were affected
        by recent font changes.

        * platform/wpe/css1/font_properties/font-expected.txt:
        * platform/wpe/css1/pseudo/firstline-expected.txt:
        * platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/wpe/css2.1/t051201-c23-first-line-00-b-expected.txt:
        * platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/wpe/css2.1/t1508-c527-font-00-b-expected.txt:
        * platform/wpe/css2.1/t1508-c527-font-06-b-expected.txt:
        * platform/wpe/css2.1/t1508-c527-font-07-b-expected.txt:
        * platform/wpe/css2.1/t1508-c527-font-10-c-expected.txt:

2017-10-20  Yusuke Suzuki  <utatane.tea@gmail.com>

        Unreviewed, fix changed line number in test expect files
        https://bugs.webkit.org/show_bug.cgi?id=178340

        * http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt:
        * http/tests/security/module-no-mime-type-expected.txt:

2017-10-19  Antti Koivisto  <antti@apple.com>

        Support ::before/::after pseudo elements on elements with display:contents
        https://bugs.webkit.org/show_bug.cgi?id=178513

        Reviewed by Ryosuke Niwa.

        * TestExpectations: Enable imported/w3c/web-platform-tests/css/css-display-3/display-contents-before-after-001.html

2017-10-20  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] ScriptFetcher should be notified directly from module pipeline
        https://bugs.webkit.org/show_bug.cgi?id=178340

        Reviewed by Sam Weinig.

        * http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt:
        * http/tests/security/module-no-mime-type-expected.txt:
        * js/dom/modules/module-execution-error-should-be-propagated-to-onerror-expected.txt:

2017-10-19  Youenn Fablet  <youenn@apple.com>

        Add preliminary support for ServiceWorker Handle Fetch
        https://bugs.webkit.org/show_bug.cgi?id=178475
        <rdar://problem/35066424>

        Reviewed by Chris Dumez.

        * http/tests/workers/service/basic-fetch.https-expected.txt: Added.
        * http/tests/workers/service/basic-fetch.https.html: Added.
        * http/tests/workers/service/resources/basic-fetch-worker.js: Added.
        * http/tests/workers/service/resources/basic-fetch.js: Added.

2017-10-19  Daniel Bates  <dabates@apple.com>

        Attempt to fix Legacy WebKit test failure following r223704
        (https://bugs.webkit.org/show_bug.cgi?id=178403)

        Call testRunner.setCanOpenWindows() to tell DumpRenderTree to allow the test to open a new window.

        * http/tests/security/referrer-policy-subframe-window-open.html:

2017-10-19  Tim Horton  <timothy_horton@apple.com>

        Expand r209943 to suppress paste during provisional navigation as well
        https://bugs.webkit.org/show_bug.cgi?id=178429
        <rdar://problem/33952830>

        Reviewed by Dean Jackson.

        * http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
        * http/tests/navigation/keyboard-events-during-provisional-navigation.html:
        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html:
        * http/tests/navigation/resources/keyboard-events-after-navigation.html:
        * http/tests/navigation/resources/keyboard-events-test.js:
        (runBeforeTest):
        (runTest):
        Copy a "d" to the clipboard before running the test, and paste it while running.
        I put the copy before running the test so that if someone comes along and
        blacklists copy during provisional load as well, the test for this behavior
        still actually tests the paste portion.
        Also ensure that paste events are not triggered during provisional navigation.

2017-10-19  Daniel Bates  <dabates@apple.com>

        Referrer policy should be inherited from creator
        https://bugs.webkit.org/show_bug.cgi?id=178403
        <rdar://problem/31546136>

        Add missing file that I inadvertently forgot to commit in r223697. The tests depend on this file.

        * http/tests/security/resources/nested-referrer-policy-postmessage.html: Added.

2017-10-19  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=178472

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-19  Daniel Bates  <dabates@apple.com>

        Referrer policy should be inherited from creator
        https://bugs.webkit.org/show_bug.cgi?id=178403
        <rdar://problem/31546136>

        Reviewed by Andy Estes.

        Add tests to ensure that the referrer policy of a document is initially inherited from its creator.

        * http/tests/security/referrer-policy-nested-subframe-expected.txt: Added.
        * http/tests/security/referrer-policy-nested-subframe.html: Added.
        * http/tests/security/referrer-policy-nested-window-open-expected.txt: Added.
        * http/tests/security/referrer-policy-nested-window-open.html: Added.
        * http/tests/security/referrer-policy-subframe-window-open-expected.txt: Added.
        * http/tests/security/referrer-policy-subframe-window-open.html: Added.
        * http/tests/security/referrer-policy-window-open-subframe-expected.txt: Added.
        * http/tests/security/referrer-policy-window-open-subframe.html: Added.
        * http/tests/security/resources/referrer-policy-postmessage.php:

2017-10-19  Chris Dumez  <cdumez@apple.com>

        Unreviewed, revert r223650 as it caused crashes on the bots.

        * http/tests/workers/service/basic-fetch.https-expected.txt: Removed.
        * http/tests/workers/service/basic-fetch.https.html: Removed.
        * http/tests/workers/service/resources/basic-fetch-worker.js: Removed.
        * http/tests/workers/service/resources/basic-fetch.js: Removed.

2017-10-19  Antti Koivisto  <antti@apple.com>

        Overlapping text on all CSS fonts specs
        https://bugs.webkit.org/show_bug.cgi?id=177585
        <rdar://problem/34704078>

        Reviewed by Daniel Bates.

        * fast/html/details-line-height-overlap-expected.html: Added.
        * fast/html/details-line-height-overlap.html: Added.
        * platform/ios/fast/shadow-dom/copy-shadow-tree-expected.txt:

2017-10-18  Ryosuke Niwa  <rniwa@webkit.org>

        Don't expose raw HTML in pasteboard to the web content
        https://bugs.webkit.org/show_bug.cgi?id=178422

        Reviewed by Wenson Hsieh.

        Added tests to copy & paste web contents within the same origin as well as cross origin.

        * TestExpectations:
        * editing/pasteboard/data-transfer-get-data-on-drop-rich-text-expected.txt: Now contains DOCTYPE.
        * editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Ditto.
        * editing/pasteboard/onpaste-text-html-expected.txt: Rebaselined as now inline styles are stripped.
        * editing/pasteboard/onpaste-text-html.html: Strip away the inline style data since they differ on each platform.
        * http/tests/misc/copy-resolves-urls-expected.txt:
        * http/tests/misc/copy-resolves-urls.html: Now uses blob URL for the pasted image as expected.
        * http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin-expected.txt: Added.
        * http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin.html: Added.
        * http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-in-same-origin-expected.txt: Added.
        * http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-in-same-origin.html: Added.
        * http/tests/security/clipboard/drag-drop-html-cross-origin-iframe-in-same-origin-expected.txt: Added.
        * http/tests/security/clipboard/drag-drop-html-cross-origin-iframe-in-same-origin.html: Added.
        * http/tests/security/clipboard/resources/content-to-copy.html: Added.
        * http/tests/security/clipboard/resources/subdirectory/paste-html.html: Added.
        * platform/ios/TestExpectations: Unskip tests that have started passing.
        * platform/mac-wk1/TestExpectations: Unskip the drag & drop test which only works in Mac WK1.
        * platform/win/TestExpectations: Skip the newly added tests since we don't support custom pasteboard
        data on Windows port.

2017-10-18  Chris Dumez  <cdumez@apple.com>

        Implement ServiceWorkerRegistration.scope / updateViaCache
        https://bugs.webkit.org/show_bug.cgi?id=178497

        Reviewed by Youenn Fablet.

        Extend layout test coverage.

        * http/tests/workers/service/basic-register-expected.txt:
        * http/tests/workers/service/resources/basic-register.js:
        (then):

2017-10-18  Youenn Fablet  <youenn@apple.com>

        Add preliminary support for ServiceWorker Handle Fetch
        https://bugs.webkit.org/show_bug.cgi?id=178475

        Reviewed by Chris Dumez.

        * http/tests/workers/service/basic-fetch.https-expected.txt: Added.
        * http/tests/workers/service/basic-fetch.https.html: Added.
        * http/tests/workers/service/resources/basic-fetch-worker.js: Added.
        * http/tests/workers/service/resources/basic-fetch.js: Added.

2017-10-18  Youenn Fablet  <youenn@apple.com>

        TestController should clear all fetch caches when resetting its state
        https://bugs.webkit.org/show_bug.cgi?id=178486

        Reviewed by Chris Dumez.

        * http/tests/cache-storage/cache-clearing-all.https.html:

2017-10-18  Dean Jackson  <dino@apple.com>

        Some older hardware can't actually use renderbuffers at the size they advertise
        https://bugs.webkit.org/show_bug.cgi?id=178417
        <rdar://problem/35042291>

        Reviewed by Tim Horton.

        Unskip webgl/1.0.2/conformance/canvas/drawingbuffer-static-canvas-test.html.

        * TestExpectations:

2017-10-18  Daniel Bates  <dabates@apple.com>

        Add test to ensure that text-overflow: ellipsis text is scrollable
        https://bugs.webkit.org/show_bug.cgi?id=178395

        Reviewed by Zalan Bujtas.

        * fast/text/scroll-text-overflow-ellipsis-expected.html: Added.
        * fast/text/scroll-text-overflow-ellipsis.html: Added.
        * platform/ios-wk1/TestExpectations: For now, skip the test in legacy WebKit on iOS
        as eventSender.keyDown() does not seem to be dispatching a keyboard event to the
        focused field. See <https://bugs.webkit.org/show_bug.cgi?id=178490>.
        * resources/ui-helper.js:
        (window.UIHelper.keyDown.return.new.Promise):
        (window.UIHelper.keyDown):

2017-10-17  Dean Jackson  <dino@apple.com>

        Make failing WebGL tests produce debug output
        https://bugs.webkit.org/show_bug.cgi?id=178421

        Reviewed by Jon Lee.

        If a WebGL conformance test fails, we just get the word "FAIL". Instead,
        have it log the actual output of the test, so we can see what happens
        on bots.

        Drive-by fix where I noticed a test file was missing, that causes
        two tests to timeout. They may still timeout, but now because they
        take a long time to run rather than they have a JS error.

        * platform/mac/TestExpectations:
        * webgl/1.0.2/resources/webgl_test_files/conformance/resources/iterable-test.js: Added.
        * webgl/1.0.2/resources/webkit-webgl-test-harness.js:
        (window.webglTestHarness.notifyFinished):
        * webgl/resources/webkit-webgl-test-harness.js:
        (window.webglTestHarness.notifyFinished):

2017-10-18  Eric Carlson  <eric.carlson@apple.com>

        Key events should not update Document.lastHandledUserGestureTimestamp unless key event is handled
        https://bugs.webkit.org/show_bug.cgi?id=178473
        <rdar://problem/34869935>

        Reviewed by Brent Fulgham.

        * media/restricted-audio-playback-with-document-gesture.html: Pass true to runWithKeyDown so
        it consumes the keydown event.
        * media/video-test.js:
        (runWithKeyDown): Take optional parameter which causes event handler to call preventDefault.

2017-10-18  Myles C. Maxfield  <mmaxfield@apple.com>

        editing/deleting/delete-emoji-9.html is failing consistently.
        https://bugs.webkit.org/show_bug.cgi?id=178478

        Unreviewed.

        * platform/mac/editing/deleting/delete-emoji-9-expected.txt:

2017-10-18  Commit Queue  <commit-queue@webkit.org>

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

        This protocol change broke some internal builds (Requested by
        brrian__ on #webkit).

        Reverted changeset:

        "Web Inspector: provide a way to enable/disable event
        listeners"
        https://bugs.webkit.org/show_bug.cgi?id=177451
        https://trac.webkit.org/changeset/223321

2017-10-18  Alex Christensen  <achristensen@webkit.org>

        http/tests/loading/basic-auth-resend-wrong-credentials.html is still a flaky failure after proposed fix.
        https://bugs.webkit.org/show_bug.cgi?id=178467

        Reviewed by Andy Estes.

        * http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
        * http/tests/loading/basic-auth-resend-wrong-credentials.html:
        * platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
        Use setTimeout to make the loading order deterministic.
        The important part of this test is that the passwords shown in the delegate callbacks are correct,
        and this doesn't change that.

2017-10-18  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=178461

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-10-18  Chris Dumez  <cdumez@apple.com>

        Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
        https://bugs.webkit.org/show_bug.cgi?id=177876
        <rdar://problem/34813129>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage. Also rebaseline a few tests now that registration succeeds.

        * http/tests/workers/service/basic-register-exceptions-expected.txt:
        * http/tests/workers/service/basic-register-expected.txt:
        * http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt:
        * http/tests/workers/service/resources/basic-register.js:
        * http/tests/workers/service/resources/registration-task-queue-scheduling-1.js:

2017-10-18  Antti Koivisto  <antti@apple.com>

        Resolve ::before and ::after pseudo elements during style resolution
        https://bugs.webkit.org/show_bug.cgi?id=178339
        <rdar://problem/35025601>

        Reviewed by Ryosuke Niwa.

        Add a test verifying a crash noticed with earlier version of this patch.

        * fast/css-generated-content/svg-use-crash-expected.html: Added.
        * fast/css-generated-content/svg-use-crash.html: Added.

2017-10-18  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] __proto__ getter should be fast
        https://bugs.webkit.org/show_bug.cgi?id=178067

        Reviewed by Saam Barati.

        * js/object-literal-shorthand-construction-expected.txt:
        * js/script-tests/object-literal-shorthand-construction.js:
        (set 2):
        (get 1):
        * js/script-tests/sloppy-getter-setter-global-object.js:
        * js/sloppy-getter-setter-global-object-expected.txt:

2017-10-17  Myles C. Maxfield  <mmaxfield@apple.com>

        [Regression] Webkit "-apple-system" font fallback token handles font weights of PingFang incorrectly.
        https://bugs.webkit.org/show_bug.cgi?id=177345
        <rdar://problem/32975942>

        Reviewed by Jon Lee.

        * fast/text/system-ui-chinese-bold-fallback.html:

2017-10-17  Dean Jackson  <dino@apple.com>

        webgl/1.0.2/conformance/canvas/drawingbuffer-static-canvas-test.html failing
        https://bugs.webkit.org/show_bug.cgi?id=178417
        <rdar://problem/35042291>

        Skip this test while I work out what causes it to fail on older hardware.

        * TestExpectations:

2017-10-17  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r223523.

        A test for this change is failing on debug JSC bots.

        Reverted changeset:

        "[JSC] __proto__ getter should be fast"
        https://bugs.webkit.org/show_bug.cgi?id=178067
        https://trac.webkit.org/changeset/223523

2017-10-17  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/text/ellipsis-text-rtl.html as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178413

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-16  Andy Estes  <aestes@apple.com>

        [Apple Pay] Add subLocality and subAdministrativeArea to ApplePayPaymentContact and ApplePayError
        https://bugs.webkit.org/show_bug.cgi?id=178191
        <rdar://problem/34906367>

        Reviewed by Tim Horton.

        * http/tests/ssl/applepay/ApplePayError-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html:

2017-10-17  Myles C. Maxfield  <mmaxfield@apple.com>

        Delete button doesn't fully delete certain emoji
        https://bugs.webkit.org/show_bug.cgi?id=178096
        <rdar://problem/34785106>

        Reviewed by Simon Fraser.

        * editing/deleting/delete-emoji-1.html: Added.
        * editing/deleting/delete-emoji-2.html: Added.
        * editing/deleting/delete-emoji-3.html: Added.
        * editing/deleting/delete-emoji-4.html: Added.
        * editing/deleting/delete-emoji-5.html: Added.
        * editing/deleting/delete-emoji-6.html: Added.
        * editing/deleting/delete-emoji-7.html: Added.
        * editing/deleting/delete-emoji-8.html: Added.
        * editing/deleting/delete-emoji-9.html: Added.
        * editing/deleting/delete-emoji.html:
        * platform/ios/editing/deleting/delete-emoji-1-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-2-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-3-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-4-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-5-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-6-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-7-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-8-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-9-expected.txt: Added.
        * platform/ios/editing/deleting/delete-emoji-expected.txt:
        * platform/mac-elcapitan/editing/deleting/delete-emoji-2-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-3-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-4-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-5-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-6-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-7-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-8-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-9-expected.txt: Added.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-1-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-2-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-3-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-4-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-5-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-6-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-7-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-8-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-9-expected.txt: Added.
        * platform/mac-sierra/editing/deleting/delete-emoji-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-1-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-2-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-3-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-4-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-5-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-6-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-7-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-8-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-9-expected.txt: Added.
        * platform/mac/editing/deleting/delete-emoji-expected.txt:
        * platform/win/TestExpectations:

2017-10-17  Per Arne Vollan  <pvollan@apple.com>

        Skip service workers tests on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-17  Per Arne Vollan  <pvollan@apple.com>

        Mark animations/play-state-suspend.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178341

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-16  Dean Jackson  <dino@apple.com>

        WebGL clamps drawingBufferWidth to 4096 pixels on a 5120 monitor/canvas
        https://bugs.webkit.org/show_bug.cgi?id=178223
        <rdar://problem/34597567>

        Reviewed by Antoine Quint.

        Test that resizes an already large buffer to make sure it
        doesn't get clamped to 4k.

        * fast/canvas/webgl/large-drawing-buffer-resize-expected.txt: Added.
        * fast/canvas/webgl/large-drawing-buffer-resize.html: Added.

2017-10-17  John Wilander  <wilander@apple.com>

        Add and remove cookie partition accordingly in intermediary redirect requests
        https://bugs.webkit.org/show_bug.cgi?id=178369
        <rdar://problem/34467603>

        Reviewed by Brent Fulgham.

        This patch adds two new tests, relevant for the code change.
        Also makes changes to existing tests to increase speed and
        reliability.

        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
        * http/tests/resourceLoadStatistics/remove-partitioning-from-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/remove-partitioning-from-redirect.html: Added.
        * http/tests/resourceLoadStatistics/resources/get-cookies.php: Added.
        * http/tests/resourceLoadStatistics/resources/redirect.php:
        * http/tests/resourceLoadStatistics/resources/set-cookie.php: Added.
        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
        * platform/ios/TestExpectations:
            The two new tests are marked [ Pass ].
        * platform/mac-wk2/TestExpectations:
            The two new tests are marked [ Pass ].
        * platform/wk2/TestExpectations:
            The two new tests are marked [ Skip ] because they require cookie partitioning.

2017-10-17  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r223459.

        This change introduced LayoutTest failures.

        Reverted changeset:

        "WebGL clamps drawingBufferWidth to 4096 pixels on a 5120
        monitor/canvas"
        https://bugs.webkit.org/show_bug.cgi?id=178223
        https://trac.webkit.org/changeset/223459

2017-10-17  Youenn Fablet  <youenn@apple.com>

        Add preliminary support for fetch event
        https://bugs.webkit.org/show_bug.cgi?id=178171

        Reviewed by Chris Dumez.

        Skipping new tests for WK1 and GTK that do not have SW.

        * http/wpt/service-workers/extendableEvent.https-expected.txt: Added.
        * http/wpt/service-workers/extendableEvent.https.html: Added.
        * http/wpt/service-workers/fetchEvent.https-expected.txt: Added.
        * http/wpt/service-workers/fetchEvent.https.html: Added.
        * platform/gtk/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2017-10-17  Youenn Fablet  <youenn@apple.com>

        Cache API implementation should be able to compute storage size for WebKit client applications.
        https://bugs.webkit.org/show_bug.cgi?id=178350

        Reviewed by Chris Dumez.

        * http/tests/cache-storage/cache-clearing-origin.https.html:
        * http/tests/cache-storage/cache-representation.https.html:

2017-10-17  Ryan Haddad  <ryanhaddad@apple.com>

        Add expected result file for fast/css/DOMQuad-points-SameObject.html.
        https://bugs.webkit.org/show_bug.cgi?id=178366

        Unreviewed test gardening.

        * fast/css/DOMQuad-points-SameObject-expected.txt: Added.

2017-10-17  Alex Christensen  <achristensen@webkit.org>

        de-flakify http/tests/security/cross-frame-access-put.html
        https://bugs.webkit.org/show_bug.cgi?id=178371

        Reviewed by Tim Horton.

        In the iframe, the test was being run after 0ms.  Sometimes, the whole iframe hadn't loaded yet,
        so window.innerHeight and window.innerWidth were 0 instead of their intended values.  This changes
        the test to wait for the iframe to finish loading before running the test, then post a message to
        the parent to tell it to finish running its test instead of just relying on setTimeout(..., 0) to
        always work after the iframe had finished loading.

        * http/tests/security/cross-frame-access-put-expected.txt:
        * http/tests/security/cross-frame-access-put.html:
        * http/tests/security/resources/cross-frame-iframe-for-put-test.html:
        * platform/mac-wk2/TestExpectations:

2017-10-17  Alex Christensen  <achristensen@webkit.org>

        Layout Test http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=150095

        Reviewed by Tim Horton.

        * http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror.html:
        * platform/mac-wk2/TestExpectations:
        We were mixing jsTestIsAsync with testRunner.notifyDone which caused some flakiness.
        Calling finishJSTest on the next runloop iteration causes it to no longer be flaky.

2017-10-17  Alex Christensen  <achristensen@webkit.org>

        De-flakify http/tests/loading/basic-auth-resend-wrong-credentials.html
        https://bugs.webkit.org/show_bug.cgi?id=178370

        Reviewed by Ryosuke Niwa.

        Like r223445, in WebKit2 (and WebKit1 with asynchronous loading) sometimes the iframe would start
        loading before the main resource loading finished, sometimes it wouldn't.  This isn't a problem,
        and the rest of the test is still valid, but in order to make the dumped delegate callbacks deterministic,
        we make it so the iframe always starts loading after the main resource is done loading.

        * http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
        * http/tests/loading/basic-auth-resend-wrong-credentials.html:
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:

2017-10-17  Daniel Bates  <dabates@apple.com>

        ASSERTION FAILED: m_truncation != cFullTruncation in InlineTextBox::clampedOffset()
        https://bugs.webkit.org/show_bug.cgi?id=178322

        Reviewed by Darin Adler.

        Add a test to ensure that clicking on the ellipsis in a truncated text run does not
        cause an assertion failure in a debug build.

        * fast/text/click-ellipsis-assertion-failure-expected.txt: Added.
        * fast/text/click-ellipsis-assertion-failure.html: Added.

2017-10-17  Daniel Bates  <dabates@apple.com>

        REGRESSION (r222670 and r222732): RTL truncated text may not be drawn
        https://bugs.webkit.org/show_bug.cgi?id=178278
        <rdar://problem/34982818>

        Reviewed by Darin Adler.

        Add a test to ensure that we draw right-to-left truncated text correctly.

        * fast/text/ellipsis-text-rtl-expected.html: Added.
        * fast/text/ellipsis-text-rtl.html: Added.

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

        [JSC] __proto__ getter should be fast
        https://bugs.webkit.org/show_bug.cgi?id=178067

        Reviewed by Saam Barati.

        * js/object-literal-shorthand-construction-expected.txt:
        * js/script-tests/object-literal-shorthand-construction.js:
        (set 2):
        (get 1):
        * js/script-tests/sloppy-getter-setter-global-object.js:
        * js/sloppy-getter-setter-global-object-expected.txt:

2017-10-17  Antti Koivisto  <antti@apple.com>

        Text nodes with display:contents parent should render as if they were wrapped in an unstyled <span>
        https://bugs.webkit.org/show_bug.cgi?id=178332

        Reviewed by Ryosuke Niwa.

        * TestExpectations: 10 more display:contents tests pass.

2017-10-17  Alicia Boya García  <aboya@igalia.com>

        [MSE][GStreamer] Insert parser elements in AppendPipeline when demuxing opus or Vorbis
        https://bugs.webkit.org/show_bug.cgi?id=178076

        Reviewed by Xabier Rodriguez-Calvar.

        YouTube does not include durations in the WebM container for files
        containing Opus audio, so we need to read them from the contained
        stream. Fortunately, GStreamer has an element to do that: opusparse.

        The same thing happens with Vorbis contained in WebM files from the
        W3C tests, which should also be fixed by the GStreamer element
        vorbisparse.

        This patch adds an opusparse or vorbisparse element to the
        AppendPipeline at the sinkpad of the demuxer when either is found.

        Tests: updated expectations.

        * platform/gtk/TestExpectations:

2017-10-17  Alicia Boya García  <aboya@igalia.com>

        [GStreamer][MSE] Unreviewed microgardening
        https://bugs.webkit.org/show_bug.cgi?id=178344

        Updates the following expectations:

        - imported/w3c/web-platform-tests/media-source/mediasource-is-type-supported.html

          Updated with current output (as a prerequisite to land this:
          https://bugs.webkit.org/show_bug.cgi?id=178160, which improves the
          -expected output a bit)

        - imported/w3c/web-platform-tests/media-source/SourceBuffer-abort*.html

          Marked them as passing, as they have been passing for a while.

        - imported/w3c/web-platform-tests/media-source/mediasource-play-then-seek-back.html
          imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html

          Marked them as passing. They were crashing on the build bot because
          the changes of https://bugs.webkit.org/show_bug.cgi?id=176804 were
          not being built, but Carlos López is already working on that.

        * platform/gtk/TestExpectations:

2017-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>

        Allow reading data and blob URLs via DataTransfer when the pasteboard contains files
        https://bugs.webkit.org/show_bug.cgi?id=178377

        Reviewed by Ryosuke Niwa.

        Tweaks an existing layout test to test dragging and dropping more URL protocols (ftp:, data: and blob:).

        * editing/pasteboard/drag-drop-href-as-url-expected.txt:
        * editing/pasteboard/drag-drop-href-as-url.html:

2017-10-16  Ryosuke Niwa  <rniwa@webkit.org>

        Strip away event handlers and JavaScript URLs when copying
        https://bugs.webkit.org/show_bug.cgi?id=178375

        Reviewed by Wenson Hsieh.

        Added a regression test.

        * editing/pasteboard/copying-html-strips-javascript-url-and-event-handler-expected.txt: Added.
        * editing/pasteboard/copying-html-strips-javascript-url-and-event-handler.html: Added.

2017-10-16  Dean Jackson  <dino@apple.com>

        WebGL clamps drawingBufferWidth to 4096 pixels on a 5120 monitor/canvas
        https://bugs.webkit.org/show_bug.cgi?id=178223
        <rdar://problem/34597567>

        Reviewed by Antoine Quint.

        Test that resizes an already large buffer to make sure it
        doesn't get clamped to 4k.

        * fast/canvas/webgl/large-drawing-buffer-resize-expected.txt: Added.
        * fast/canvas/webgl/large-drawing-buffer-resize.html: Added.

2017-10-16  Chris Dumez  <cdumez@apple.com>

        DOMQuad.p1 / p2 / p3 / p4 should behave as [SameObject]
        https://bugs.webkit.org/show_bug.cgi?id=178366

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * fast/css/DOMQuad-points-SameObject.html: Added.

2017-10-16  Andy Estes  <aestes@apple.com>

        [Apple Pay] Add subLocality and subAdministrativeArea to ApplePayPaymentContact and ApplePayError
        https://bugs.webkit.org/show_bug.cgi?id=178191
        <rdar://problem/34906367>

        Reviewed by Tim Horton.

        * http/tests/ssl/applepay/ApplePayError-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html:

2017-10-16  Alex Christensen  <achristensen@webkit.org>

        De-flakify http/tests/loading/basic-credentials-sent-automatically.html
        https://bugs.webkit.org/show_bug.cgi?id=178365

        Reviewed by Andy Estes.

        * http/tests/loading/basic-credentials-sent-automatically-expected.txt:
        * http/tests/loading/basic-credentials-sent-automatically.html:
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:

2017-10-15  Ryosuke Niwa  <rniwa@webkit.org>

        Cannot access images included in the content pasted from Microsoft Word
        https://bugs.webkit.org/show_bug.cgi?id=124391
        <rdar://problem/26862741>

        Reviewed by Antti Koivisto.

        Added tests for copying & pasting and dragging & dropping HTML contents.

        * TestExpectations:
        * editing/pasteboard/data-transfer-get-data-on-drop-rich-text-expected.txt: Rebaselined.
        * editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Ditto.
        * editing/pasteboard/data-transfer-get-data-on-paste-rich-text.html: Modified the test to strip away platform specific
        inline style properties.
        * editing/pasteboard/data-transfer-get-data-on-pasting-html-uses-blob-url-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-pasting-html-uses-blob-url.html: Added.
        * editing/pasteboard/data-transfer-set-data-sanitizes-html-when-copying-expected.txt: Added.
        * editing/pasteboard/data-transfer-set-data-sanitizes-html-when-copying-in-null-origin-expected.txt: Added.
        * editing/pasteboard/data-transfer-set-data-sanitizes-html-when-copying-in-null-origin.html: Added.
        * editing/pasteboard/data-transfer-set-data-sanitizes-html-when-copying.html: Added.
        * editing/pasteboard/data-transfer-set-data-sanitizes-html-when-dragging-in-null-origin-expected.txt: Added.
        * editing/pasteboard/data-transfer-set-data-sanitizes-html-when-dragging-in-null-origin.html: Added.
        * editing/pasteboard/data-transfer-set-data-sanitizes-url-when-dragging-in-null-origin.html: Removed the superflous
        call to setTimeout that was errornously added during debugging. Also updated the test to not claim all URL and
        HTML values are read in the same origin, and updated the assertion for cross-origin case as it's now sanitized.
        * editing/pasteboard/onpaste-text-html-expected.txt: Rebaselined. The order of CSS properties have changed.
        * http/tests/security/clipboard/copy-paste-html-across-origin-sanitizes-html-expected.txt: Added.
        * http/tests/security/clipboard/copy-paste-html-across-origin-sanitizes-html.html: Added.
        * http/tests/security/clipboard/copy-paste-url-across-origin-sanitizes-url.html:
        * http/tests/security/clipboard/resources/copy-html.html: Added.
        * http/tests/security/clipboard/resources/copy-url.html: Renamed from copy.html.
        * platform/ios-wk2/editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Remoevd.
        * platform/ios-wk1/editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Remoevd.
        * platform/mac-wk1/TestExpectations:

2017-10-16  Ross Kirsling  <ross.kirsling@sony.com>

        Web Inspector: Layers tab mistakenly throws out the root element's layer.
        https://bugs.webkit.org/show_bug.cgi?id=178222

        Reviewed by Brian Burg.

        * inspector/layers/layer-tree-manager-expected.txt: Added.
        * inspector/layers/layer-tree-manager.html: Added.

2017-10-16  Tim Horton  <timothy_horton@apple.com>

        Adjust one more test from constant() to env() after r177581

        * fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html:

2017-10-16  Youenn Fablet  <youenn@apple.com>

        LayoutTest http/tests/cache-storage/cache-clearing-origin.https.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=178305
        <rdar://problem/34990264>

        Unreviewed.

        Removing flaky test expectations based on dashboard.

        * TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-10-16  Chris Dumez  <cdumez@apple.com>

        Clicks on Link with download attribute causes all (other) links to trigger download when clicked
        https://bugs.webkit.org/show_bug.cgi?id=178267
        <rdar://problem/34985016>

        Reviewed by Darin Adler.

        Add layout test coverage.

        * http/tests/download/anchor-load-after-download-expected.txt: Added.
        * http/tests/download/anchor-load-after-download.html: Added.
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt.

2017-10-16  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/beacon/headers/header-content-type.html for macOS.
        https://bugs.webkit.org/show_bug.cgi?id=178343

        Unreviewed test gardening.

        * platform/mac-wk2/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Added.

2017-10-16  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r223271.

        This change introduced LayoutTest failures on WK1.

        Reverted changeset:

        "Use asynchronous ResourceHandleClient calls for WebKit1"
        https://bugs.webkit.org/show_bug.cgi?id=160677
        https://trac.webkit.org/changeset/223271

2017-10-16  Per Arne Vollan  <pvollan@apple.com>

        Mark animations/play-state-in-shorthand.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178341

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-16  Manuel Rego Casasnovas  <rego@igalia.com>

        Don't use intrinsic width if our container's width is zero
        https://bugs.webkit.org/show_bug.cgi?id=178073

        Reviewed by Sergio Villar Senin.

        New rebaseline for width100percent-image.html test.

        * fast/replaced/container-width-zero-expected.txt: Added.
        * fast/replaced/container-width-zero.html: Added.
        * platform/ios/fast/replaced/width100percent-image-expected.txt:
        * platform/gtk/fast/replaced/width100percent-image-expected.png:
        * platform/gtk/fast/replaced/width100percent-image-expected.txt:
        * platform/mac/fast/replaced/width100percent-image-expected.png:
        * platform/mac/fast/replaced/width100percent-image-expected.txt:
        * platform/win/TestExpectations: Skips test as it needs a rebaseline.

2017-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>

        On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
        https://bugs.webkit.org/show_bug.cgi?id=178301
        <rdar://problem/34990050>

        Reviewed by Darin Adler.

        Fixes an existing test to account for asynchronous image decoding, and also rebaselines results to expect that
        only the URL can be read, and not text.

        * TestExpectations:
        * editing/pasteboard/data-transfer-item-list-add-file-multiple-times-expected.txt:
        * editing/pasteboard/drag-drop-href-as-text-data-expected.txt: Removed.
        * editing/pasteboard/drag-drop-href-as-text-data.html: Removed.
        * editing/pasteboard/drag-drop-href-as-url-expected.txt: Added.
        * editing/pasteboard/drag-drop-href-as-url.html: Added.

        Tweaks an existing drag and drop test to verify that an URL can be read back when dragging an image, but not
        when if the URL is a file URL.

        * editing/pasteboard/files-during-page-drags-expected.txt:
        * editing/pasteboard/files-during-page-drags.html:

        Fixes this test by decoding the dragged image element before starting the drag and drop simulation.

        * platform/mac-wk1/TestExpectations:

2017-10-15  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Modify CSS number values with up key and down key
        https://bugs.webkit.org/show_bug.cgi?id=170779
        <rdar://problem/33170633>

        Reviewed by Matt Baker.

        Add tests for WI.incrementElementValue defined in WebInspectorUI/UserInterface/Views/EditingSupport.js.

        * inspector/unit-tests/editing-support-expected.txt: Added.
        * inspector/unit-tests/editing-support.html: Added.

2017-10-14  Antoine Quint  <graouts@apple.com>

        Remove all Web Animations code
        https://bugs.webkit.org/show_bug.cgi?id=178273

        Reviewed by Sam Weinig.

        Remove the only existing Web Animations test.

        * webanimations/Document-expected.txt: Removed.
        * webanimations/Document.html: Removed.

2017-10-14  Youenn Fablet  <youenn@apple.com>

        Resync tests up to c1716b039411090428e7073158b1aea081dafe71
        https://bugs.webkit.org/show_bug.cgi?id=178241

        Reviewed by Ryosuke Niwa.

        Rebasing expectations.

        * TestExpectations: Skipping unsupported tests.
        * http/wpt/fetch/request-clone-expected.txt:
        * platform/ios-wk2/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Added.
        * platform/ios-wk2/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt:
        * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/mac-wk1/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt:
        * tests-options.json:

2017-10-14  Youenn Fablet  <youenn@apple.com>

        Implement Cache API support for WPE/GTK
        https://bugs.webkit.org/show_bug.cgi?id=178316

        Unreviewed.

        Skip tests until feature is implemented.

        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:

2017-10-14  Youenn Fablet  <youenn@apple.com>

        WebRTC test gardening
        https://bugs.webkit.org/show_bug.cgi?id=178317

        Unreviewed.

        Updating expectations according dashboard.
        Skipping tests for platforms that do not support WebRTC.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:

2017-10-14  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: provide a way to enable/disable event listeners
        https://bugs.webkit.org/show_bug.cgi?id=177451

        Reviewed by Joseph Pecoraro.

        * inspector/dom/setEventListenerDisabled-expected.txt: Added.
        * inspector/dom/setEventListenerDisabled.html: Added.

2017-10-14  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178309

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-14  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/images/animated-gif-scrolling-crash.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178307

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-13  Brent Fulgham  <bfulgham@apple.com>

        Protect FrameView during style calculations
        https://bugs.webkit.org/show_bug.cgi?id=178300
        <rdar://problem/34869329>

        Reviewed by Ryosuke Niwa.

        * fast/html/marquee-reparent-check-expected.txt: Added.
        * fast/html/marquee-reparent-check.html: Added.

2017-10-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/cache-storage/cache-clearing-origin.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=178305

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-10-13  Youenn Fablet  <youenn@apple.com>

        http/tests/cache-storage/cache-clearing-origin.https.html is flaky on Sierra
        https://bugs.webkit.org/show_bug.cgi?id=178303

        Unreviewed.

        * TestExpectations: Marking test as fail.

2017-10-13  Brent Fulgham  <bfulgham@apple.com>

        CMD+R / CMD+Q keyboard shortcuts are treated as user interaction with page
        https://bugs.webkit.org/show_bug.cgi?id=178183
        <rdar://problem/33327730>

        Reviewed by Ryosuke Niwa.

        * http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-expected.txt: Added.
        * http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html: Added.
        * http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-expected.txt: Added.
        * http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html: Added.
        * http/tests/resourceLoadStatistics/resources: Added.
        * http/tests/resourceLoadStatistics/resources/onclick.html: Added.
        * platform/ios/TestExpectations: Skip tests that require 'keyDown' support, since this is not
          available on iOS.

2017-10-13  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/inspector/network/resource-sizes-memory-cache.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177687

        Unreviewed test gardening.
        * platform/mac-wk2/TestExpectations:

2017-10-13  Youenn Fablet  <youenn@apple.com>

        Implement listing origins for which CacheStorage is storing data
        https://bugs.webkit.org/show_bug.cgi?id=178236

        Reviewed by Chris Dumez.

        * http/tests/cache-storage/cache-clearing-origin.https.html:

2017-10-13  Youenn Fablet  <youenn@apple.com>

        http/tests/cache-storage/cache-origins.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=178266

        Unreviewed.

        * http/tests/cache-storage/cache-clearing-origin.https.html:

2017-10-13  Youenn Fablet  <youenn@apple.com>

        Modernize LayoutTests/http/tests/cache-storage/cache-clearing-*.https.html
        https://bugs.webkit.org/show_bug.cgi?id=178245

        Reviewed by Chris Dumez.

        Using await/async to improve the testing.
        Taking benefit of clearDOMCache to wait for completion to simplify both tests as well.

        * http/tests/cache-storage/cache-clearing-all.https.html:
        * http/tests/cache-storage/cache-clearing-origin.https.html:

2017-10-13  Wenson Hsieh  <wenson_hsieh@apple.com>

        "text/html" data is not exposed when dragging and dropping across origins
        https://bugs.webkit.org/show_bug.cgi?id=178253
        <rdar://problem/34971203>

        Reviewed by Ryosuke Niwa.

        Renames some existing layout tests, and also augments two tests to verify that "text/html" is preserved when
        copying and dragging across origins that don't match.

        * TestExpectations:
        * editing/pasteboard/data-transfer-set-data-ignore-copied-malformed-url-in-null-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-expected.txt.
        * editing/pasteboard/data-transfer-set-data-ignore-copied-malformed-url-in-null-origin-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin-expected.txt.
        * editing/pasteboard/data-transfer-set-data-ignore-copied-malformed-url-in-null-origin.html: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin.html.
        * editing/pasteboard/data-transfer-set-data-sanitize-url-when-copying-in-null-origin-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin-expected.txt.
        * editing/pasteboard/data-transfer-set-data-sanitize-url-when-copying-in-null-origin.html: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin.html.
        * editing/pasteboard/data-transfer-set-data-sanitize-url-when-dragging-in-null-origin-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin-expected.txt.
        * editing/pasteboard/data-transfer-set-data-sanitize-url-when-dragging-in-null-origin.html: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin.html.
        * platform/mac-wk1/TestExpectations:

2017-10-12  Brady Eidson  <beidson@apple.com>

        SW "Hello world".
        https://bugs.webkit.org/show_bug.cgi?id=178187

        Reviewed by Andy Estes.

        * http/tests/workers/service/basic-register-exceptions-expected.txt:
        * http/tests/workers/service/basic-register-expected.txt:
        * http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt:

2017-10-12  Alex Christensen  <achristensen@webkit.org>

        Use asynchronous ResourceHandleClient calls for WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=160677

        Reviewed by Brady Eidson.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/wk2/TestExpectations:

        http/tests/cache/iframe-304-crash.html used to deterministically record its didFinishLoading callback,
        but only for WK1.  It was marked as flaky for all WK2 ports.  It is now flaky in WK1 because the order
        of the testRunner.notifyDone call and the didFinishLoading logging is no longer deterministic with
        asynchronous loading, but the test still verifies that there is no crash.

        http/tests/security/cross-origin-modal-dialog-base.html does navigation during showModalDialog, which
        probably should've never worked in WK1 and never worked in WK2.  WK1 behavior now matches WK2 behavior.
        I'm not aware of any complaints about no navigation working during showModalDialog in WK2 and I imagine
        nobody will be regressed by this change, but if we do find such a problem, creative use of MessageQueues
        like we do with sync xhr in WK1 now could theoretically fix the problem, but we are trying to get
        rid of showModalDialog anyway.  The test was written to verify that the SecurityOrigin doesn't fall back
        to the wrong origin, and it certainly doesn't now.

        These tests dump load delegate call order, which are less deterministic now but the tests still behave correctly.
        http/tests/svg/svg-use-external.html
        http/tests/loading/text-content-type-with-binary-extension.html
        http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame.html

2017-10-12  Youenn Fablet  <youenn@apple.com>

        Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=178200

        Reviewed by Chris Dumez.

        Splitting cache-clearing.https.html in two sub tests and marking them as Pass/Timeout for the moment.

        * platform/win/TestExpectations: Skipping cache/sw tests.
        * TestExpectations:
        * http/tests/cache-storage/cache-clearing.https.html: Removed.
        * http/tests/cache-storage/cache-clearing-all.https-expected.txt: Added.
        * http/tests/cache-storage/cache-clearing-all.https.html: Added.
        * http/tests/cache-storage/cache-clearing-origin.https-expected.txt: Added.
        * http/tests/cache-storage/cache-clearing-origin.https.html: Added.

2017-10-12  Per Arne Vollan  <pvollan@apple.com>

        Mark some xhtml tests as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178230

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-11  Simon Fraser  <simon.fraser@apple.com>

        Don't assert if mix-blend-mode is set to a non-separable blend mode on a composited layer
        https://bugs.webkit.org/show_bug.cgi?id=178196
        rdar://problem/34942337

        Reviewed by Dan Bates.

        * compositing/filters/blend-mode-saturation-expected.txt: Added.
        * compositing/filters/blend-mode-saturation.html: Added.

2017-10-12  John Wilander  <wilander@apple.com>

        ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
        https://bugs.webkit.org/show_bug.cgi?id=175257
        <rdar://problem/33359866>

        Reviewed by Brent Fulgham.

        * TestExpectations:
            Marked new directory as [ Skip ] since these are WK2-only.
        * http/tests/resourceLoadStatistics: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * http/tests/resourceLoadStatistics/resources: Added.
        * http/tests/resourceLoadStatistics/resources/iframe-report-back-loaded.html: Added.
        * http/tests/resourceLoadStatistics/resources/page-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/resources/page-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * http/tests/resourceLoadStatistics/resources/page-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/resources/page-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * http/tests/resourceLoadStatistics/resources/redirect.php: Added.
        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
        * platform/gtk/TestExpectations:
            Marked new directory as [ Skip ].
        * platform/wk2/TestExpectations:
            Marked new directory as [ Pass ].
        * platform/wpe/TestExpectations:
            Marked new directory as [ Skip ].

2017-10-12  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=177547

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-10-12  Matt Lewis  <jlewis3@apple.com>

        Edited expectations for http/tests/media/video-buffered-range-contains-currentTime.html.
        https://bugs.webkit.org/show_bug.cgi?id=177616

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-12  Yusuke Suzuki  <utatane.tea@gmail.com>

        Support integrity="" on module scripts
        https://bugs.webkit.org/show_bug.cgi?id=177959

        Reviewed by Sam Weinig.

        * http/tests/subresource-integrity/resources/crossorigin-anon-script-module.js: Added.
        * http/tests/subresource-integrity/resources/crossorigin-creds-script-module.js: Added.
        * http/tests/subresource-integrity/resources/crossorigin-ineligible-script-module.js: Added.
        * http/tests/subresource-integrity/resources/matching-digest-module.js: Added.
        * http/tests/subresource-integrity/resources/non-matching-digest-module.js: Added.
        * http/tests/subresource-integrity/resources/sri-utilities.js:
        (add_result_callback):
        (SRIModuleTest):
        (SRIModuleTest.prototype.execute):
        * http/tests/subresource-integrity/sri-module-expected.txt: Added.
        * http/tests/subresource-integrity/sri-module.html: Added.
        * js/dom/modules/module-inline-ignore-integrity-expected.txt: Added.
        * js/dom/modules/module-inline-ignore-integrity.html: Added.
        * js/dom/modules/module-integrity-non-top-level-expected.txt: Added.
        * js/dom/modules/module-integrity-non-top-level.html: Added.
        * js/dom/modules/script-tests/module-integrity-non-top-level-2.js: Added.
        * js/dom/modules/script-tests/module-integrity-non-top-level.js: Added.

2017-10-11  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/cache-storage/cache-clearing.https.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=178200

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-11  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r223215.

        This change broke the Sierra build.

        Reverted changeset:

        "[Apple Pay] Add subLocality and subAdministrativeArea to
        ApplePayPaymentContact"
        https://bugs.webkit.org/show_bug.cgi?id=178191
        https://trac.webkit.org/changeset/223215

2017-10-11  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/scrolling/adjust-scroll-offset-on-zoom.html for iOS.

        Unreviewed test gardening.

        * platform/ios/fast/scrolling/adjust-scroll-offset-on-zoom-expected.txt: Added.

2017-10-11  Chris Dumez  <cdumez@apple.com>

        XMLHttpRequest: do not sniff text/html, and do not sniff XML when responseType is set to "text"
        https://bugs.webkit.org/show_bug.cgi?id=168724

        Reviewed by Ryosuke Niwa.

        Drop outdated test, proper behavior is covered by web-platform-tests.

        * fast/xmlhttprequest/xmlhttprequest-html-response-encoding-expected.txt: Removed.
        * fast/xmlhttprequest/xmlhttprequest-html-response-encoding.html: Removed.

2017-10-11  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=178190

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-10-11  Andy Estes  <aestes@apple.com>

        [Apple Pay] Add subLocality and subAdministrativeArea to ApplePayPaymentContact
        https://bugs.webkit.org/show_bug.cgi?id=178191
        <rdar://problem/34906367>

        Reviewed by Tim Horton.

        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html:

2017-10-11  Youenn Fablet  <youenn@apple.com>

        Add API to clean CacheStorage data
        https://bugs.webkit.org/show_bug.cgi?id=178034

        Reviewed by Chris Dumez.

        * http/tests/cache-storage/cache-clearing.https-expected.txt: Added.
        * http/tests/cache-storage/cache-clearing.https.html: Added.

2017-10-11  Chris Dumez  <cdumez@apple.com>

        [Geolocation] Expose Coordinates.floorLevel
        https://bugs.webkit.org/show_bug.cgi?id=178173
        <rdar://problem/34918936>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/dom/Geolocation/floorLevel-expected.txt: Added.
        * fast/dom/Geolocation/floorLevel.html: Added.

2017-10-11  Simon Fraser  <simon.fraser@apple.com>

        Avoid triggering layout from style change
        https://bugs.webkit.org/show_bug.cgi?id=178184

        Reviewed by Zalan Bujtas.

        * fast/scrolling/adjust-scroll-offset-on-zoom-expected.txt: Added.
        * fast/scrolling/adjust-scroll-offset-on-zoom.html: Added.

2017-10-11  Ryosuke Niwa  <rniwa@webkit.org>

        Sanitize URL in pasteboard for other applications and cross origin content
        https://bugs.webkit.org/show_bug.cgi?id=178060
        <rdar://problem/34874518>

        Reviewed by Wenson Hsieh.

        Added tests for copying & pasting URLs. URLs should be %-escaped and any invalid URL should be stripped away and
        invisible to a cross-origin content or a null origin document but the same origin content should have access to
        its original form.

        * TestExpectations:
        * editing/pasteboard/data-transfer-get-data-on-copying-pasting-malformed-url-in-same-document-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-copying-pasting-malformed-url-in-same-document.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-custom-expected.txt: Rebaselined. We no longer normalize
        "https://www.apple.com" into "https://www.apple.com/" by NSURL / UIPasteboard within the same origin content.
        * editing/pasteboard/data-transfer-get-data-on-paste-custom-expected.txt: Ditto.
        * editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-expected.txt: Added.
        * editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin-expected.txt: Added.
        * editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin.html: Added.
        * editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin-expected.txt: Added.
        * editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin.html: Added.
        * editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin-expected.txt: Added.
        * editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin.html: Added.
        * editing/pasteboard/dataTransfer-setData-getData-expected.txt: Rebaselined. More test cases are passing.
        * editing/pasteboard/dataTransfer-setData-getData.html: Updated expectations as the original URL is now preserved.
        * http/tests/security/clipboard/copy-paste-url-across-origin-sanitizes-url-expected.txt: Added.
        * http/tests/security/clipboard/copy-paste-url-across-origin-sanitizes-url.html: Added.
        * http/tests/security/clipboard/resources/copy.html: Added.
        * platform/mac-wk1/TestExpectations:

2017-10-11  Andy Estes  <aestes@apple.com>

        [Payment Request] Implement Apple Pay merchant validation
        https://bugs.webkit.org/show_bug.cgi?id=178159

        Reviewed by Brady Eidson.

        * http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https-expected.txt: Added.
        * http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https.html: Added.

2017-10-11  Brady Eidson  <beidson@apple.com>

        Add a SW context process (where SW scripts will actually execute).
        https://bugs.webkit.org/show_bug.cgi?id=178156

        Reviewed by Andy Estes.

        * http/tests/workers/service/basic-register-exceptions-expected.txt:
        * http/tests/workers/service/basic-register-expected.txt:
        * http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt:

2017-10-11  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Expose value of aria-keyshortcuts as object attribute
        https://bugs.webkit.org/show_bug.cgi?id=171175

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-keyshortcuts-expected.txt: Added.
        * accessibility/gtk/aria-keyshortcuts.html: Added.

2017-10-11  Youenn Fablet  <youenn@apple.com>

        Import media capture WPT tests
        https://bugs.webkit.org/show_bug.cgi?id=178138

        Reviewed by Eric Carlson.

        Skipping tests for ports not supporting getUserMedia.

        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

2017-10-11  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
        https://bugs.webkit.org/show_bug.cgi?id=176804

        Reviewed by Michael Catanzaro.

        Update expectations for fixed tests.

        * platform/gtk/TestExpectations:

2017-10-11  Antoine Quint  <graouts@apple.com>

        Rebaseline tests at media/modern-media-controls/media-controller
        https://bugs.webkit.org/show_bug.cgi?id=178129

        Reviewed by Sam Weinig.

        Rebaseline a series of tests to work with the current modern-media-controls codebase. For the most part, this is accounting
        for metrics changes and the refactoring of the auto-hide controller code.

        * media/modern-media-controls/media-controller/media-controller-auto-hide-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-over-controls-bar-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-pause-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-pause.html:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-rewind-with-mouse-enter-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-auto-hide-rewind-with-mouse-enter.html:
        * media/modern-media-controls/media-controller/media-controller-auto-hide.html:
        * media/modern-media-controls/media-controller/media-controller-click-on-video-controls-should-not-pause.html:
        * media/modern-media-controls/media-controller/media-controller-compact-expected.txt: Removed.
        * media/modern-media-controls/media-controller/media-controller-compact.html: Removed.
        * media/modern-media-controls/media-controller/media-controller-fullscreen-change-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-fullscreen-change.html:
        * media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button.html:
        * media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle.html:
        * media/modern-media-controls/media-controller/media-controller-scale-factor-audio-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html:
        * media/modern-media-controls/media-controller/media-controller-scale-factor-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-scale-factor.html:
        * media/modern-media-controls/media-controller/media-controller-tight-padding-expected.txt: Removed.
        * media/modern-media-controls/media-controller/media-controller-tight-padding.html: Removed.
        * platform/ios-simulator/TestExpectations:
        * platform/mac-elcapitan/TestExpectations:
        * platform/mac/TestExpectations:

2017-09-27  Frederic Wang  <fwang@igalia.com>

        [iOS] Do not flatten frames when async frame scrolling is enabled
        https://bugs.webkit.org/show_bug.cgi?id=173704

        Reviewed by Simon Fraser.

        Add an iOS test to verify that frame flattening is disabled when async frame scrolling is enabled.

        * platform/ios/fast/frames/flattening/iframe-flattening-with-async-frame-scrolling-expected.txt: Added.
        * platform/ios/fast/frames/flattening/iframe-flattening-with-async-frame-scrolling.html: Added.

2017-10-10  Ryosuke Niwa  <rniwa@webkit.org>

        Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=178154

        Reviewed by Wenson Hsieh.

        * editing/pasteboard/dataTransfer-setData-getData-expected.txt: Rebaselined. One more test case is passing now.
        * fast/events/dropzone-002.html: Fixed the test to accept an image since we no longer drop URLs when dropping
        an image avoid leaking local file paths.
        * platform/mac/TestExpectations: Enabled dropzone-005.html since it started passing after fixing LocalPasteboard.

2017-10-10  Andy Estes  <aestes@apple.com>

        [Payment Request] Validate that all PaymentCurrencyAmounts use the same currency code when using Apple Pay
        https://bugs.webkit.org/show_bug.cgi?id=178150

        Reviewed by Tim Horton.

        * http/tests/paymentrequest/payment-request-abort-method.https.html:
        * http/tests/paymentrequest/payment-request-canmakepayment-method.https.html:
        * http/tests/paymentrequest/payment-request-show-method.https.html:
        * http/tests/ssl/applepay/PaymentRequest.https-expected.txt:
        * http/tests/ssl/applepay/PaymentRequest.https.html:

2017-10-10  Andy Estes  <aestes@apple.com>

        [Payment Request] Implement PaymentRequest.canMakePayment()
        https://bugs.webkit.org/show_bug.cgi?id=178048

        Reviewed by Youenn Fablet.

        * http/tests/paymentrequest/payment-request-canmakepayment-method.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-canmakepayment-method.https.html: Added.
        * http/tests/ssl/applepay/PaymentRequest.https.html:
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-10-10  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
        https://bugs.webkit.org/show_bug.cgi?id=178137

        Reviewed by Chris Fleizach.

        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated expectations.

2017-10-10  Matt Rajca  <mrajca@apple.com>

        Respect audio rate change restrictions in HTMLMediaElement::setVolume.
        https://bugs.webkit.org/show_bug.cgi?id=178140

        Reviewed by Eric Carlson.

        * media/audio-playback-volume-changes-with-restrictions-and-user-gestures-expected.txt: Added.
        * media/audio-playback-volume-changes-with-restrictions-and-user-gestures.html: Added.
        * media/audio-playback-volume-changes-with-restrictions-expected.txt: Added.
        * media/audio-playback-volume-changes-with-restrictions.html: Added.
        * platform/ios/TestExpectations:

2017-10-10  Ryosuke Niwa  <rniwa@webkit.org>

        Loading should be disabled while constructing the fragment in WebContentReader::readWebArchive
        https://bugs.webkit.org/show_bug.cgi?id=178118

        Reviewed by Antti Koivisto.

        Updated the existing tests to wait for images to load in each step explicitly instead of relying on
        them being loaded synchronously or that it's loaded within 100-200ms.

        * editing/pasteboard/4641033.html:
        * editing/pasteboard/4947130.html:
        * editing/pasteboard/4989774.html:
        * editing/pasteboard/drag-selected-image-to-contenteditable.html:
        * editing/selection/drag-to-contenteditable-iframe.html:
        * platform/ios/TestExpectations: Skipped editing/selection/drag-to-contenteditable-iframe.html on iOS
        since we don't support testing drag & drop on iOS. Also added [ Skip ] to other entires there.

2017-10-10  Chris Dumez  <cdumez@apple.com>

        Entries API should recognize path starting with 2 slashes as valid absolute path
        https://bugs.webkit.org/show_bug.cgi?id=178135

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory-expected.txt:
        * editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory.html:
        * editing/pasteboard/entries-api/datatransfer-items-drop-getFile-expected.txt:
        * editing/pasteboard/entries-api/datatransfer-items-drop-getFile.html:

2017-10-10  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r223110.

        This caused consistent failures and timeouts on multiple
        platforms.

        Reverted changeset:

        "Delete button doesn't fully delete certain emoji"
        https://bugs.webkit.org/show_bug.cgi?id=178096
        http://trac.webkit.org/changeset/223110

2017-10-10  Antti Koivisto  <antti@apple.com>

        RenderObject::destroy() should only be invoked after renderer has been removed from the tree
        https://bugs.webkit.org/show_bug.cgi?id=178075

        Reviewed by Zalan Bujtas.

        * accessibility/mac/textbox-role-reports-notifications.html:

        This passed because spurious AXValueChanged notifications. Force layout to prevent coalescing between mutations.

2017-10-10  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] STATE_CHECKABLE should be removed from radio buttons in radiogroups with aria-readonly="true"
        https://bugs.webkit.org/show_bug.cgi?id=177931

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-readonly-radiogroup-expected.txt: Added.
        * accessibility/gtk/aria-readonly-radiogroup.html: Added.

2017-10-09  Chris Dumez  <cdumez@apple.com>

        Calling fileSystemDirectoryEntry.getDirectory() with empty path should not fail
        https://bugs.webkit.org/show_bug.cgi?id=178114

        Reviewed by Ryosuke Niwa.

        Extend layout test coverage.

        * editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory-expected.txt:
        * editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory.html:

2017-10-09  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/paymentrequest/payment-request-abort-method.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=178107

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-10-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html for iOS.

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed.
        * platform/ios-wk2/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed.
        * platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:

2017-10-09  Myles C. Maxfield  <mmaxfield@apple.com>

        Delete button doesn't fully delete certain emoji
        https://bugs.webkit.org/show_bug.cgi?id=178096
        <rdar://problem/34785106>

        Reviewed by Simon Fraser.

        * editing/deleting/delete-emoji-2.html:
        * platform/mac/editing/deleting/delete-emoji-expected.txt:
        * platform/mac/editing/deleting/delete-emoji-2-expected.txt:
        * platform/ios/editing/deleting/delete-emoji-expected.txt:
        * platform/ios/editing/deleting/delete-emoji-2-expected.txt:
        * platform/win/TestExpectations:

2017-10-09  Michael Saboff  <msaboff@apple.com>

        Implement RegExp Unicode property escapes
        https://bugs.webkit.org/show_bug.cgi?id=172069

        Reviewed by JF Bastien.

        New test.

        * js/regexp-unicode-properties-expected.txt: Added.
        * js/regexp-unicode-properties.html: Added.
        * js/script-tests/regexp-unicode-properties.js: Added.

2017-10-09  Andy Estes  <aestes@apple.com>

        [Payment Request] Implement PaymentRequest.show() and PaymentRequest.hide()
        https://bugs.webkit.org/show_bug.cgi?id=178043
        <rdar://problem/34076639>

        Reviewed by Tim Horton.

        Copied payment-request-abort-method.https.html and payment-request-show-method.https.html
        from web-platform-tests/payment-request/ and changed the payment method from basic-card to
        Apple Pay. This needs to eventually be upstreamed back to WPT.

        * TestExpectations:
        * http/tests/paymentrequest/payment-request-abort-method.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-abort-method.https.html: Added.
        * http/tests/paymentrequest/payment-request-show-method.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-show-method.https.html: Added.
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-10-09  Youenn Fablet  <youenn@apple.com>

        Add quota to cache API
        https://bugs.webkit.org/show_bug.cgi?id=177552

        Reviewed by Alex Christensen.

        * http/wpt/cache-storage/cache-quota.https.any-expected.txt: Added.
        * http/wpt/cache-storage/cache-quota.https.any.html: Added.
        * http/wpt/cache-storage/cache-quota.https.any.js: Added.

2017-10-09  Matt Lewis  <jlewis3@apple.com>

        Unskipped http/tests/cache/disk-cache/disk-cache-validation-no-body.html
        https://bugs.webkit.org/show_bug.cgi?id=178019

        Unreviewed test gardening.
        * platform/mac-wk2/TestExpectations:

2017-10-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Network Tab - Cookies Detail View
        https://bugs.webkit.org/show_bug.cgi?id=177988
        <rdar://problem/34071927>

        Reviewed by Brian Burg.

        * inspector/unit-tests/cookie-expected.txt: Added.
        * inspector/unit-tests/cookie.html: Added.

2017-10-09  Matt Lewis  <jlewis3@apple.com>

        Marked inspector/dom/csp-big5-hash.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177608

        Unreviewed test garding.

        * platform/mac/TestExpectations:

2017-10-09  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r223021.

        LayoutTests added with this change are failing.

        Reverted changeset:

        "[Payment Request] Implement PaymentRequest.show() and
        PaymentRequest.hide()"
        https://bugs.webkit.org/show_bug.cgi?id=178043
        http://trac.webkit.org/changeset/223021

2017-10-09  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Explicitly-set aria-sort value of "none" should be exposed as an object attribute
        https://bugs.webkit.org/show_bug.cgi?id=177955

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-sort-values-expected.txt: Added.
        * accessibility/gtk/aria-sort-values.html: Added.

2017-10-09  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/media-source/media-source-paint-to-canvas.html as failing.
        https://bugs.webkit.org/show_bug.cgi?id=178083

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-10-08  Darin Adler  <darin@apple.com>

        Update HTMLOListElement.start to behavior from latest HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=178057

        Reviewed by Chris Dumez.

        * fast/lists/ol-reversed-simple-expected.txt:
        * fast/lists/ol-reversed-simple.html:
        * fast/lists/ol-reversed-simple.xhtml:
        Updated test and results to expect the new behavior.

2017-10-08  Darin Adler  <darin@apple.com>

        Fix bugs related to setting reflected floating point DOM attributes
        https://bugs.webkit.org/show_bug.cgi?id=178061

        Reviewed by Sam Weinig.

        * fast/dom/HTMLProgressElement/set-progress-properties-expected.txt: Updated test to expect
        setting HTMLProgressElement.max to 0 to have no effect, rather than setting max to "1".
        * fast/dom/HTMLProgressElement/set-progress-properties.html: Ditto.

        * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
        Updated to expect meter reflection tests to pass.

2017-10-08  Wenson Hsieh  <wenson_hsieh@apple.com>

        DataTransfer.items does not contain items for custom types supplied via add or setData
        https://bugs.webkit.org/show_bug.cgi?id=178016

        Reviewed by Darin Adler.

        Adds new layout tests to check DataTransfer.items when dropping a file, and when copying and pasting with custom
        pasteboard data types. Tweaks an existing test to adjust for normalizeType stripping HTML whitespace rather than
        ASCII whitespace.

        * TestExpectations:
        * editing/pasteboard/data-transfer-get-data-non-normalized-types-expected.txt:
        * editing/pasteboard/data-transfer-get-data-non-normalized-types.html:
        * editing/pasteboard/data-transfer-items-add-custom-data-expected.txt: Added.
        * editing/pasteboard/data-transfer-items-add-custom-data.html: Added.
        * editing/pasteboard/data-transfer-items-drop-file-expected.txt: Added.
        * editing/pasteboard/data-transfer-items-drop-file.html: Added.
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2017-10-08  Ryosuke Niwa  <rniwa@webkit.org>

        dragenter and dragleave shouldn't use the same data transfer object
        https://bugs.webkit.org/show_bug.cgi?id=178056

        Reviewed by Darin Adler.

        Added a regression test for checking the uniqueness of dataTransfer object for dragenter and dragleave events.
        Unfortunately, the test is only runnable in Mac WebKit1 port due to the lack of support in WebKitTestRunner.

        * TestExpectations:
        * editing/pasteboard/data-transfer-is-unique-for-dragenter-and-dragleave-expected.txt: Added.
        * editing/pasteboard/data-transfer-is-unique-for-dragenter-and-dragleave.html: Added.
        * platform/mac-wk1/TestExpectations:

2017-10-08  Jer Noble  <jer.noble@apple.com>

        SourceBuffer remove throws out way more content than requested
        https://bugs.webkit.org/show_bug.cgi?id=177884
        <rdar://problem/34817104>

        Reviewed by Darin Adler.

        * media/media-source/media-source-remove-decodeorder-crash-expected.txt:
        * media/media-source/media-source-remove-decodeorder-crash.html:
        * media/media-source/media-source-remove-too-much-expected.txt: Added.
        * media/media-source/media-source-remove-too-much.html: Added.

2017-10-08  Brent Fulgham  <bfulgham@apple.com>

        Nullptr deref in WebCore::Node::computeEditability
        https://bugs.webkit.org/show_bug.cgi?id=177905
        <rdar://problem/34138402>

        Reviewed by Darin Adler.

        * fast/dom/focus-shift-crash-expected.txt: Added.
        * fast/dom/focus-shift-crash.html: Added.

2017-10-07  Andy Estes  <aestes@apple.com>

        [Payment Request] Implement PaymentRequest.show() and PaymentRequest.hide()
        https://bugs.webkit.org/show_bug.cgi?id=178043
        <rdar://problem/34076639>

        Reviewed by Tim Horton.

        Copied payment-request-abort-method.https.html and payment-request-show-method.https.html
        from web-platform-tests/payment-request/ and changed the payment method from basic-card to
        Apple Pay. This needs to eventually be upstreamed back to WPT.

        * TestExpectations:
        * http/tests/paymentrequest/payment-request-abort-method.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-abort-method.https.html: Added.
        * http/tests/paymentrequest/payment-request-show-method.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-show-method.https.html: Added.
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-10-06  Sam Weinig  <sam@webkit.org>

        Remove global-constructors-attributes tests
        https://bugs.webkit.org/show_bug.cgi?id=178041

        Rubber-stamped by Alexey Proskuryakov.

        In discusstion with Alexey, we agreed these tests were much more trouble than they
        were worth, due to testing very little, but requiring the update of up to eight
        platform specific results per global constructor changed.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt: Removed.
        * js/dom/global-constructors-attributes-dedicated-worker.html: Removed.
        * js/dom/global-constructors-attributes-expected.txt: Removed.
        * js/dom/global-constructors-attributes-idb-expected.txt: Removed.
        * js/dom/global-constructors-attributes-idb.html: Removed.
        * js/dom/global-constructors-attributes.html: Removed.
        * js/dom/script-tests/global-constructors-attributes-idb.js: Removed.
        * js/dom/script-tests/global-constructors-attributes.js: Removed.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/mac-sierra-wk1/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/mac-wk1/js/dom/global-constructors-attributes-dedicated-worker-expected.txt: Removed.
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/mac/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/win/js/dom/global-constructors-attributes-expected.txt: Removed.
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt: Removed.

2017-10-06  Daniel Bates  <dabates@apple.com>

        Spelling error annotation should encompass hyphen in misspelled word that wraps across multiple lines
        https://bugs.webkit.org/show_bug.cgi?id=177980
        <rdar://problem/34847454>

        Reviewed by Simon Fraser.

        Add a test to ensure that a spelling error decoration encompasses the hyphen for a misspelled
        word that is hyphenated because it is broken across more than one line.

        * editing/spelling/spelling-marker-includes-hyphen-expected.html: Added.
        * editing/spelling/spelling-marker-includes-hyphen.html: Added.
        * platform/ios/TestExpectations: Mark the test as WontFix as spelling and
        grammar markers are not support on iOS.
        * platform/mac-wk2/TestExpectations: Mark the test as a failure due to <https://bugs.webkit.org/show_bug.cgi?id=105616>.

2017-10-06  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add Canvas tab and CanvasOverviewContentView
        https://bugs.webkit.org/show_bug.cgi?id=177604
        <rdar://problem/34714650>

        Reviewed by Devin Rousso.

        Add test for new static function View.fromElement.

        * inspector/view/basics-expected.txt:
        * inspector/view/basics.html:

2017-10-06  Ryan Haddad  <ryanhaddad@apple.com>

        LayoutTest http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=177679

        Reviewed by Alexey Proskuryakov.

        Move runTest() from an inline script to a load event handler to avoid a race between parsing and navigation.

        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt:
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:

2017-10-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Network Tab - Headers Detail View
        https://bugs.webkit.org/show_bug.cgi?id=177896
        <rdar://problem/34071924>

        Reviewed by Devin Rousso.

        * inspector/unit-tests/url-utilities-expected.txt:
        * inspector/unit-tests/url-utilities.html:
        Tests for new utility functions.

2017-10-06  Nan Wang  <n_wang@apple.com>

        AX: [iOS] Layout Test accessibility/ios-simulator/video-elements-ios.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=177954
        <rdar://problem/34838094>

        The test is flaky because that the video element has triggered the canplaythrough event before
        we registered the event handler. Fixed it by setting the source after registering the handler.

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/video-elements-ios.html:

2017-10-06  Sam Weinig  <sam@webkit.org>

        Add basic support for getting a ImageBitmapRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=177983

        Reviewed by Dean Jackson.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/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:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:
        
            Update test results.

2017-10-06  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/canvas/create-context-2d.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=178028

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-10-06  Matt Lewis  <jlewis3@apple.com>

        Skipped http/tests/cache/disk-cache/disk-cache-validation-no-body.html on El Capitan Release.
        https://bugs.webkit.org/show_bug.cgi?id=178019

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-10-05  Dean Jackson  <dino@apple.com>

        ImageBitmap API stubs
        https://bugs.webkit.org/show_bug.cgi?id=177984
        <rdar://problem/34848023>

        Patch by Sam and Dean.
        Reviewed by Dean and Sam.

        New global constructors, so go through the pain of updating all
        the platform results :(

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/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:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-10-06  Brady Eidson  <beidson@apple.com>

        Add (entirely incorrect) fetching of ServiceWorker scripts.
        https://bugs.webkit.org/show_bug.cgi?id=176179

        Reviewed by Andy Estes.

        * http/tests/workers/service/basic-register-exceptions-expected.txt:
        * http/tests/workers/service/basic-register-expected.txt:
        * http/tests/workers/service/resources/basic-register-exceptions.js:
        * http/tests/workers/service/resources/basic-register.js:
        * http/tests/workers/service/resources/registration-task-queue-scheduling-1.js:

2017-10-06  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-10-06  Ryan Haddad  <ryanhaddad@apple.com>

        Skip editing/pasteboard/data-transfer-items.html on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=177961

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-10-06  Tomas Popela  <tpopela@redhat.com>

        [GTK] 2 text tests failing since r222838
        https://bugs.webkit.org/show_bug.cgi?id=177938

        Reviewed by Carlos Garcia Campos.

        These tests are passing after r222907

        * platform/gtk/TestExpectations:

2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
        https://bugs.webkit.org/show_bug.cgi?id=168171

        Reviewed by Chris Dumez.

        Unskip the tests.

        * platform/wpe/TestExpectations:
        * platform/wpe/TestExpectations:

2017-10-05  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Styles Redesign: Add support for keyboard navigation (Tab, Shift-Tab, Enter, Esc)
        https://bugs.webkit.org/show_bug.cgi?id=177711

        Reviewed by Joseph Pecoraro.

        Add tests for WI.CSSProperty.prototype.remove.

        * inspector/css/css-property-expected.txt:
        * inspector/css/css-property.html:

2017-10-05  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/dom/navigator-detached-no-crash.html.
        https://bugs.webkit.org/show_bug.cgi?id=177261

        Unreviewed test gardening.

        * fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/mac-elcapitan-wk2/fast/dom/navigator-detached-no-crash-expected.txt:

2017-10-05  Ryosuke Niwa  <rniwa@webkit.org>

        DataTransfer shouldn't contain text/html when performing Paste and Match Style
        https://bugs.webkit.org/show_bug.cgi?id=174165
        <rdar://problem/33138027>

        Reviewed by Wenson Hsieh.

        Added regression tests for pasting as plain text.

        * editing/pasteboard/data-transfer-get-data-on-paste-as-plain-text-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-as-plain-text-when-custom-pasteboard-data-disabled-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-as-plain-text-when-custom-pasteboard-data-disabled.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-as-plain-text.html: Added.

2017-10-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Add "display" to FontFace Javascript object
        https://bugs.webkit.org/show_bug.cgi?id=175383
        <rdar://problem/33813239>

        Reviewed by Simon Fraser.

        * fast/text/font-loading-font-display-expected.txt: Added.
        * fast/text/font-loading-font-display.html: Added.

2017-10-05  John Wilander  <wilander@apple.com>

        Storage Access API: Web process should ask UI process for grant/deny
        https://bugs.webkit.org/show_bug.cgi?id=176941
        <rdar://problem/34440036>

        Reviewed by Chris Dumez and Sam Weinig.

        The iframes now communicate the results back to the top frame through postMessage.
        Also, denied access results in a rejected promise which is handled in these
        changed test cases.
 
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Removed.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html: Removed.
            Renamed to request-and-grant-storage-access-cross-origin-non-sandboxed-iframe.html.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe.html: Added.
            See comment above on renaming.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html: Added.
            Two new test cases added for the new logic in WebKit::WebResourceLoadStatisticsStore.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt:
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt:
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html:
        * http/tests/storageAccess/request-storage-access-same-origin-iframe-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-iframe.html:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html:
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html:
        * http/tests/storageAccess/request-storage-access-top-frame-expected.txt:
        * http/tests/storageAccess/request-storage-access-top-frame.html:
        * http/tests/storageAccess/resources/request-storage-access-iframe.html:
        * platform/mac-wk2/TestExpectations:
            Added the new tests as [ Pass ].

2017-10-05  Said Abou-Hallawa  <sabouhallawa@apple.com>

        RenderSVGRoot should check the renderers inside its visualOverflowRect for hit testing if the overflow is visible
        https://bugs.webkit.org/show_bug.cgi?id=177953
        <rdar://problem/34788389>

        Reviewed by Simon Fraser.

        * svg/hittest/svg-visual-overflow-rect-expected.html: Added.
        * svg/hittest/svg-visual-overflow-rect.html: Added.

2017-10-05  Per Arne Vollan  <pvollan@apple.com>

        Mark 4 fast/text layout tests as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177964

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-05  Nan Wang  <n_wang@apple.com>

        AX: [iOS] Layout Test accessibility/ios-simulator/video-elements-ios.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=177954
        <rdar://problem/34838094>

        We should do the isIgnored check instead of the null check.

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/video-elements-ios-expected.txt:
        * accessibility/ios-simulator/video-elements-ios.html:

2017-10-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Implement font-display loading behaviors
        https://bugs.webkit.org/show_bug.cgi?id=175384
        <rdar://problem/33813243>

        Reviewed by Darin Adler.

        Delete the tests using the old testing infrastructure and replace them
        with tests that use the new testing infrastructure.

        * fast/text/font-loading-system-fallback-expected.html: Removed.
        * fast/text/font-loading-system-fallback.html: Removed.
        * fast/text/loading-block-finish-expected.html: Added.
        * fast/text/loading-block-finish.html: Added.
        * fast/text/loading-block-nofinish-expected.html: Added.
        * fast/text/loading-block-nofinish.html: Added.
        * fast/text/loading-failure-finish-expected.html: Added.
        * fast/text/loading-failure-finish.html: Added.
        * fast/text/loading-failure-nofinish-expected.html: Added.
        * fast/text/loading-failure-nofinish.html: Added.
        * fast/text/loading-swap-finish-expected.html: Added.
        * fast/text/loading-swap-finish.html: Added.
        * fast/text/loading-swap-nofinish-expected.html: Added.
        * fast/text/loading-swap-nofinish.html: Added.
        * fast/text/web-font-load-fallback-during-loading-2-expected.html: Removed.
        * fast/text/web-font-load-fallback-during-loading-2.html: Removed.
        * fast/text/web-font-load-fallback-during-loading-expected.html: Removed.
        * fast/text/web-font-load-fallback-during-loading.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/win/TestExpectations:

2017-10-05  Antoine Quint  <graouts@apple.com>

        Layout Test media/modern-media-controls/scrubber-support/scrubber-support-drag.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=174682

        Reviewed by Dean Jackson.

        This test could fail since we would start it before the time control was fully sized and only
        the scrubber had bounds, but not the elapsed time label. We have to wait on both being fully
        sized before starting the test and only then it is reliable.

        * media/modern-media-controls/scrubber-support/scrubber-support-drag.html:
        * platform/mac/TestExpectations:

2017-10-05  Antoine Quint  <graouts@apple.com>

        Layout Test media/modern-media-controls/scrubber-support/scrubber-support-click.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=177930

        Reviewed by Dean Jackson.

        In cases where this test failed, it actually worked as expected but the "timeupdate" event would be fired
        twice, most likely because it was registered twice. We now use an asynchronous expectation to run the test
        which should only register the event listener once and make the test more reliable.

        * media/modern-media-controls/scrubber-support/scrubber-support-click-expected.txt:
        * media/modern-media-controls/scrubber-support/scrubber-support-click.html:

2017-10-05  Andy Estes  <aestes@apple.com>

        [Payment Request] Add a payment method that supports Apple Pay
        https://bugs.webkit.org/show_bug.cgi?id=177850

        Reviewed by Youenn Fablet.

        * http/tests/ssl/applepay/PaymentRequest.https-expected.txt: Added.
        * http/tests/ssl/applepay/PaymentRequest.https.html: Added.
        * platform/mac-wk2/TestExpectations:
        * platform/ios-wk2/TestExpectations:

2017-10-05  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations and rebaseline tests failing at r222905.

        * platform/gtk/TestExpectations:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:

2017-10-05  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        Enable the http/tests/ layout tests in general, but skip the directories
        that contain failing tests that still have to be cataloged.

        * platform/wpe/TestExpectations:
        * platform/wpe/http: Added.
        * platform/wpe/http/wpt: Added.
        * platform/wpe/http/wpt/resource-timing: Added.
        * platform/wpe/http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Added.

2017-10-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Improve CanvasManager recording events
        https://bugs.webkit.org/show_bug.cgi?id=177762

        Reviewed by Devin Rousso.

        Update tests for renamed CanvasManager event.

        * inspector/canvas/recording-2d.html:
        * inspector/canvas/recording-expected.txt:
        * inspector/canvas/recording-webgl-snapshots.html:
        * inspector/canvas/recording-webgl.html:
        * inspector/canvas/recording.html:
        * inspector/canvas/resources/recording-utilities.js:
        (TestPage.registerInitializer):

2017-10-04  Nan Wang  <n_wang@apple.com>

        AX: Make video objects accessible on iOS
        https://bugs.webkit.org/show_bug.cgi?id=177788
        <rdar://problem/34778028>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/video-elements-ios-expected.txt: Added.
        * accessibility/ios-simulator/video-elements-ios.html: Added.

2017-10-04  Wenson Hsieh  <wenson_hsieh@apple.com>

        Add basic support for the version of DataTransferItemList.add that takes a File
        https://bugs.webkit.org/show_bug.cgi?id=177853
        <rdar://problem/34807346>

        Reviewed by Ryosuke Niwa.

        Add tests to verify that Files can be added to and removed from the DataTransferItemList, and also read back via
        both the item list and the DataTransfer's FileList when copying and dragging. Additionally, adds a test that adds
        and removes the same File to the DataTransferItemList multiple times.

        * TestExpectations:
        * editing/pasteboard/data-transfer-item-list-add-file-multiple-times-expected.txt: Added.
        * editing/pasteboard/data-transfer-item-list-add-file-multiple-times.html: Added.
        * editing/pasteboard/data-transfer-item-list-add-file-on-copy-expected.txt: Added.
        * editing/pasteboard/data-transfer-item-list-add-file-on-copy.html: Added.
        * editing/pasteboard/data-transfer-item-list-add-file-on-drag-expected.txt: Added.
        * editing/pasteboard/data-transfer-item-list-add-file-on-drag.html: Added.
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2017-10-04  Per Arne Vollan  <pvollan@apple.com>

        Mark http/wpt/cache-storage/cache-quota.any.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177891

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-10-04  Youenn Fablet  <youenn@apple.com>

        Remove OpenWebRTC backend
        https://bugs.webkit.org/show_bug.cgi?id=177868

        Reviewed by Alejandro G. Castro.

        * platform/gtk/TestExpectations:

2017-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Remove tests from expectations passing since freetype upgrade in r221670.

        * platform/gtk/TestExpectations:

2017-10-04  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/xmlhttprequest/set-dangerous-headers.html and http/tests/xmlhttprequest/set-dangerous-headers.html
        https://bugs.webkit.org/show_bug.cgi?id=177829

        Unreviewed test gardening.

        * fast/xmlhttprequest/set-dangerous-headers-expected.txt:
        * http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:

2017-10-04  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations: Unskip tests under http/wpt/. Manage
        expectations for failures that are currently present.

2017-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        [Harfbuzz] Implement ComplexTextController on top of HarfBuzz
        https://bugs.webkit.org/show_bug.cgi?id=167956

        Unreviewed GTK+ gardening. Rebaseline tests.

        * platform/gtk/css1/font_properties/font-expected.png:
        * platform/gtk/css1/font_properties/font-expected.txt:
        * platform/gtk/css1/pseudo/firstline-expected.png:
        * platform/gtk/css1/pseudo/firstline-expected.txt:
        * platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.png:
        * platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/gtk/css2.1/t051201-c23-first-line-00-b-expected.png:
        * platform/gtk/css2.1/t051201-c23-first-line-00-b-expected.txt:
        * platform/gtk/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
        * platform/gtk/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png:
        * platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/gtk/css2.1/t1508-c527-font-00-b-expected.png:
        * platform/gtk/css2.1/t1508-c527-font-00-b-expected.txt:
        * platform/gtk/css2.1/t1508-c527-font-06-b-expected.png:
        * platform/gtk/css2.1/t1508-c527-font-06-b-expected.txt:
        * platform/gtk/css2.1/t1508-c527-font-07-b-expected.png:
        * platform/gtk/css2.1/t1508-c527-font-07-b-expected.txt:
        * platform/gtk/css2.1/t1508-c527-font-10-c-expected.png:
        * platform/gtk/css2.1/t1508-c527-font-10-c-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.png:
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.txt:
        * platform/gtk/fast/text/atsui-pointtooffset-calls-cg-expected.png:
        * platform/gtk/fast/text/atsui-pointtooffset-calls-cg-expected.txt:
        * platform/gtk/fast/text/atsui-rtl-override-selection-expected.png:
        * platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
        * platform/gtk/fast/text/atsui-spacing-features-expected.png:
        * platform/gtk/fast/text/atsui-spacing-features-expected.txt:
        * platform/gtk/fast/text/emphasis-expected.png:
        * platform/gtk/fast/text/emphasis-expected.txt:
        * platform/gtk/fast/text/international/bold-bengali-expected.png:
        * platform/gtk/fast/text/international/bold-bengali-expected.txt:
        * platform/gtk/fast/text/international/hebrew-vowels-expected.png:
        * platform/gtk/fast/text/international/hebrew-vowels-expected.txt:
        * platform/gtk/fast/text/international/thai-baht-space-expected.png:
        * platform/gtk/fast/text/international/thai-baht-space-expected.txt:
        * platform/gtk/fast/text/international/thai-line-breaks-expected.png:
        * platform/gtk/fast/text/international/thai-line-breaks-expected.txt:
        * platform/gtk/fast/text/large-text-composed-char-dos-expected.txt: Added.
        * platform/gtk/svg/W3C-I18N/g-dirLTR-ubNone-expected.png:
        * platform/gtk/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt:
        * platform/gtk/svg/W3C-I18N/g-dirLTR-ubOverride-expected.png:
        * platform/gtk/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt:
        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.png:
        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt:
        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png:
        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-dirLTR-ubNone-expected.png:
        * platform/gtk/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-dirLTR-ubOverride-expected.png:
        * platform/gtk/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.png:
        * platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-dirRTL-ubOverride-expected.png:
        * platform/gtk/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt:
        * platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.png:
        * platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt:
        * platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.png:
        * platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt:
        * platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.png:
        * platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt:
        * platform/gtk/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.png:
        * platform/gtk/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt:
        * platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.png:
        * platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.txt:
        * platform/gtk/svg/text/bidi-tspans-expected.png:
        * platform/gtk/svg/text/bidi-tspans-expected.txt:
        * platform/gtk/svg/text/select-textLength-spacing-squeeze-1-expected.png:
        * platform/gtk/svg/text/select-textLength-spacing-squeeze-1-expected.txt:
        * platform/gtk/svg/text/select-textLength-spacing-squeeze-2-expected.png:
        * platform/gtk/svg/text/select-textLength-spacing-squeeze-2-expected.txt:
        * platform/gtk/svg/text/select-textLength-spacing-stretch-2-expected.png:
        * platform/gtk/svg/text/select-textLength-spacing-stretch-2-expected.txt:
        * platform/gtk/svg/text/select-textLength-spacing-stretch-3-expected.png:
        * platform/gtk/svg/text/select-textLength-spacing-stretch-3-expected.txt:

2017-10-04  Miguel Gomez  <magomez@igalia.com>

        Add animation support for WebP images
        https://bugs.webkit.org/show_bug.cgi?id=113124

        Reviewed by Žan Doberšek.

        Add a new test for WebP animations and skip it on ios, mac and win. Also unskip some
        webp tests that are passing on gtk.

        * fast/images/animated-webp-expected.html: Added.
        * fast/images/animated-webp.html: Added.
        * fast/images/resources/awebp00-ref.webp: Added.
        * fast/images/resources/awebp00.webp: Added.
        * fast/images/resources/awebp01-ref.webp: Added.
        * fast/images/resources/awebp01.webp: Added.
        * fast/images/resources/awebp02-ref.webp: Added.
        * fast/images/resources/awebp02.webp: Added.
        * fast/images/resources/awebp03-ref.webp: Added.
        * fast/images/resources/awebp03.webp: Added.
        * fast/images/resources/awebp04-ref.webp: Added.
        * fast/images/resources/awebp04.webp: Added.
        * fast/images/resources/awebp05-ref.webp: Added.
        * fast/images/resources/awebp05.webp: Added.
        * fast/images/resources/awebp06-ref.webp: Added.
        * fast/images/resources/awebp06.webp: Added.
        * fast/images/resources/awebp07-ref.webp: Added.
        * fast/images/resources/awebp07.webp: Added.
        * fast/images/resources/awebp08-ref.webp: Added.
        * fast/images/resources/awebp08.webp: Added.
        * fast/images/resources/awebp09-ref.webp: Added.
        * fast/images/resources/awebp09.webp: Added.
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2017-10-04  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] aria-pressed="mixed" should be exposed via ATK_STATE_INDETERMINATE
        https://bugs.webkit.org/show_bug.cgi?id=177807

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-pressed-mixed-value-expected.txt: Added.
        * accessibility/gtk/aria-pressed-mixed-value.html: Added.

2017-10-04  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] ARIA tabpanel role should be exposed as ATK_ROLE_SCROLL_PANE
        https://bugs.webkit.org/show_bug.cgi?id=177815

        Reviewed by Chris Fleizach.

        Updated expectations to reflect new mapping.

        * platform/gtk/accessibility/aria-tab-roles-expected.txt: Added.
        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated.

2017-10-03  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] ARIA menuitems should be exposed with ATK_ROLE_MENU_ITEM even when it's the child of group role
        https://bugs.webkit.org/show_bug.cgi?id=177811

        Reviewed by Chris Fleizach.

        * accessibility/gtk/menu-with-group-child-tree-expected.txt: Added.
        * accessibility/gtk/menu-with-group-child-tree.html: Added.

2017-10-03  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] aria-rowindex set on row element is not being exposed
        https://bugs.webkit.org/show_bug.cgi?id=177821

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-rowindex-on-row-expected.txt: Added.
        * accessibility/gtk/aria-rowindex-on-row.html: Added.

2017-10-03  Ms2ger  <Ms2ger@igalia.com>

        Remove some duplicate w3c tests for media tracks.
        https://bugs.webkit.org/show_bug.cgi?id=177819

        Reviewed by Youenn Fablet.

        All these tests also exist in
        imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces,
        where they are kept up-to-date with upstream.

        * media/track/w3c/interfaces/HTMLMediaElement/addTextTrack-expected.txt: Removed.
        * media/track/w3c/interfaces/HTMLMediaElement/addTextTrack.html: Removed.
        * media/track/w3c/interfaces/HTMLMediaElement/textTracks-expected.txt: Removed.
        * media/track/w3c/interfaces/HTMLMediaElement/textTracks.html: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/default-expected.txt: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/default.html: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/label-expected.txt: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/label.html: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/readyState-expected.txt: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/readyState.html: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/srclang-expected.txt: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/srclang.html: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/track-expected.txt: Removed.
        * media/track/w3c/interfaces/HTMLTrackElement/track.html: Removed.
        * media/track/w3c/interfaces/TextTrack/addCue-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/addCue.html: Removed.
        * media/track/w3c/interfaces/TextTrack/constants-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/constants.html: Removed.
        * media/track/w3c/interfaces/TextTrack/kind-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/kind.html: Removed.
        * media/track/w3c/interfaces/TextTrack/label-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/label.html: Removed.
        * media/track/w3c/interfaces/TextTrack/language-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/language.html: Removed.
        * media/track/w3c/interfaces/TextTrack/mode-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/mode.html: Removed.
        * media/track/w3c/interfaces/TextTrack/oncuechange-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/oncuechange.html: Removed.
        * media/track/w3c/interfaces/TextTrack/removeCue-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrack/removeCue.html: Removed.
        * media/track/w3c/interfaces/TextTrackCue/endTime-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackCue/endTime.html: Removed.
        * media/track/w3c/interfaces/TextTrackCue/id-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackCue/id.html: Removed.
        * media/track/w3c/interfaces/TextTrackCue/pauseOnExit-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackCue/pauseOnExit.html: Removed.
        * media/track/w3c/interfaces/TextTrackCue/startTime-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackCue/startTime.html: Removed.
        * media/track/w3c/interfaces/TextTrackCue/track-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackCue/track.html: Removed.
        * media/track/w3c/interfaces/TextTrackCueList/getCueById-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackCueList/getCueById.html: Removed.
        * media/track/w3c/interfaces/TextTrackCueList/length-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackCueList/length.html: Removed.
        * media/track/w3c/interfaces/TextTrackList/length-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackList/length.html: Removed.
        * media/track/w3c/interfaces/TextTrackList/onaddtrack-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackList/onaddtrack.html: Removed.
        * media/track/w3c/interfaces/TextTrackList/onremovetrack-expected.txt: Removed.
        * media/track/w3c/interfaces/TextTrackList/onremovetrack.html: Removed.
        * platform/ios/TestExpectations: Removed references to removed tests.
        * platform/mac/TestExpectations: Removed references to removed tests.

2017-10-03  Daniel Bates  <dabates@apple.com>

        XMLHttpRequest.setRequestHeader() should allow Content-Transfer-Encoding header; remove
        duplicate logic to check for a forbidden XHR header field
        https://bugs.webkit.org/show_bug.cgi?id=177829
        <rdar://problem/34798441>

        Update tests and expected results now that we match the XHR standard, <https://xhr.spec.whatwg.org> (09/08/2017).

        We no longer consider Content-Transfer-Encoding and User-Agent forbidden headers as per
        the standard.

        * fast/xmlhttprequest/set-dangerous-headers-expected.txt:
        * fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html:
        * fast/xmlhttprequest/set-dangerous-headers.html:
        * http/tests/xmlhttprequest/check-combining-headers-expected.txt:
        * http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
        * http/tests/xmlhttprequest/set-dangerous-headers.html:

2017-10-03  Megan Gardner  <megan_gardner@apple.com>

        Add long press and drag test
        https://bugs.webkit.org/show_bug.cgi?id=177289

        Reviewed by Wenson Hsieh.

        Adding a test to test the long press and then drag functionality of selection.
        Also add additional helper functions to basic gestures, so that this and other
        tests can be written. Mostly deals with not lifting between gestures.

        * fast/events/touch/ios/long-press-then-drag-to-select-text-expected.txt: Added.
        * fast/events/touch/ios/long-press-then-drag-to-select-text.html: Added.
        * fast/events/touch/ios/resources/basic-gestures.js:
        (longPressAndHoldAtPoint):
        (touchAndDragFromPointToPoint):

2017-10-03  Ryan Haddad  <ryanhaddad@apple.com>

        Skip imported/w3c/web-platform-tests/payment-request/rejects_if_not_active.https.html on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=177832

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-10-03  Joseph Pecoraro  <pecoraro@apple.com>

        Layout Test http/tests/inspector/network/beacon-type.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177834

        Unreviewed test gardening.

        * http/tests/inspector/network/beacon-type.html:
        * http/tests/inspector/network/ping-type.html:
        Don't wait for the resource to finish loading if it has already finished loading.
        Logs showed the resource had already finished loading earlier, before this
        promise microtask started running.

2017-10-03  Daniel Bates  <dabates@apple.com>

        XMLHttpRequest.setRequestHeader() should allow Content-Transfer-Encoding header; remove
        duplicate logic to check for a forbidden XHR header field
        https://bugs.webkit.org/show_bug.cgi?id=177829

        Reviewed by Alexey Proskuryakov.

        Update tests and test results now that we no longer consider Content-Transfer-Encoding a
        forbidden header.

        * fast/xmlhttprequest/set-dangerous-headers-expected.txt:
        * fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html:
        * fast/xmlhttprequest/set-dangerous-headers.html:
        * http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
        * http/tests/xmlhttprequest/set-dangerous-headers.html:

2017-10-03  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed test gardening. Add debugging to flakey test.

        * http/tests/inspector/network/beacon-type.html:
        Add some debugging to try and understand why this test times out.

2017-10-03  Adrian Perez de Castro  <aperez@igalia.com>

        [GTK] Support the "system" CSS font family
        https://bugs.webkit.org/show_bug.cgi?id=177755

        Reviewed by Carlos Garcia Campos.

        Obtain the system UI font from the GtkSettings::gtk-font-name property

        * platform/gtk/fonts/systemFont-expected.html: Added.
        * platform/gtk/fonts/systemFont.html: Added.

2017-10-03  Daniel Bates  <dabates@apple.com>

        [XHR] Only exempt Dashboard widgets from XHR header restrictions
        https://bugs.webkit.org/show_bug.cgi?id=177824
        <rdar://problem/34384301>

        Reviewed by Alexey Proskuryakov.

        Add tests to ensure that file URLs are forbidden from setting the same set of blacklisted
        headers as non-file URLs except when running in Dashboard compatibility mode.

        * TestExpectations: Mark test fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html
        as WontFix on all platforms. We will selectively enable this test on Mac because it is the
        only platform that supports Dashboard widgets.
        * fast/xmlhttprequest/set-dangerous-headers-expected.txt: Added.
        * fast/xmlhttprequest/set-dangerous-headers-in-dashboard-expected.txt: Added.
        * fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html: Added.
        * fast/xmlhttprequest/set-dangerous-headers.html: Added. Derived from LayoutTests/http/tests/xmlhttprequest/set-dangerous-headers.html.
        * platform/mac/TestExpectations: Enable test fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html
        on Mac.

2017-10-03  Fujii Hironori  <Hironori.Fujii@sony.com>

        REGRESSION(r221909): Failing fast/text/international/iso-8859-8.html
        https://bugs.webkit.org/show_bug.cgi?id=177364

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations: Unmark fast/text/international/iso-8859-8.html.

2017-10-03  Zalan Bujtas  <zalan@apple.com>

        [AX] Do not trigger redundant layout on tables.
        https://bugs.webkit.org/show_bug.cgi?id=177781
        <rdar://problem/34777030>

        Reviewed by Antti Koivisto.

        * TestExpectations: see webkit.org/b/177799

2017-10-03  Daniel Bates  <dabates@apple.com>

        [CSP] Check policy before opening a new window to a JavaScript URL
        https://bugs.webkit.org/show_bug.cgi?id=176815
        <rdar://problem/34400057>

        Reviewed by Brent Fulgham.

        * http/tests/security/contentSecurityPolicy/resources/window-open-javascript-url-blocked.js: Added.
        * http/tests/security/contentSecurityPolicy/window-open-javascript-url-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/window-open-javascript-url-blocked.html: Added.

2017-10-03  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
        https://bugs.webkit.org/show_bug.cgi?id=177763

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-drag-and-drop-expected.txt: Added.
        * accessibility/gtk/aria-drag-and-drop.html: Added.

2017-10-03  Charles Turner  <cturner@igalia.com>

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-10-03  Ryan Haddad  <ryanhaddad@apple.com>

        Move payment-request TestExpectations to ios-wk2.

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-10-03  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add View layout tests, make views more testable
        https://bugs.webkit.org/show_bug.cgi?id=161274
        <rdar://problem/28038615>

        Reviewed by Devin Rousso.

        Add tests for creating views, adding and removing subviews, and layout
        operations. These tests rely on a mock requestAnimationFrame, which is
        enabled with FrontendTestHarness.redirectRequestAnimationFrame.

        * inspector/view/asynchronous-layout-expected.txt: Added.
        * inspector/view/asynchronous-layout.html: Added.
        * inspector/view/basics-expected.txt: Added.
        * inspector/view/basics.html: Added.
        * inspector/view/synchronous-layout-expected.txt: Added.
        * inspector/view/synchronous-layout.html: Added.

        * inspector/view/resources/test-view.js: Added.
        (TestPage.registerInitializer.WI.TestView):
        (TestPage.registerInitializer.WI.TestView.prototype.get initialLayoutCount):
        (TestPage.registerInitializer.WI.TestView.prototype.get layoutCount):
        (TestPage.registerInitializer.WI.TestView.prototype.evaluateAfterLayout):
        (TestPage.registerInitializer.WI.TestView.prototype.initialLayout):
        (TestPage.registerInitializer.WI.TestView.prototype.layout):
        (TestPage.registerInitializer):
        Register an instrumentation subclass of View. TestView counts calls to
        protected methods and accepts callbacks to execute when a layout completes.

2017-10-03  Ryan Haddad  <ryanhaddad@apple.com>

        Update iOS TestExpectations for payment-request tests.
        https://bugs.webkit.org/show_bug.cgi?id=177786

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-10-03  Brent Fulgham  <bfulgham@apple.com>

        [Mac] Use safer decoding practices for NSKeyedUnarchiver
        https://bugs.webkit.org/show_bug.cgi?id=175887
        <rdar://problem/33435281>

        Reviewed by Daniel Bates.

        Mark two tests as flaky for now, until the relevant CFNetwork changes are available on the test systems.
        1. webarchive/loading/cache-expired-subresource.html
        2. webarchive/loading/test-loading-archive-subresource-null-mimetype.html

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-10-03  Ms2ger  <Ms2ger@igalia.com>

        Remove some duplicated canvas toDataURL tests.
        https://bugs.webkit.org/show_bug.cgi?id=177805

        Reviewed by Youenn Fablet.

        This copy of the canvas test suite was added in bug 20553 (r59954).
        Another one-time import was done in bug 138324 (r176144). Yet another
        copy was added in bug 148822 (r189394) and this one has been kept
        up-to-date with upstream since.

        I have verified that the latest tests cover everything the older copies
        do. There seems to be no reason to keep the older copies around.

        * TestExpectations: Removed reference to removed test.
        * canvas/philip/tests/toDataURL.arguments.1-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.arguments.1.html: Removed.
        * canvas/philip/tests/toDataURL.arguments.2-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.arguments.2.html: Removed.
        * canvas/philip/tests/toDataURL.arguments.3-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.arguments.3.html: Removed.
        * canvas/philip/tests/toDataURL.bogustype-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.bogustype.html: Removed.
        * canvas/philip/tests/toDataURL.default-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.default.html: Removed.
        * canvas/philip/tests/toDataURL.jpeg.alpha-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.jpeg.alpha.html: Removed.
        * canvas/philip/tests/toDataURL.jpeg.alpha.png: Removed.
        * canvas/philip/tests/toDataURL.jpeg.primarycolours-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.jpeg.primarycolours.html: Removed.
        * canvas/philip/tests/toDataURL.jpeg.primarycolours.png: Removed.
        * canvas/philip/tests/toDataURL.jpeg.quality.basic-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.jpeg.quality.basic.html: Removed.
        * canvas/philip/tests/toDataURL.jpeg.quality.basic.png: Removed.
        * canvas/philip/tests/toDataURL.jpeg.quality.notnumber-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.jpeg.quality.notnumber.html: Removed.
        * canvas/philip/tests/toDataURL.jpeg.quality.outsiderange-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.jpeg.quality.outsiderange.html: Removed.
        * canvas/philip/tests/toDataURL.lowercase.ascii-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.lowercase.ascii.html: Removed.
        * canvas/philip/tests/toDataURL.lowercase.unicode-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.lowercase.unicode.html: Removed.
        * canvas/philip/tests/toDataURL.nocontext-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.nocontext.html: Removed.
        * canvas/philip/tests/toDataURL.png-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.png.complexcolours-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.png.complexcolours.html: Removed.
        * canvas/philip/tests/toDataURL.png.complexcolours.png: Removed.
        * canvas/philip/tests/toDataURL.png.html: Removed.
        * canvas/philip/tests/toDataURL.png.primarycolours-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.png.primarycolours.html: Removed.
        * canvas/philip/tests/toDataURL.png.primarycolours.png: Removed.
        * canvas/philip/tests/toDataURL.unrecognised-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.unrecognised.html: Removed.
        * canvas/philip/tests/toDataURL.zerosize-expected.txt: Removed.
        * canvas/philip/tests/toDataURL.zerosize.html: Removed.
        * platform/ios-device/TestExpectations: Removed reference to removed test.

2017-10-03  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r222760.

        This change caused LayoutTest crashes.

        Reverted changeset:

        "[Mac] Use safer decoding practices for NSKeyedUnarchiver"
        https://bugs.webkit.org/show_bug.cgi?id=175887
        http://trac.webkit.org/changeset/222760

2017-10-03  Michael Catanzaro  <mcatanzaro@igalia.com>

        REGRESSION(r222392): [WPE][GTK] Many forms tests are failing due to broken event timestamps
        https://bugs.webkit.org/show_bug.cgi?id=177449

        Reviewed by Chris Dumez.

        * platform/gtk/TestExpectations:

2017-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>

        REGRESSION(r222595): Intermittent crash while accessing DataTransferItemList
        https://bugs.webkit.org/show_bug.cgi?id=177791
        <rdar://problem/34781456>

        Reviewed by Ryosuke Niwa.

        Add a new layout test that simulates the crash encountered in this bug by forcing a garbage collection sweep
        right before accessing the pasteboard in a "dragend" event handler.

        * TestExpectations:
        * editing/pasteboard/drag-end-crash-accessing-item-list-expected.txt: Added.
        * editing/pasteboard/drag-end-crash-accessing-item-list.html: Added.
        * platform/mac-wk1/TestExpectations:

2017-10-02  Brent Fulgham  <bfulgham@apple.com>

        Merge three Blink test cases
        https://bugs.webkit.org/show_bug.cgi?id=177797
        <rdar://problem/27331975>

        Unreviewed merge of Blink test cases.

        Merge three test cases from the following Blink change:
            https://chromium.googlesource.com/chromium/blink/+/17c5b48f130e4ebb796f9db89628f887624db4ef

        Relevant fixes had been made in WebKit over the years, but we did not include proper
        test coverage.

        * fast/dom/assertion-on-node-removal-expected.txt: Added.
        * fast/dom/assertion-on-node-removal.html: Added.
        * fast/forms/control-detach-crash-expected.txt: Added.
        * fast/forms/control-detach-crash.html: Added.
        * svg/custom/assert-on-node-removal-expected.txt: Added.
        * svg/custom/assert-on-node-removal.html: Added.

2017-10-02  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] The value of aria-level is not exposed on non-heading roles
        https://bugs.webkit.org/show_bug.cgi?id=177775

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-level-expected.txt: Added.
        * accessibility/gtk/aria-level.html: Added.

2017-10-02  Brent Fulgham  <bfulgham@apple.com>

        [Mac] Use safer decoding practices for NSKeyedUnarchiver
        https://bugs.webkit.org/show_bug.cgi?id=175887
        <rdar://problem/33435281>

        Reviewed by Daniel Bates.

        Mark two tests as flaky for now, until the relevant CFNetwork changes are available on the test systems.
        1. webarchive/loading/cache-expired-subresource.html
        2. webarchive/loading/test-loading-archive-subresource-null-mimetype.html

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-10-02  Andy Estes  <aestes@apple.com>

        [Payment Request] Update payment-request imported tests
        https://bugs.webkit.org/show_bug.cgi?id=177786

        Reviewed by Zalan Bujtas.

        * platform/mac-wk2/TestExpectations:

2017-10-02  Matt Lewis  <jlewis3@apple.com>

        Additional rebaselining of js/dom/global-constructors-attributes.html.

        Unreviewed test gardening.

        * platform/mac-sierra-wk1/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/mac-sierra-wk2/js/dom/global-constructors-attributes-expected.txt.
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk2/js/dom/global-constructors-attributes-expected.txt: Removed.

2017-10-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Include Beacon and Ping requests in Network tab
        https://bugs.webkit.org/show_bug.cgi?id=177641
        <rdar://problem/33086839>

        Reviewed by Chris Dumez.

        * http/tests/inspector/network/beacon-type-expected.txt: Added.
        * http/tests/inspector/network/beacon-type.html: Added.
        * http/tests/inspector/network/ping-type-expected.txt: Added.
        * http/tests/inspector/network/ping-type.html: Added.
        * http/tests/inspector/network/resources/beacon.php: Added.
        * http/tests/inspector/network/resources/ping.php: Added.
        Test for Beacon and Ping resource loads.

        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        Skip beacon tests where beacon is not supported.

2017-10-02  Jiewen Tan  <jiewen_tan@apple.com>

        Mark imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html as slow
        https://bugs.webkit.org/show_bug.cgi?id=177615

        Unreviewed test gardening.

        * TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-10-02  Matt Lewis  <jlewis3@apple.com>

        Rebaseline of js/dom/global-constructors-attributes-dedicated-worker.html after r222692.

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2017-10-02  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations: Unskip some more tests, and add
        failure expectations for whatever is still failing from that subset.

2017-10-02  Matt Lewis  <jlewis3@apple.com>

        Rebaseline of js/dom/global-constructors-attributes.html after r222692.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-10-01  Sam Weinig  <sam@webkit.org>

        Skip failing tests from r222692 that have different output on each run.

        * TestExpectations:
        
            Skips imported/w3c/web-platform-tests/fetch/api/abort/general.any.html
            and imported/w3c/web-platform-tests/fetch/api/abort/general.any.worker.html

2017-10-01  Sam Weinig  <sam@webkit.org>

        Add support for DOM aborting (https://dom.spec.whatwg.org/#aborting-ongoing-activities)
        https://bugs.webkit.org/show_bug.cgi?id=177718

        Reviewed by Darin Adler.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

            Update test results.

2017-09-30  Ryosuke Niwa  <rniwa@webkit.org>

        Don't reveal file URL when pasting an image
        https://bugs.webkit.org/show_bug.cgi?id=177710
        <rdar://problem/34757924>

        Reviewed by Wenson Hsieh.

        Added a regression test for pasting an image. We enable this protection only when custom data is enabled
        to preserve the backwards compatibility.

        * editing/pasteboard/paste-image-does-not-reveal-file-url-expected.txt: Added.
        * editing/pasteboard/paste-image-does-not-reveal-file-url.html: Added.

2017-09-30  Wenson Hsieh  <wenson_hsieh@apple.com>

        Augment editing/pasteboard/data-transfer-get-data-non-normalized-types.html to check whitespace stripping
        https://bugs.webkit.org/show_bug.cgi?id=177707

        Reviewed by Ryosuke Niwa.

        Augment an existing layout test to check that whitespace is stripped from types passed into DataTransfer's
        getData and setData methods.

        * editing/pasteboard/data-transfer-get-data-non-normalized-types-expected.txt:
        * editing/pasteboard/data-transfer-get-data-non-normalized-types.html:

2017-09-30  Wenson Hsieh  <wenson_hsieh@apple.com>

        Add a layout test test that exercises setData and getData for non-normalized types
        https://bugs.webkit.org/show_bug.cgi?id=177707

        Reviewed by Darin Adler.

        We have test coverage for getData and setData with non-normalized types on some of our bots where custom
        pasteboard data is enabled by default, but this is not the case in EWS. This patch adds a copy and paste test
        that exercises this codepath across all Cocoa platforms.

        * editing/pasteboard/data-transfer-get-data-non-normalized-types-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-non-normalized-types.html: Added.
        * platform/ios-simulator-wk1/TestExpectations:

2017-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.

        Rebaseline tests affected by the new fonts.

        * platform/gtk/css3/unicode-bidi-isolate-basic-expected.png:
        * platform/gtk/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/gtk/editing/selection/caret-rtl-2-expected.png:
        * platform/gtk/editing/selection/caret-rtl-2-expected.txt:
        * platform/gtk/editing/selection/caret-rtl-2-left-expected.png:
        * platform/gtk/editing/selection/caret-rtl-2-left-expected.txt:
        * platform/gtk/editing/selection/caret-rtl-expected.png:
        * platform/gtk/editing/selection/caret-rtl-expected.txt:
        * platform/gtk/editing/selection/caret-rtl-right-expected.png:
        * platform/gtk/editing/selection/caret-rtl-right-expected.txt:
        * platform/gtk/editing/selection/extend-by-word-002-expected.png:
        * platform/gtk/editing/selection/extend-by-word-002-expected.txt:
        * platform/gtk/editing/selection/extend-selection-bidi-expected.png:
        * platform/gtk/editing/selection/extend-selection-bidi-expected.txt:
        * platform/gtk/editing/selection/move-past-trailing-space-expected.png:
        * platform/gtk/editing/selection/move-past-trailing-space-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
        * platform/gtk/fast/borders/rtl-border-04-expected.png:
        * platform/gtk/fast/borders/rtl-border-04-expected.txt:
        * platform/gtk/fast/borders/rtl-border-05-expected.png:
        * platform/gtk/fast/borders/rtl-border-05-expected.txt:
        * platform/gtk/fast/css/rtl-ordering-expected.png:
        * platform/gtk/fast/css/rtl-ordering-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-bidi-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-bidi-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-strict-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-strict-expected.txt:
        * platform/gtk/fast/css/word-space-extra-expected.png:
        * platform/gtk/fast/css/word-space-extra-expected.txt:
        * platform/gtk/fast/dom/34176-expected.png:
        * platform/gtk/fast/dom/34176-expected.txt:
        * platform/gtk/fast/dom/52776-expected.png:
        * platform/gtk/fast/dom/52776-expected.txt:
        * platform/gtk/fast/forms/listbox-bidi-align-expected.png:
        * platform/gtk/fast/forms/listbox-bidi-align-expected.txt:
        * platform/gtk/fast/forms/search-rtl-expected.png:
        * platform/gtk/fast/forms/search-rtl-expected.txt:
        * platform/gtk/fast/forms/select-visual-hebrew-expected.png:
        * platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
        * platform/gtk/fast/forms/visual-hebrew-text-field-expected.png:
        * platform/gtk/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/gtk/fast/inline/inline-box-background-expected.png:
        * platform/gtk/fast/inline/inline-box-background-expected.txt:
        * platform/gtk/fast/inline/inline-box-background-long-image-expected.png:
        * platform/gtk/fast/inline/inline-box-background-long-image-expected.txt:
        * platform/gtk/fast/inline/inline-box-background-repeat-x-expected.png:
        * platform/gtk/fast/inline/inline-box-background-repeat-x-expected.txt:
        * platform/gtk/fast/inline/inline-box-background-repeat-y-expected.png:
        * platform/gtk/fast/inline/inline-box-background-repeat-y-expected.txt:
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.png:
        * platform/gtk/fast/text/atsui-negative-spacing-features-expected.txt:
        * platform/gtk/fast/text/atsui-spacing-features-expected.png:
        * platform/gtk/fast/text/atsui-spacing-features-expected.txt:
        * platform/gtk/fast/text/basic/006-expected.png:
        * platform/gtk/fast/text/basic/006-expected.txt:
        * platform/gtk/fast/text/bidi-embedding-pop-and-push-same-expected.png:
        * platform/gtk/fast/text/bidi-embedding-pop-and-push-same-expected.txt:
        * platform/gtk/fast/text/capitalize-boundaries-expected.png:
        * platform/gtk/fast/text/capitalize-boundaries-expected.txt:
        * platform/gtk/fast/text/cg-fallback-bolding-expected.png:
        * platform/gtk/fast/text/cg-fallback-bolding-expected.txt:
        * platform/gtk/fast/text/drawBidiText-expected.png:
        * platform/gtk/fast/text/drawBidiText-expected.txt:
        * platform/gtk/fast/text/hyphenate-avoid-orphaned-word-expected.txt:
        * platform/gtk/fast/text/hyphenate-character-expected.png:
        * platform/gtk/fast/text/hyphenate-character-expected.txt:
        * platform/gtk/fast/text/hyphenate-first-word-expected.png:
        * platform/gtk/fast/text/hyphenate-first-word-expected.txt:
        * platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
        * platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
        * platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
        * platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
        * platform/gtk/fast/text/hyphens-expected.png:
        * platform/gtk/fast/text/hyphens-expected.txt:
        * platform/gtk/fast/text/in-rendered-text-rtl-expected.png:
        * platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
        * platform/gtk/fast/text/international/bidi-AN-after-L-expected.png:
        * platform/gtk/fast/text/international/bidi-AN-after-L-expected.txt:
        * platform/gtk/fast/text/international/bidi-L2-run-reordering-expected.png:
        * platform/gtk/fast/text/international/bidi-L2-run-reordering-expected.txt:
        * platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.png:
        * platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.png:
        * platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
        * platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * platform/gtk/fast/text/international/bidi-explicit-embedding-expected.png:
        * platform/gtk/fast/text/international/bidi-explicit-embedding-expected.txt:
        * platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
        * platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
        * platform/gtk/fast/text/international/bidi-innertext-expected.png:
        * platform/gtk/fast/text/international/bidi-innertext-expected.txt:
        * platform/gtk/fast/text/international/bidi-linebreak-001-expected.png:
        * platform/gtk/fast/text/international/bidi-linebreak-001-expected.txt:
        * platform/gtk/fast/text/international/bidi-linebreak-002-expected.png:
        * platform/gtk/fast/text/international/bidi-linebreak-002-expected.txt:
        * platform/gtk/fast/text/international/bidi-linebreak-003-expected.png:
        * platform/gtk/fast/text/international/bidi-linebreak-003-expected.txt:
        * platform/gtk/fast/text/international/bidi-mirror-he-ar-expected.png:
        * platform/gtk/fast/text/international/bidi-mirror-he-ar-expected.txt:
        * platform/gtk/fast/text/international/bidi-neutral-run-expected.png:
        * platform/gtk/fast/text/international/bidi-neutral-run-expected.txt:
        * platform/gtk/fast/text/international/bidi-override-expected.png:
        * platform/gtk/fast/text/international/bidi-override-expected.txt:
        * platform/gtk/fast/text/international/hebrew-vowels-expected.png:
        * platform/gtk/fast/text/international/hebrew-vowels-expected.txt:
        * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
        * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/gtk/fast/text/international/rtl-caret-expected.png:
        * platform/gtk/fast/text/international/rtl-caret-expected.txt:
        * platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.png:
        * platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
        * platform/gtk/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png:
        * platform/gtk/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
        * platform/gtk/fast/text/line-breaks-expected.png:
        * platform/gtk/fast/text/line-breaks-expected.txt:
        * platform/gtk/fast/text/midword-break-after-breakable-char-expected.png:
        * platform/gtk/fast/text/midword-break-after-breakable-char-expected.txt:
        * platform/gtk/fast/text/trailing-white-space-2-expected.png:
        * platform/gtk/fast/text/trailing-white-space-2-expected.txt:
        * platform/gtk/fast/text/trailing-white-space-expected.png:
        * platform/gtk/fast/text/trailing-white-space-expected.txt:
        * platform/gtk/fast/text/vertical-rl-rtl-linebreak-expected.png:
        * platform/gtk/fast/text/vertical-rl-rtl-linebreak-expected.txt:
        * platform/gtk/fast/text/whitespace/026-expected.png:
        * platform/gtk/fast/text/whitespace/026-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-anchor-no-markup-expected.png:
        * platform/gtk/svg/W3C-I18N/text-anchor-no-markup-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
        * platform/gtk/svg/custom/glyph-selection-bidi-mirror-expected.png:
        * platform/gtk/svg/custom/glyph-selection-bidi-mirror-expected.txt:
        * platform/gtk/svg/text/bidi-embedded-direction-expected.png:
        * platform/gtk/svg/text/bidi-embedded-direction-expected.txt:
        * platform/gtk/svg/text/bidi-reorder-value-lists-expected.png:
        * platform/gtk/svg/text/bidi-reorder-value-lists-expected.txt: Added.
        * platform/gtk/svg/text/bidi-text-anchor-direction-expected.png:
        * platform/gtk/svg/text/bidi-text-anchor-direction-expected.txt:
        * platform/gtk/svg/text/text-tselect-02-f-expected.png:
        * platform/gtk/svg/text/text-tselect-02-f-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_layers-opacity-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_position-table-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_position-table-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-cell-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png:
        * platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:

2017-09-29  Chris Dumez  <cdumez@apple.com>

        http/tests/preconnect/link-rel-preconnect-https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=177673

        Reviewed by Alex Christensen.

        * http/tests/preconnect/link-rel-preconnect-https-expected.txt:
        Rebaseline test now that it is passing.

        * platform/wk2/TestExpectations:
        Uskip test as it should no longer be flaky.

2017-09-29  Chris Dumez  <cdumez@apple.com>

        Unreviewed, temporarily mark http/tests/preconnect/link-rel-preconnect-https.html as flaky.

        * platform/wk2/TestExpectations:

2017-09-29  Ryosuke Niwa  <rniwa@webkit.org>

        Re-enable more pasteboard tests on iOS after r222595
        https://bugs.webkit.org/show_bug.cgi?id=177637

        Reviewed by Wenson Hsieh.

        * platform/ios/TestExpectations:

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

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=177635

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-09-28  Megan Gardner  <megan_gardner@apple.com>

        Clean up Long Press Selection Tests
        https://bugs.webkit.org/show_bug.cgi?id=177636

        Reviewed by Tim Horton.

        Clean up tests to use better methods of finding selection locations so that 
        tests are more robust and less likely to be affected by unrelated changes.

        * fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text.html:
        * fast/events/touch/ios/long-press-then-drag-left-to-change-selected-text.html:
        * fast/events/touch/ios/long-press-then-drag-right-to-change-selected-text.html:
        * fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html:
        * fast/events/touch/ios/long-press-to-select-and-tap-to-clear-expected.txt:
        * fast/events/touch/ios/long-press-to-select-and-tap-to-clear.html:
        * fast/events/touch/ios/long-press-to-select-text-expected.txt:
        * fast/events/touch/ios/long-press-to-select-text.html:
        * fast/events/touch/ios/resources/basic-gestures.js:
        (longPressAtPoint):
        (tapAtPoint):
        (touchAndDragFromPointToPoint):
        (pressAtPoint): Deleted.
        (dragFromPointToPoint): Deleted.

2017-09-28  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
        https://bugs.webkit.org/show_bug.cgi?id=177542

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-disabled-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-disabled-changed-notification.html: Added.
        * accessibility/gtk/aria-expanded-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-expanded-changed-notification.html: Added.
        * accessibility/gtk/aria-pressed-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-pressed-changed-notification.html: Added.
        * accessibility/gtk/aria-readonly-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-readonly-changed-notification.html: Added.
        * accessibility/gtk/aria-required-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-required-changed-notification.html: Added.

2017-09-28  Per Arne Vollan  <pvollan@apple.com>

        Skip failing preconnect tests on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177626

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/storageAccess/request-storage-access-top-frame.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=177617

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177615

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-09-28  Tim Horton  <timothy_horton@apple.com>

        Remove constant() in favor of env()
        https://bugs.webkit.org/show_bug.cgi?id=177581
        <rdar://problem/34701321>

        Reviewed by Dean Jackson.

        * fast/css/variables/constants/invalid-constant-name-fallback-expected.html: Removed.
        * fast/css/variables/constants/invalid-constant-name-fallback.html: Removed.
        * fast/css/variables/constants/ios/safe-area-inset-set-expected.html: Removed.
        * fast/css/variables/constants/ios/safe-area-inset-set.html: Removed.
        * fast/css/variables/constants/safe-area-inset-cannot-override-expected.html: Removed.
        * fast/css/variables/constants/safe-area-inset-cannot-override.html: Removed.
        * fast/css/variables/constants/safe-area-inset-zero-expected.html: Removed.
        * fast/css/variables/constants/safe-area-inset-zero.html: Removed.

2017-09-28  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, fix a test name in TestExpectations.

        * platform/mac-wk1/TestExpectations:

2017-09-28  Brent Fulgham  <bfulgham@apple.com>

        Add ports 6679 and 6697 (IRC SSL) to port blacklist
        https://bugs.webkit.org/show_bug.cgi?id=177544
        <rdar://problem/34666525>

        Reviewed by Alex Christensen.

        Update test and expectations for new port.

        * security/block-test-expected.txt:
        * security/block-test.html:
        * platform/gtk/security/block-test-expected.txt:
        * platform/mac/security/block-test-expected.txt:
        * platform/wpe/security/block-test-expected.txt:

2017-09-28  Youenn Fablet  <youenn@apple.com>

        [mac-wk1] Layout test webrtc/datachannel/bufferedAmountLowThreshold tests are flaky
        https://bugs.webkit.org/show_bug.cgi?id=177462

        Reviewed by Alex Christensen.

        * webrtc/datachannel/bufferedAmountLowThreshold-default.html: Filling buffer until bufferedAmount is bug enough to trigger bufferedAmountLow event.
        * webrtc/datachannel/bufferedAmountLowThreshold-expected.txt:
        * webrtc/datachannel/bufferedAmountLowThreshold.html: Removing test that is inherently flaky on bots that are not fast enough
        to continue filling the webrtc data channel buffer.

2017-09-28  Chris Dumez  <cdumez@apple.com>

        Add support for <link rel=preconnect>
        https://bugs.webkit.org/show_bug.cgi?id=177474
        <rdar://problem/33141380>

        Reviewed by Alex Christensen.

        * fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Added.
        * fast/dom/HTMLLinkElement/preconnect-support.html: Added.
        * http/tests/preconnect/link-rel-preconnect-http-expected.txt: Added.
        * http/tests/preconnect/link-rel-preconnect-http.html: Added.
        * http/tests/preconnect/link-rel-preconnect-https-expected.txt: Added.
        * http/tests/preconnect/link-rel-preconnect-https.html: Added.
        Add layout test coverage.

        * platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Added.
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Added.
        * platform/mac-wk2/TestExpectations:
        Skip or land failure expectations for platforms where the feature is disabled.

2017-09-28  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for two http/tests/xmlhttprequest/response-* tests.

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-09-27  Fujii Hironori  <Hironori.Fujii@sony.com>

        [REGRESSION] word-spacing property is incorrectly applied
        https://bugs.webkit.org/show_bug.cgi?id=142086
        <rdar://problem/19985240>

        Reviewed by Zalan Bujtas.

        * platform/gtk/TestExpectations: Unmark
        fast/text/word-space-between-inlines.html
        * platform/mac/TestExpectations: Unmark
        fast/css/word-spacing-between-blocks.html,
        fast/css/word-spacing-between-inlines.html,
        fast/css/word-spacing-characters.html and
        fast/text/word-space-between-inlines.html.
        * platform/gtk/fast/css/word-space-extra-expected.txt:
        Rebaselined.
        * platform/mac/fast/css/word-space-extra-expected.png: Ditto.
        * platform/mac/fast/css/word-space-extra-expected.txt: Ditto.

2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>

        Drag event DataTransfer has unexpected types "dyn.ah62d4..."
        https://bugs.webkit.org/show_bug.cgi?id=172526
        <rdar://problem/32396081>

        Reviewed by Ryosuke Niwa.

        Add new layout tests on Mac and iOS to test various cases of using DataTransfer.setData, DataTransfer.getData,
        and DataTransfer.types for drag-and-drop (tests for Mac WK1 only) and copy-and-paste (all platforms).

        * TestExpectations:
        * editing/pasteboard/data-transfer-get-data-on-drop-custom-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-custom.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-plain-text-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-plain-text.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-rich-text-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-rich-text.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-url-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-drop-url.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-custom-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-custom.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-plain-text-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-plain-text.html: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Added.
        * editing/pasteboard/data-transfer-get-data-on-paste-rich-text.html: Added.
        * platform/ios-simulator-wk1/TestExpectations:

        Mark new copy and paste tests as [ Pass ], since editing/pasteboard/ is skipped by default for iOS WK1.

        * platform/ios-wk1/editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Added.
        * platform/ios-wk2/editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Added.

        Add iOS-specific baselines. This is due to the generated HTML markup for "text/html" being slightly different
        when pasting.

        * platform/mac-wk1/TestExpectations:

2017-09-27  Zalan Bujtas  <zalan@apple.com>

        Deferred image size change makes image-load-on-delay.html flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177520
        <rdar://problem/34674299>

        Reviewed by Dean Jackson.

        * platform/mac/TestExpectations:

2017-09-27  Myles C. Maxfield  <mmaxfield@apple.com>

        Minimum font size may cause elements to have an infinite line-height
        https://bugs.webkit.org/show_bug.cgi?id=177573
        <rdar://problem/34573792>

        Reviewed by Dan Bernstein.

        * fast/text/line-height-minimumFontSize-text-small-font-size-expected.txt: Added.
        * fast/text/line-height-minimumFontSize-text-small-font-size.html: Added.

2017-09-27  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r222337.

        This test is failing on iOS.

        Reverted changeset:

        "Add long press and drag test"
        https://bugs.webkit.org/show_bug.cgi?id=177289
        http://trac.webkit.org/changeset/222337

2017-09-27  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177440

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-09-27  Myles C. Maxfield  <mmaxfield@apple.com>

        "Tag" codepoints require the complex text codepath
        https://bugs.webkit.org/show_bug.cgi?id=177251
        <rdar://problem/34384001>

        Reviewed by David Hyatt.

        * fast/text/flag-codepoint-expected.html: Added.
        * fast/text/flag-codepoint.html: Added.

2017-09-27  Alicia Boya García  <aboya@igalia.com>

        GTK test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=177545

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations:
        * platform/gtk-wayland/TestExpectations:

2017-09-27  Matt Lewis  <jlewis3@apple.com>

        Marked inspector/canvas/shaderProgram-add-remove-webgl.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177388

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-09-27  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Cloning an opaque response should not assert
        https://bugs.webkit.org/show_bug.cgi?id=177548

        Reviewed by Sam Weinig.

        * http/wpt/fetch/response-opaque-clone-expected.txt: Added.
        * http/wpt/fetch/response-opaque-clone.html: Added.

2017-09-27  Chris Dumez  <cdumez@apple.com>

        cssFloat missing in CSSPropertyDeclaration.prototype
        https://bugs.webkit.org/show_bug.cgi?id=177487

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fast/css/CSSStyleDeclaration-cssFloat-expected.txt: Added.
        * fast/css/CSSStyleDeclaration-cssFloat.html: Added.

2017-09-27  Antti Koivisto  <antti@apple.com>

        REGRESSION (r222040): Crash navigating out of gfycat.com url
        https://bugs.webkit.org/show_bug.cgi?id=177531

        Reviewed by Geoff Garen.

        * fast/animation/animation-element-removal-expected.txt: Added.
        * fast/animation/animation-element-removal.html: Added.

2017-09-27  Per Arne Vollan  <pvollan@apple.com>

        Mark accessibility/image-load-on-delay.html as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177541

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-27  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] atk_table_cell_get_position() should return values of aria-rowindex and aria-colindex, if present
        https://bugs.webkit.org/show_bug.cgi?id=171176

        Reviewed by Chris Fleizach.

        * accessibility/aria-table-attributes.html: Updated to reflect new behavior.
        * platform/gtk/accessibility/aria-table-attributes-expected.txt: Updated to reflect new behavior.

2017-09-26  Zalan Bujtas  <zalan@apple.com>

        AX: Defer RenderImage's imageChanged event until after layout is done.
        https://bugs.webkit.org/show_bug.cgi?id=177446

        Reviewed by Dean Jackson.

        * accessibility/image-load-on-delay.html:

2017-09-26  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Several ARIA roles with presentational children are exposing children
        https://bugs.webkit.org/show_bug.cgi?id=177502

        Reviewed by Chris Fleizach.

        New test. Also update the results for the inspector because ARIA separators
        and their subclass roles should not expose (claim to have) children.

        * accessibility/presentational-children-expected.txt: Added.
        * accessibility/presentational-children.html: Added.
        * inspector/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.

2017-09-26  Zalan Bujtas  <zalan@apple.com>

        Fall back to normal line layout position, when simple line layout fails to find one.
        https://bugs.webkit.org/show_bug.cgi?id=176220
        <rdar://problem/34205774>

        Reviewed by Brent Fulgham.

        * fast/text/invalid-positionForPoint-offset-expected.txt: Added.
        * fast/text/invalid-positionForPoint-offset.html: Added.

2017-09-26  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r222525.

        This caused a consistent failure in the test
        inspector/dom/getAccessibilityPropertiesForNode.html .

        Reverted changeset:

        "AX: Several ARIA roles with presentational children are
        exposing children"
        https://bugs.webkit.org/show_bug.cgi?id=177502
        http://trac.webkit.org/changeset/222525

2017-09-26  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: ARIA grids claim to be multiselectable even with aria-multiselectable is set to false
        https://bugs.webkit.org/show_bug.cgi?id=177498

        Reviewed by Chris Fleizach.

        * accessibility/aria-multiselectable-grid-expected.txt: Added.
        * accessibility/aria-multiselectable-grid.html: Added.

2017-09-26  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Several ARIA roles with presentational children are exposing children
        https://bugs.webkit.org/show_bug.cgi?id=177502

        Reviewed by Chris Fleizach.

        * accessibility/presentational-children-expected.txt: Added.
        * accessibility/presentational-children.html: Added.

2017-09-26  Megan Gardner  <megan_gardner@apple.com>

        Add helper functions to write better selection tests
        https://bugs.webkit.org/show_bug.cgi?id=177403

        Reviewed by Tim Horton.

        Selection tests are finicky to write, so having some more helper functions
        that can assist in double checking where we think we are selecting, or where we
        think words are located in helpful.

        * fast/events/touch/ios/resources/ui-debugging.js: Added.
        (debugDot):
        (removeDebugDot):
        (debugRect):
        (removeDebugRect):

2017-09-26  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for http/tests/local/blob/send-hybrid-blob-using-open-panel.html.
        https://bugs.webkit.org/show_bug.cgi?id=171353

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-09-26  Antti Koivisto  <antti@apple.com>

        REGRESSION (222040): Google Maps Street View CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::PropertyWrapperAcceleratedTransform::blend const + 92
        https://bugs.webkit.org/show_bug.cgi?id=177485

        Reviewed by Zalan Bujtas.

        * fast/animation/animation-mixed-transform-crash-expected.html: Added.
        * fast/animation/animation-mixed-transform-crash.html: Added.

2017-09-26  Ryan Haddad  <ryanhaddad@apple.com>

        Mark compositing/masks/compositing-clip-path-change-no-repaint.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177397

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-26  Zan Dobersek  <zdobersek@igalia.com>

        [EME] Add ClearKey support for persistent session data load and removal
        https://bugs.webkit.org/show_bug.cgi?id=177442

        Reviewed by Xabier Rodriguez-Calvar.

        Update WPE baselines for EME tests affected by the addition of persistent
        session data load and removal in the ClearKey implementation.

        All the affected tests progress, but most of them still don't pass
        entirely due to missing functionality in the GStreamer pipeline.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:

2017-09-25  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: move Console.addInspectedNode to DOM.setInspectedNode
        https://bugs.webkit.org/show_bug.cgi?id=176827

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector/dom/cross-domain-inspected-node-access-expected.txt: Renamed from LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt.
        * http/tests/inspector/dom/cross-domain-inspected-node-access.html: Renamed from LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access.html.
        * inspector/console/command-line-api.html:
        * inspector/dom/setInspectedNode-expected.txt: Renamed from LayoutTests/inspector/console/addInspectedNode-expected.txt.
        * inspector/dom/setInspectedNode.html: Renamed from LayoutTests/inspector/console/addInspectedNode.html.
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:

2017-09-25  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Add autocompletion suggestions for CSS attr based on the selected element's attributes
        https://bugs.webkit.org/show_bug.cgi?id=177346

        Reviewed by Joseph Pecoraro.

        * inspector/model/dom-node-expected.txt: Added.
        * inspector/model/dom-node.html: Added.

2017-09-25  Youenn Fablet  <youenn@apple.com>

        WebRTC video does not resume receiving when switching back to Safari 11 on iOS
        https://bugs.webkit.org/show_bug.cgi?id=175472
        <rdar://problem/33860863>

        Reviewed by Darin Adler.

        * webrtc/video-interruption-expected.txt: Added.
        * webrtc/video-interruption.html: Added.

2017-09-25  Per Arne Vollan  <pvollan@apple.com>

        Crash in WebCore::TreeScope::documentScope
        https://bugs.webkit.org/show_bug.cgi?id=176159

        Reviewed by Ryosuke Niwa.

        * fast/dom/crash-moving-subtree-between-documents-expected.txt: Added.
        * fast/dom/crash-moving-subtree-between-documents.html: Added.

2017-09-25  Youenn Fablet  <youenn@apple.com>

        MediaStreamTrack.getSettings should compute its deviceId/groupId like enumerateDevices
        https://bugs.webkit.org/show_bug.cgi?id=177433

        Reviewed by Jer Noble.

        * fast/mediastream/get-user-media-device-id.html:

2017-09-25  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * platform/gtk/TestExpectations:

2017-09-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/loader/form-submission-after-beforeunload-cancel.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177445

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=177323

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/cache-storage/cache-representation.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177438

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-25  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for WPT LayoutTests that crash.

        Unreviewed test gardening.

        * TestExpectations:

2017-09-25  Youenn Fablet  <youenn@apple.com>

        webrtc/peer-connection-audio-mute.html is sometimes flaky
        https://bugs.webkit.org/show_bug.cgi?id=172649

        Reviewed by Darin Adler.

        Iterating until getting the expected result to make test more stable.

        * webrtc/peer-connection-audio-mute.html:
        * webrtc/peer-connection-remote-audio-mute.html:

2017-09-25  Youenn Fablet  <youenn@apple.com>

        Make captureCanvas-webrtc.html more robust
        https://bugs.webkit.org/show_bug.cgi?id=177334

        Reviewed by Darin Adler.

        Making test more robust by printing synchronously the canvas and increasing.
        the threshold for pixel comparison.
        Minor refactoring for improving the readability.

        * webrtc/captureCanvas-webrtc.html:

2017-09-25  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/video-mute.html is very often failing
        https://bugs.webkit.org/show_bug.cgi?id=177331

        Reviewed by Darin Adler.

        * webrtc/video-mute.html: using getStats instead of internals to check whether black frames are received.

2017-09-25  Ms2ger  <Ms2ger@igalia.com>

        Update waitSync and the TIMEOUT_IGNORED constant to use signed integers.
        https://bugs.webkit.org/show_bug.cgi?id=177239

        Reviewed by Žan Doberšek.

        This matches the specification.

        * fast/canvas/webgl/webgl2/constants-expected.txt: Added.
        * fast/canvas/webgl/webgl2/constants.html: Added.

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

        [css-grid] fit-content() tracks shouldn't stretch
        https://bugs.webkit.org/show_bug.cgi?id=177300

        Reviewed by Sergio Villar Senin.

        Added new case to an existent test and also modified
        the expected result in another one.

        * fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks-expected.txt:
        * fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks.html:
        * fast/css-grid-layout/grid-intrinsic-maximums-expected.html:

2017-09-24  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Object attributes are missing for ARIA live region roles
        https://bugs.webkit.org/show_bug.cgi?id=171174

        Reviewed by Chris Fleizach.

        Move two macOS tests to the shared layout test set.

        * accessibility/aria-liveregion-marquee-default-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default-expected.txt.
        * accessibility/aria-liveregion-marquee-default.html: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default.html.
        * accessibility/aria-liveregions-attributes-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes-expected.txt.
        * accessibility/aria-liveregions-attributes.html: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes.html.
        * platform/win/TestExpectations: Add the above tests to the list of known failures.

2017-09-24  Zan Dobersek  <zdobersek@igalia.com>

        [WebKit] Changing EME setting through InjectedBundle should update WebPreferencesStore
        https://bugs.webkit.org/show_bug.cgi?id=177312

        Reviewed by Carlos Garcia Campos.

        Update test baselines for two tests that now properly execute (even if
        they still fail) due to EME setting now also being updated in
        WebPreferencesStore.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:

2017-09-22  Antti Koivisto  <antti@apple.com>

        Remove tests for CSS Regions
        https://bugs.webkit.org/show_bug.cgi?id=177348

        Reviewed by Sam Weinig.

        * TestExpectations:
        * compositing/regions: Removed.
        * compositing/regions/abs-in-named-flow-from-fixed-in-named-flow-expected.txt: Removed.
        * compositing/regions/abs-in-named-flow-from-fixed-in-named-flow.html: Removed.
        * compositing/regions/abs-transformed-dynamic-update-expected.html: Removed.
        * compositing/regions/abs-transformed-dynamic-update.html: Removed.
        * compositing/regions/composited-content-fixed-region-scrolled-expected.txt: Removed.
        * compositing/regions/composited-content-fixed-region-scrolled.html: Removed.
        * compositing/regions/crash-transform-inside-region-expected.html: Removed.
        * compositing/regions/crash-transform-inside-region.html: Removed.
        * compositing/regions/fixed-empty-region-scrolled-expected.txt: Removed.
        * compositing/regions/fixed-empty-region-scrolled.html: Removed.
        * compositing/regions/fixed-in-diff-named-flows-zIndex-expected.html: Removed.
        * compositing/regions/fixed-in-diff-named-flows-zIndex.html: Removed.
        * compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-clip-descendant.html: Removed.
        * compositing/regions/fixed-in-named-flow-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-from-abs-in-named-flow.html: Removed.
        * compositing/regions/fixed-in-named-flow-from-outflow-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-from-outflow.html: Removed.
        * compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-got-transformed-parent.html: Removed.
        * compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-lost-transformed-parent.html: Removed.
        * compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-overlap-composited.html: Removed.
        * compositing/regions/fixed-in-named-flow-position-changed-expected.html: Removed.
        * compositing/regions/fixed-in-named-flow-position-changed.html: Removed.
        * compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt: Removed.
        * compositing/regions/fixed-in-named-flow-transformed-parent.html: Removed.
        * compositing/regions/fixed-in-named-flow-zIndex-expected.html: Removed.
        * compositing/regions/fixed-in-named-flow-zIndex.html: Removed.
        * compositing/regions/fixed-in-named-flow.html: Removed.
        * compositing/regions/fixed-transformed-in-named-flow-expected.txt: Removed.
        * compositing/regions/fixed-transformed-in-named-flow.html: Removed.
        * compositing/regions/floated-region-with-transformed-child-expected.html: Removed.
        * compositing/regions/floated-region-with-transformed-child.html: Removed.
        * compositing/regions/inline-replaced-transformed-in-region-expected.html: Removed.
        * compositing/regions/inline-replaced-transformed-in-region.html: Removed.
        * compositing/regions/move-layer-from-one-region-to-another-expected.html: Removed.
        * compositing/regions/move-layer-from-one-region-to-another.html: Removed.
        * compositing/regions/paint-inside-composited-region-overflow-hidden-versus-div-expected.html: Removed.
        * compositing/regions/paint-inside-composited-region-overflow-hidden-versus-div.html: Removed.
        * compositing/regions/paint-inside-composited-region-overflow-hidden-versus-region-expected.html: Removed.
        * compositing/regions/paint-inside-composited-region-overflow-hidden-versus-region.html: Removed.
        * compositing/regions/position-layer-inside-overflow-hidden-expected.html: Removed.
        * compositing/regions/position-layer-inside-overflow-hidden.html: Removed.
        * compositing/regions/position-layer-inside-region-overflow-hidden-expected.html: Removed.
        * compositing/regions/position-layer-inside-region-overflow-hidden.html: Removed.
        * compositing/regions/position-layers-inside-region-overflow-hidden-expected.html: Removed.
        * compositing/regions/position-layers-inside-region-overflow-hidden.html: Removed.
        * compositing/regions/position-layers-inside-regions-overflow-hidden-expected.html: Removed.
        * compositing/regions/position-layers-inside-regions-overflow-hidden.html: Removed.
        * compositing/regions/propagate-region-box-shadow-border-padding-expected.html: Removed.
        * compositing/regions/propagate-region-box-shadow-border-padding-for-video-expected.html: Removed.
        * compositing/regions/propagate-region-box-shadow-border-padding-for-video.html: Removed.
        * compositing/regions/propagate-region-box-shadow-border-padding.html: Removed.
        * compositing/regions/region-as-layer-in-another-flowthread-expected.html: Removed.
        * compositing/regions/region-as-layer-in-another-flowthread.html: Removed.
        * compositing/regions/transform-transparent-positioned-video-inside-region-expected.html: Removed.
        * compositing/regions/transform-transparent-positioned-video-inside-region.html: Removed.
        * compositing/regions/transformed-layer-inside-transformed-layer-expected.html: Removed.
        * compositing/regions/transformed-layer-inside-transformed-layer.html: Removed.
        * compositing/regions/video-in-overflow-region-expected.txt: Removed.
        * compositing/regions/video-in-overflow-region.html: Removed.
        * compositing/regions/webkit-flow-renderer-layer-compositing-expected.html: Removed.
        * compositing/regions/webkit-flow-renderer-layer-compositing.html: Removed.
        * compositing/regions/z-index-expected.html: Removed.
        * compositing/regions/z-index-update-expected.html: Removed.
        * compositing/regions/z-index-update.html: Removed.
        * compositing/regions/z-index.html: Removed.
        * fast/regions: Removed.
        * fast/regions/absolute-in-relative-overflow-expected.html: Removed.
        * fast/regions/absolute-in-relative-overflow.html: Removed.
        * fast/regions/absolute-pos-elem-in-named-flow-expected.txt: Removed.
        * fast/regions/absolute-pos-elem-in-named-flow.html: Removed.
        * fast/regions/absolute-pos-elem-in-region-expected.html: Removed.
        * fast/regions/absolute-pos-elem-in-region.html: Removed.
        * fast/regions/animated-image-in-region-expected.txt: Removed.
        * fast/regions/animated-image-in-region.html: Removed.
        * fast/regions/animation-element-in-region-flowed-to-other-thread-expected.html: Removed.
        * fast/regions/animation-element-in-region-flowed-to-other-thread.html: Removed.
        * fast/regions/assert-flow-thread-compositing-expected.txt: Removed.
        * fast/regions/assert-flow-thread-compositing.html: Removed.
        * fast/regions/assert-hit-test-image-expected.txt: Removed.
        * fast/regions/assert-hit-test-image.html: Removed.
        * fast/regions/assert-hit-test-multicol-in-region-expected.txt: Removed.
        * fast/regions/assert-hit-test-multicol-in-region.html: Removed.
        * fast/regions/auto-size: Removed.
        * fast/regions/auto-size/abspos-autoheight-nested-region-expected.txt: Removed.
        * fast/regions/auto-size/abspos-autoheight-nested-region.html: Removed.
        * fast/regions/auto-size/autoheight-abspos-bottom-align-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-abspos-bottom-align.html: Removed.
        * fast/regions/auto-size/autoheight-abspos-region-expected.html: Removed.
        * fast/regions/auto-size/autoheight-abspos-region.html: Removed.
        * fast/regions/auto-size/autoheight-allregions-expected.html: Removed.
        * fast/regions/auto-size/autoheight-allregions-nobreaks-expected.html: Removed.
        * fast/regions/auto-size/autoheight-allregions-nobreaks.html: Removed.
        * fast/regions/auto-size/autoheight-allregions.html: Removed.
        * fast/regions/auto-size/autoheight-break-after-expected.html: Removed.
        * fast/regions/auto-size/autoheight-break-after.html: Removed.
        * fast/regions/auto-size/autoheight-breakafteralways-maxheight-expected.html: Removed.
        * fast/regions/auto-size/autoheight-breakafteralways-maxheight.html: Removed.
        * fast/regions/auto-size/autoheight-breakbefore-wrongheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-breakbefore-wrongheight.html: Removed.
        * fast/regions/auto-size/autoheight-breakbeforealways-expected.html: Removed.
        * fast/regions/auto-size/autoheight-breakbeforealways.html: Removed.
        * fast/regions/auto-size/autoheight-correct-region-for-lines-2-expected.html: Removed.
        * fast/regions/auto-size/autoheight-correct-region-for-lines-2.html: Removed.
        * fast/regions/auto-size/autoheight-correct-region-for-lines-expected.html: Removed.
        * fast/regions/auto-size/autoheight-correct-region-for-lines.html: Removed.
        * fast/regions/auto-size/autoheight-definedheight-changenotdetected-expected.html: Removed.
        * fast/regions/auto-size/autoheight-definedheight-changenotdetected.html: Removed.
        * fast/regions/auto-size/autoheight-dynamic-update-expected.html: Removed.
        * fast/regions/auto-size/autoheight-dynamic-update.html: Removed.
        * fast/regions/auto-size/autoheight-firstregion-breakalways-expected.html: Removed.
        * fast/regions/auto-size/autoheight-firstregion-breakalways.html: Removed.
        * fast/regions/auto-size/autoheight-flexbox-expected.html: Removed.
        * fast/regions/auto-size/autoheight-flexbox.html: Removed.
        * fast/regions/auto-size/autoheight-floatright-region-expected.html: Removed.
        * fast/regions/auto-size/autoheight-floatright-region.html: Removed.
        * fast/regions/auto-size/autoheight-horizontal-bt-expected.html: Removed.
        * fast/regions/auto-size/autoheight-horizontal-bt.html: Removed.
        * fast/regions/auto-size/autoheight-inlineblock-normalflow-region-expected.html: Removed.
        * fast/regions/auto-size/autoheight-inlineblock-normalflow-region.html: Removed.
        * fast/regions/auto-size/autoheight-lastregion-overflowauto-breaksignored-expected.html: Removed.
        * fast/regions/auto-size/autoheight-lastregion-overflowauto-breaksignored.html: Removed.
        * fast/regions/auto-size/autoheight-lastregion-overflowauto-expected.html: Removed.
        * fast/regions/auto-size/autoheight-lastregion-overflowauto.html: Removed.
        * fast/regions/auto-size/autoheight-maxheight-mixed-break-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-maxheight-mixed-break.html: Removed.
        * fast/regions/auto-size/autoheight-maxheight-region-expected.html: Removed.
        * fast/regions/auto-size/autoheight-maxheight-region.html: Removed.
        * fast/regions/auto-size/autoheight-maxheight-simple-break-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-maxheight-simple-break.html: Removed.
        * fast/regions/auto-size/autoheight-maxheight-simple-nobreak-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-maxheight-simple-nobreak.html: Removed.
        * fast/regions/auto-size/autoheight-middleregion-expected.html: Removed.
        * fast/regions/auto-size/autoheight-middleregion.html: Removed.
        * fast/regions/auto-size/autoheight-minheight-region-expected.html: Removed.
        * fast/regions/auto-size/autoheight-minheight-region.html: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break-hbt-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break-hbt.html: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break-vlr-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break-vlr.html: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break-vrl-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break-vrl.html: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-mixed-break.html: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-simple-break-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-simple-break.html: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-simple-nobreak-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-minmaxheight-simple-nobreak.html: Removed.
        * fast/regions/auto-size/autoheight-mixed-nested-complex-regions-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-mixed-nested-complex-regions.html: Removed.
        * fast/regions/auto-size/autoheight-mixed-nested-regions-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-mixed-nested-regions.html: Removed.
        * fast/regions/auto-size/autoheight-mixed-parallel-regions-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-mixed-parallel-regions.html: Removed.
        * fast/regions/auto-size/autoheight-nested-regions-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-nested-regions.html: Removed.
        * fast/regions/auto-size/autoheight-normalflow-region-expected.html: Removed.
        * fast/regions/auto-size/autoheight-normalflow-region.html: Removed.
        * fast/regions/auto-size/autoheight-region-decrease-maxheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-decrease-maxheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-decrease-minheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-decrease-minheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-decrease-width-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-decrease-width.html: Removed.
        * fast/regions/auto-size/autoheight-region-increase-maxheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-increase-maxheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-increase-minheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-increase-minheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-increase-width-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-increase-width.html: Removed.
        * fast/regions/auto-size/autoheight-region-new-maxheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-new-maxheight-vrl-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-new-maxheight-vrl.html: Removed.
        * fast/regions/auto-size/autoheight-region-new-maxheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-new-minheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-new-minheight-vlr-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-new-minheight-vlr.html: Removed.
        * fast/regions/auto-size/autoheight-region-new-minheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-remove-maxheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-remove-maxheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-remove-minheight-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-region-remove-minheight.html: Removed.
        * fast/regions/auto-size/autoheight-region-valid-from-invalid-expected.html: Removed.
        * fast/regions/auto-size/autoheight-region-valid-from-invalid.html: Removed.
        * fast/regions/auto-size/autoheight-regions-mark.html: Removed.
        * fast/regions/auto-size/autoheight-secondregion-breakoutside-expected.html: Removed.
        * fast/regions/auto-size/autoheight-secondregion-breakoutside.html: Removed.
        * fast/regions/auto-size/autoheight-secondregion-expected.html: Removed.
        * fast/regions/auto-size/autoheight-secondregion.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakafteralways-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakafteralways-maxheight-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakafteralways-maxheight.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakafteralways.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakaftermargin-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakaftermargin.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakbeforealways-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakbeforealways-minheight-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakbeforealways-minheight.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-breakbeforealways.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-multiplebreaks-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-multiplebreaks.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-overflowauto-breaksignored-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-overflowauto-breaksignored.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-overflowauto-expected.html: Removed.
        * fast/regions/auto-size/autoheight-singleregion-overflowauto.html: Removed.
        * fast/regions/auto-size/autoheight-two-pass-layout-complex-001-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-two-pass-layout-complex-001.html: Removed.
        * fast/regions/auto-size/autoheight-two-pass-layout-complex-002-expected.txt: Removed.
        * fast/regions/auto-size/autoheight-two-pass-layout-complex-002.html: Removed.
        * fast/regions/auto-size/autoheight-vertical-lr-expected.html: Removed.
        * fast/regions/auto-size/autoheight-vertical-lr.html: Removed.
        * fast/regions/auto-size/autoheight-vertical-rl-expected.html: Removed.
        * fast/regions/auto-size/autoheight-vertical-rl.html: Removed.
        * fast/regions/auto-size/autosize-abspos-anchoredregion-expected.txt: Removed.
        * fast/regions/auto-size/autosize-abspos-anchoredregion-vertlr-expected.txt: Removed.
        * fast/regions/auto-size/autosize-abspos-anchoredregion-vertlr.html: Removed.
        * fast/regions/auto-size/autosize-abspos-anchoredregion.html: Removed.
        * fast/regions/auto-size/autosize-region-container-resize-expected.html: Removed.
        * fast/regions/auto-size/autosize-region-container-resize.html: Removed.
        * fast/regions/auto-size/autosize-region-window-resize-expected.html: Removed.
        * fast/regions/auto-size/autosize-region-window-resize.html: Removed.
        * fast/regions/auto-size/autowidth-abspos-expected.html: Removed.
        * fast/regions/auto-size/autowidth-abspos-regionchain-expected.html: Removed.
        * fast/regions/auto-size/autowidth-abspos-regionchain.html: Removed.
        * fast/regions/auto-size/autowidth-abspos.html: Removed.
        * fast/regions/auto-size/autowidth-attachedinvalidregion-expected.txt: Removed.
        * fast/regions/auto-size/autowidth-attachedinvalidregion.html: Removed.
        * fast/regions/auto-size/autowidth-float-expected.html: Removed.
        * fast/regions/auto-size/autowidth-float.html: Removed.
        * fast/regions/auto-size/autowidth-inlineblock-expected.html: Removed.
        * fast/regions/auto-size/autowidth-inlineblock.html: Removed.
        * fast/regions/auto-size/autowidth-nonreplaced-abspos-expected.html: Removed.
        * fast/regions/auto-size/autowidth-nonreplaced-abspos.html: Removed.
        * fast/regions/auto-size/autowidth-nonreplacedblock-normalflow-expected.html: Removed.
        * fast/regions/auto-size/autowidth-nonreplacedblock-normalflow.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-expected.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-maxwidth-expected.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-maxwidth.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-minmaxwidth-expected.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-minmaxwidth.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-minwidth-expected.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-minwidth.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-vertrl-expected.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow-vertrl.html: Removed.
        * fast/regions/auto-size/autowidth-normalflow.html: Removed.
        * fast/regions/auto-size/region-height-auto-to-defined-expected.txt: Removed.
        * fast/regions/auto-size/region-height-auto-to-defined.html: Removed.
        * fast/regions/auto-size/region-height-defined-to-auto-expected.txt: Removed.
        * fast/regions/auto-size/region-height-defined-to-auto.html: Removed.
        * fast/regions/auto-size/region-same-height-as-div-with-inline-child-expected.txt: Removed.
        * fast/regions/auto-size/region-same-height-as-div-with-inline-child.html: Removed.
        * fast/regions/bottom-overflow-out-of-first-region-absolute-expected.html: Removed.
        * fast/regions/bottom-overflow-out-of-first-region-absolute.html: Removed.
        * fast/regions/bottom-overflow-out-of-first-region-expected.html: Removed.
        * fast/regions/bottom-overflow-out-of-first-region.html: Removed.
        * fast/regions/box-decorations-over-region-padding-expected.html: Removed.
        * fast/regions/box-decorations-over-region-padding-fragmented-expected.html: Removed.
        * fast/regions/box-decorations-over-region-padding-fragmented.html: Removed.
        * fast/regions/box-decorations-over-region-padding-horiz-bt-expected.html: Removed.
        * fast/regions/box-decorations-over-region-padding-horiz-bt.html: Removed.
        * fast/regions/box-decorations-over-region-padding-vert-lr-expected.html: Removed.
        * fast/regions/box-decorations-over-region-padding-vert-lr.html: Removed.
        * fast/regions/box-decorations-over-region-padding-vert-rl-expected.html: Removed.
        * fast/regions/box-decorations-over-region-padding-vert-rl.html: Removed.
        * fast/regions/box-decorations-over-region-padding.html: Removed.
        * fast/regions/br-content-node-crash-expected.txt: Removed.
        * fast/regions/br-content-node-crash.xhtml: Removed.
        * fast/regions/clip-to-padding-box-expected.html: Removed.
        * fast/regions/clip-to-padding-box-margins-expected.html: Removed.
        * fast/regions/clip-to-padding-box-margins.html: Removed.
        * fast/regions/clip-to-padding-box-vertical-lr-expected.html: Removed.
        * fast/regions/clip-to-padding-box-vertical-lr.html: Removed.
        * fast/regions/clip-to-padding-box.html: Removed.
        * fast/regions/collapse-anonymous-region-expected.html: Removed.
        * fast/regions/collapse-anonymous-region.html: Removed.
        * fast/regions/collect-html-in-named-flow-expected.txt: Removed.
        * fast/regions/collect-html-in-named-flow.html: Removed.
        * fast/regions/content-flowed-into-pseudo-regions-expected.html: Removed.
        * fast/regions/content-flowed-into-pseudo-regions.html: Removed.
        * fast/regions/content-flowed-into-regions-dynamically-added-expected.html: Removed.
        * fast/regions/content-flowed-into-regions-dynamically-added.html: Removed.
        * fast/regions/content-flowed-into-regions-dynamically-inserted-expected.html: Removed.
        * fast/regions/content-flowed-into-regions-dynamically-inserted.html: Removed.
        * fast/regions/content-flowed-into-regions-dynamically-removed-expected.html: Removed.
        * fast/regions/content-flowed-into-regions-dynamically-removed.html: Removed.
        * fast/regions/content-flowed-into-regions-expected.html: Removed.
        * fast/regions/content-flowed-into-regions-no-scroll-expected.txt: Removed.
        * fast/regions/content-flowed-into-regions-no-scroll.html: Removed.
        * fast/regions/content-flowed-into-regions.html: Removed.
        * fast/regions/content-relative-next-tile-expected.html: Removed.
        * fast/regions/content-relative-next-tile.html: Removed.
        * fast/regions/counters: Removed.
        * fast/regions/counters/extract-list-items-001-expected.html: Removed.
        * fast/regions/counters/extract-list-items-001.html: Removed.
        * fast/regions/counters/extract-list-items-002-expected.html: Removed.
        * fast/regions/counters/extract-list-items-002.html: Removed.
        * fast/regions/counters/extract-list-items-003-expected.html: Removed.
        * fast/regions/counters/extract-list-items-003.html: Removed.
        * fast/regions/counters/extract-list-items-004-expected.html: Removed.
        * fast/regions/counters/extract-list-items-004.html: Removed.
        * fast/regions/counters/extract-list-items-005-expected.html: Removed.
        * fast/regions/counters/extract-list-items-005.html: Removed.
        * fast/regions/counters/extract-list-items-006-expected.html: Removed.
        * fast/regions/counters/extract-list-items-006.html: Removed.
        * fast/regions/counters/extract-list-items-007-expected.html: Removed.
        * fast/regions/counters/extract-list-items-007.html: Removed.
        * fast/regions/counters/extract-list-items-008-expected.html: Removed.
        * fast/regions/counters/extract-list-items-008.html: Removed.
        * fast/regions/counters/extract-list-items-009-expected.html: Removed.
        * fast/regions/counters/extract-list-items-009.html: Removed.
        * fast/regions/counters/extract-list-items-010-expected.html: Removed.
        * fast/regions/counters/extract-list-items-010.html: Removed.
        * fast/regions/counters/extract-list-items-011-expected.html: Removed.
        * fast/regions/counters/extract-list-items-011.html: Removed.
        * fast/regions/counters/extract-list-items-012-expected.html: Removed.
        * fast/regions/counters/extract-list-items-012.html: Removed.
        * fast/regions/counters/extract-list-items-013-expected.html: Removed.
        * fast/regions/counters/extract-list-items-013.html: Removed.
        * fast/regions/counters/extract-list-items-014-expected.html: Removed.
        * fast/regions/counters/extract-list-items-014.html: Removed.
        * fast/regions/counters/extract-list-items-015-expected.html: Removed.
        * fast/regions/counters/extract-list-items-015.html: Removed.
        * fast/regions/counters/extract-numbered-paragraphs-divs-001-expected.html: Removed.
        * fast/regions/counters/extract-numbered-paragraphs-divs-001.html: Removed.
        * fast/regions/counters/extract-numbered-paragraphs-divs-002-expected.html: Removed.
        * fast/regions/counters/extract-numbered-paragraphs-divs-002.html: Removed.
        * fast/regions/counters/extract-numbered-paragraphs-expected.html: Removed.
        * fast/regions/counters/extract-numbered-paragraphs.html: Removed.
        * fast/regions/counters/extract-numbered-spans-display-only-some-expected.html: Removed.
        * fast/regions/counters/extract-numbered-spans-display-only-some.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-001-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-001.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-002-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-002.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-003-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-003.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html: Removed.
        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html: Removed.
        * fast/regions/counters/extract-unordered-lists-in-regions-expected.html: Removed.
        * fast/regions/counters/extract-unordered-lists-in-regions.html: Removed.
        * fast/regions/crash-div-outside-body-vertical-rl-expected.html: Removed.
        * fast/regions/crash-div-outside-body-vertical-rl.html: Removed.
        * fast/regions/crash-reflow-inline-content-in-variable-width-regions-expected.txt: Removed.
        * fast/regions/crash-reflow-inline-content-in-variable-width-regions.html: Removed.
        * fast/regions/crash-when-renderer-is-in-multiple-selection-subtrees-expected.txt: Removed.
        * fast/regions/crash-when-renderer-is-in-multiple-selection-subtrees.html: Removed.
        * fast/regions/crash-when-renderer-is-in-multiple-selection-subtrees2-expected.txt: Removed.
        * fast/regions/crash-when-renderer-is-in-multiple-selection-subtrees2.html: Removed.
        * fast/regions/cssom: Removed.
        * fast/regions/cssom/client-rects-fixed-content-expected.txt: Removed.
        * fast/regions/cssom/client-rects-fixed-content.html: Removed.
        * fast/regions/cssom/client-rects-forced-breaks-expected.txt: Removed.
        * fast/regions/cssom/client-rects-forced-breaks.html: Removed.
        * fast/regions/cssom/client-rects-inline-complex-expected.txt: Removed.
        * fast/regions/cssom/client-rects-inline-complex.html: Removed.
        * fast/regions/cssom/client-rects-inline-expected.txt: Removed.
        * fast/regions/cssom/client-rects-inline.html: Removed.
        * fast/regions/cssom/client-rects-nested-regions-expected.txt: Removed.
        * fast/regions/cssom/client-rects-nested-regions.html: Removed.
        * fast/regions/cssom/client-rects-positioned-expected.txt: Removed.
        * fast/regions/cssom/client-rects-positioned.html: Removed.
        * fast/regions/cssom/client-rects-relative-position-expected.txt: Removed.
        * fast/regions/cssom/client-rects-relative-position.html: Removed.
        * fast/regions/cssom/client-rects-simple-block-expected.txt: Removed.
        * fast/regions/cssom/client-rects-simple-block.html: Removed.
        * fast/regions/cssom/client-rects-transforms-expected.txt: Removed.
        * fast/regions/cssom/client-rects-transforms.html: Removed.
        * fast/regions/cssom/client-rects-unsplittable-float-expected.txt: Removed.
        * fast/regions/cssom/client-rects-unsplittable-float.html: Removed.
        * fast/regions/cssom/element-region-overset-state-expected.txt: Removed.
        * fast/regions/cssom/element-region-overset-state-negative-letter-spacing-expected.txt: Removed.
        * fast/regions/cssom/element-region-overset-state-negative-letter-spacing.html: Removed.
        * fast/regions/cssom/element-region-overset-state-vertical-rl-expected.txt: Removed.
        * fast/regions/cssom/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt: Removed.
        * fast/regions/cssom/element-region-overset-state-vertical-rl-negative-letter-spacing.html: Removed.
        * fast/regions/cssom/element-region-overset-state-vertical-rl.html: Removed.
        * fast/regions/cssom/element-region-overset-state.html: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect-expected.txt: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect-horizontal-bt-expected.txt: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect-horizontal-bt.html: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect-vertical-expected.txt: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect-vertical-rl-expected.txt: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect-vertical-rl.html: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect-vertical.html: Removed.
        * fast/regions/cssom/flowed-content-bounding-client-rect.html: Removed.
        * fast/regions/cssom/flowed-content-transform-bounding-client-rect-expected.txt: Removed.
        * fast/regions/cssom/flowed-content-transform-bounding-client-rect.html: Removed.
        * fast/regions/cssom/flowed-inline-content-bounding-client-rect-expected.txt: Removed.
        * fast/regions/cssom/flowed-inline-content-bounding-client-rect.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-absolute-pos-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-absolute-pos.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-content-nodes-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-content-nodes.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-display-none-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-display-none.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-empty-regions-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-empty-regions.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-fixed-pos-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-fixed-pos.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-horiz-bt-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-horiz-bt.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-inline-only-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-inline-only.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-inline-svg-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-inline-svg.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-text-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-text-vert-lr-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-text-vert-lr.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-text.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-vert-lr-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-vert-lr.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-vert-rl-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-vert-rl.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-writing-modes-rl-rb-lr-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-writing-modes-rl-rb-lr.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges-writing-modes-tb-rl-lr-expected.txt: Removed.
        * fast/regions/cssom/get-region-flow-ranges-writing-modes-tb-rl-lr.html: Removed.
        * fast/regions/cssom/get-region-flow-ranges.html: Removed.
        * fast/regions/cssom/get-regions-by-content-expected.txt: Removed.
        * fast/regions/cssom/get-regions-by-content-horiz-bt-expected.txt: Removed.
        * fast/regions/cssom/get-regions-by-content-horiz-bt.html: Removed.
        * fast/regions/cssom/get-regions-by-content-horiz-tb-expected.txt: Removed.
        * fast/regions/cssom/get-regions-by-content-horiz-tb.html: Removed.
        * fast/regions/cssom/get-regions-by-content-pseudo-expected.txt: Removed.
        * fast/regions/cssom/get-regions-by-content-pseudo.html: Removed.
        * fast/regions/cssom/get-regions-by-content-vert-lr-expected.txt: Removed.
        * fast/regions/cssom/get-regions-by-content-vert-lr.html: Removed.
        * fast/regions/cssom/get-regions-by-content-vert-rl-expected.txt: Removed.
        * fast/regions/cssom/get-regions-by-content-vert-rl.html: Removed.
        * fast/regions/cssom/get-regions-by-content.html: Removed.
        * fast/regions/cssom/get-regions-by-content2-expected.txt: Removed.
        * fast/regions/cssom/get-regions-by-content2.html: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions-expected.txt: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions.html: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-region-absolute-sticky-fixed-expected.txt: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-region-float-expected.txt: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-region-float-vert-rl-expected.txt: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-region-float-vert-rl.html: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-in-region-float.html: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-inlines-region-in-element-expected.txt: Removed.
        * fast/regions/cssom/offsetLeft-offsetTop-inlines-region-in-element.html: Removed.
        * fast/regions/cssom/offsetParent-body-in-flow-thread-expected.txt: Removed.
        * fast/regions/cssom/offsetParent-body-in-flow-thread.html: Removed.
        * fast/regions/cssom/offsetParent-in-flow-thread-expected.txt: Removed.
        * fast/regions/cssom/offsetParent-in-flow-thread.html: Removed.
        * fast/regions/cssom/overset-break-expected.txt: Removed.
        * fast/regions/cssom/overset-break-nested-expected.txt: Removed.
        * fast/regions/cssom/overset-break-nested.html: Removed.
        * fast/regions/cssom/overset-break-with-sibling-expected.txt: Removed.
        * fast/regions/cssom/overset-break-with-sibling.html: Removed.
        * fast/regions/cssom/overset-break.html: Removed.
        * fast/regions/cssom/region-range-for-box-crash-expected.txt: Removed.
        * fast/regions/cssom/region-range-for-box-crash.html: Removed.
        * fast/regions/cssom/webkit-named-flow-collection-crash-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-collection-crash.html: Removed.
        * fast/regions/cssom/webkit-named-flow-collection-empty-getters-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-collection-empty-getters.html: Removed.
        * fast/regions/cssom/webkit-named-flow-collection-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-collection.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-add-to-flow-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-add-to-flow.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-auto-height-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-auto-height.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-crash-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-crash.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-no-regions-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-no-regions.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-no-overset-change-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-overset-change-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-overset-change.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-remove-from-dom-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-remove-from-dom.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-remove-from-flow-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-remove-from-flow.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-target-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-target.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event-to-null-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-event-to-null.html: Removed.
        * fast/regions/cssom/webkit-named-flow-event.html: Removed.
        * fast/regions/cssom/webkit-named-flow-existing-flow-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-existing-flow.html: Removed.
        * fast/regions/cssom/webkit-named-flow-first-empty-region-index-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-first-empty-region-index.html: Removed.
        * fast/regions/cssom/webkit-named-flow-flow-added-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-flow-added.html: Removed.
        * fast/regions/cssom/webkit-named-flow-get-content-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-get-content.html: Removed.
        * fast/regions/cssom/webkit-named-flow-get-regions-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-get-regions-pseudo-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-get-regions-pseudo.html: Removed.
        * fast/regions/cssom/webkit-named-flow-get-regions.html: Removed.
        * fast/regions/cssom/webkit-named-flow-invalid-name-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-invalid-name.html: Removed.
        * fast/regions/cssom/webkit-named-flow-modified-flow-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-modified-flow.html: Removed.
        * fast/regions/cssom/webkit-named-flow-name-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-name.html: Removed.
        * fast/regions/cssom/webkit-named-flow-non-existing-flow-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-non-existing-flow.html: Removed.
        * fast/regions/cssom/webkit-named-flow-overset-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-overset.html: Removed.
        * fast/regions/cssom/webkit-named-flow-removed-flow-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-removed-flow.html: Removed.
        * fast/regions/cssom/webkit-named-flow-same-object-expected.txt: Removed.
        * fast/regions/cssom/webkit-named-flow-same-object.html: Removed.
        * fast/regions/detaching-regions-with-anonymous-blocks-expected.txt: Removed.
        * fast/regions/detaching-regions-with-anonymous-blocks.html: Removed.
        * fast/regions/drag-scrollbars-of-content-expected.html: Removed.
        * fast/regions/drag-scrollbars-of-content.html: Removed.
        * fast/regions/flexbox-in-region-crash-expected.txt: Removed.
        * fast/regions/flexbox-in-region-crash.html: Removed.
        * fast/regions/float-pushed-width-change-2-expected.html: Removed.
        * fast/regions/float-pushed-width-change-2.html: Removed.
        * fast/regions/float-pushed-width-change-expected.html: Removed.
        * fast/regions/float-pushed-width-change.html: Removed.
        * fast/regions/float-slicing-on-forced-break-expected.html: Removed.
        * fast/regions/float-slicing-on-forced-break.html: Removed.
        * fast/regions/floats-basic-in-variable-width-regions-expected.html: Removed.
        * fast/regions/floats-basic-in-variable-width-regions.html: Removed.
        * fast/regions/flow-anonymous-children-expected.txt: Removed.
        * fast/regions/flow-anonymous-children.html: Removed.
        * fast/regions/flow-body-in-html-expected.txt: Removed.
        * fast/regions/flow-body-in-html.html: Removed.
        * fast/regions/flow-content-basic-expected.html: Removed.
        * fast/regions/flow-content-basic-vertical-expected.html: Removed.
        * fast/regions/flow-content-basic-vertical-rl-expected.html: Removed.
        * fast/regions/flow-content-basic-vertical-rl.html: Removed.
        * fast/regions/flow-content-basic-vertical.html: Removed.
        * fast/regions/flow-content-basic.html: Removed.
        * fast/regions/flow-fixed-element-transformed-parent-expected.txt: Removed.
        * fast/regions/flow-fixed-element-transformed-parent.html: Removed.
        * fast/regions/flow-fragment-as-anonymous-block-crash-expected.txt: Removed.
        * fast/regions/flow-fragment-as-anonymous-block-crash.html: Removed.
        * fast/regions/flow-region-into-itself-crash-expected.txt: Removed.
        * fast/regions/flow-region-into-itself-crash.html: Removed.
        * fast/regions/flows-dependency-dynamic-remove.html: Removed.
        * fast/regions/flows-dependency-same-flow.html: Removed.
        * fast/regions/flowthread-getranges-box-cast-expected.txt: Removed.
        * fast/regions/flowthread-getranges-box-cast.html: Removed.
        * fast/regions/forced-break-inside-avoid-break-expected.txt: Removed.
        * fast/regions/forced-break-inside-avoid-break.html: Removed.
        * fast/regions/fragmentation-after-float-overflow-single-region-expected.html: Removed.
        * fast/regions/fragmentation-after-float-overflow-single-region.html: Removed.
        * fast/regions/fragmentation-after-monolithic-overflow-expected.html: Removed.
        * fast/regions/fragmentation-after-monolithic-overflow-self-collapsed-expected.html: Removed.
        * fast/regions/fragmentation-after-monolithic-overflow-self-collapsed.html: Removed.
        * fast/regions/fragmentation-after-monolithic-overflow-single-region-expected.html: Removed.
        * fast/regions/fragmentation-after-monolithic-overflow-single-region.html: Removed.
        * fast/regions/fragmentation-after-monolithic-overflow.html: Removed.
        * fast/regions/frame-view-overflow-scroll-expected.html: Removed.
        * fast/regions/frame-view-overflow-scroll.html: Removed.
        * fast/regions/fullscreen: Removed.
        * fast/regions/fullscreen/full-screen-video-from-region-expected.txt: Removed.
        * fast/regions/fullscreen/full-screen-video-from-region.html: Removed.
        * fast/regions/fullscreen/full-screen-video-in-region-crash-expected.txt: Removed.
        * fast/regions/fullscreen/full-screen-video-in-region-crash.html: Removed.
        * fast/regions/generated-content: Removed.
        * fast/regions/generated-content/firstletter-inside-flowthread-expected.html: Removed.
        * fast/regions/generated-content/firstletter-inside-flowthread.html: Removed.
        * fast/regions/generated-content/pseudo-after-content-node-expected.txt: Removed.
        * fast/regions/generated-content/pseudo-after-content-node.html: Removed.
        * fast/regions/generated-content/pseudo-before-content-node-expected.txt: Removed.
        * fast/regions/generated-content/pseudo-before-content-node.html: Removed.
        * fast/regions/generated-content/pseudo-first-letter-content-node-expected.txt: Removed.
        * fast/regions/generated-content/pseudo-first-letter-content-node.html: Removed.
        * fast/regions/generated-content/pseudo-first-line-content-node-expected.txt: Removed.
        * fast/regions/generated-content/pseudo-first-line-content-node.html: Removed.
        * fast/regions/hidpi-region-with-auto-margin-on-subpixel-position-expected.html: Removed.
        * fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html: Removed.
        * fast/regions/hit-test-abspos-overflow-region-expected.txt: Removed.
        * fast/regions/hit-test-abspos-overflow-region.html: Removed.
        * fast/regions/hit-test-box-non-containing-region-expected.txt: Removed.
        * fast/regions/hit-test-box-non-containing-region.html: Removed.
        * fast/regions/hit-test-float-expected.txt: Removed.
        * fast/regions/hit-test-float.html: Removed.
        * fast/regions/hit-test-region-expected.txt: Removed.
        * fast/regions/hit-test-region-preserve3d-container-expected.txt: Removed.
        * fast/regions/hit-test-region-preserve3d-container.html: Removed.
        * fast/regions/hit-test-region.html: Removed.
        * fast/regions/hover-and-js-in-visual-overflow-expected.html: Removed.
        * fast/regions/hover-and-js-in-visual-overflow-hidden-expected.html: Removed.
        * fast/regions/hover-and-js-in-visual-overflow-hidden.html: Removed.
        * fast/regions/hover-and-js-in-visual-overflow.html: Removed.
        * fast/regions/hover-content-inside-iframe-in-region-expected.html: Removed.
        * fast/regions/hover-content-inside-iframe-in-region.html: Removed.
        * fast/regions/hover-element-flowed-second-region-expected.html: Removed.
        * fast/regions/hover-element-flowed-second-region.html: Removed.
        * fast/regions/hover-in-region-grandparent-expected.txt: Removed.
        * fast/regions/hover-in-region-grandparent.html: Removed.
        * fast/regions/hover-in-region-parent-skip-inlines-anonymous-expected.txt: Removed.
        * fast/regions/hover-in-region-parent-skip-inlines-anonymous.html: Removed.
        * fast/regions/hover-in-second-region-expected.html: Removed.
        * fast/regions/hover-in-second-region.html: Removed.
        * fast/regions/hover-on-child-in-region-expected.txt: Removed.
        * fast/regions/hover-on-child-in-region-in-region-expected.txt: Removed.
        * fast/regions/hover-on-child-in-region-in-region.html: Removed.
        * fast/regions/hover-on-child-in-region.html: Removed.
        * fast/regions/hover-on-child-parent-different-regions-expected.txt: Removed.
        * fast/regions/hover-on-child-parent-different-regions.html: Removed.
        * fast/regions/hover-overflow-hidden-expected.html: Removed.
        * fast/regions/hover-overflow-hidden.html: Removed.
        * fast/regions/hover-single-flow-from-none-expected.html: Removed.
        * fast/regions/hover-single-flow-from-none-overflow-expected.html: Removed.
        * fast/regions/hover-single-flow-from-none-overflow-top-expected.html: Removed.
        * fast/regions/hover-single-flow-from-none-overflow-top.html: Removed.
        * fast/regions/hover-single-flow-from-none-overflow.html: Removed.
        * fast/regions/hover-single-flow-from-none.html: Removed.
        * fast/regions/hover-single-flow-from-other-expected.html: Removed.
        * fast/regions/hover-single-flow-from-other.html: Removed.
        * fast/regions/hover-single-flow-into-none-expected.html: Removed.
        * fast/regions/hover-single-flow-into-none.html: Removed.
        * fast/regions/hover-single-flow-into-other-expected.html: Removed.
        * fast/regions/hover-single-flow-into-other.html: Removed.
        * fast/regions/iframe-html-collected.html: Removed.
        * fast/regions/imbricated-flow-threads-crash-expected.txt: Removed.
        * fast/regions/imbricated-flow-threads-crash.html: Removed.
        * fast/regions/inline-block-flowed-in-regions-expected.html: Removed.
        * fast/regions/inline-block-flowed-in-regions.html: Removed.
        * fast/regions/inline-block-inline-children-flowed-in-regions-expected.html: Removed.
        * fast/regions/inline-block-inline-children-flowed-in-regions.html: Removed.
        * fast/regions/inline-block-inside-anonymous-overflow-expected.html: Removed.
        * fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls-expected.html: Removed.
        * fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls.html: Removed.
        * fast/regions/inline-block-inside-anonymous-overflow.html: Removed.
        * fast/regions/inline-block-overflow-expected.html: Removed.
        * fast/regions/inline-block-overflow.html: Removed.
        * fast/regions/inline-block-shifted-region-expected.txt: Removed.
        * fast/regions/inline-block-shifted-region.html: Removed.
        * fast/regions/inline-blocks-dyn-enlarged-regions-expected.html: Removed.
        * fast/regions/inline-blocks-dyn-enlarged-regions.html: Removed.
        * fast/regions/inline-blocks-dyn-shrunk-regions-expected.html: Removed.
        * fast/regions/inline-blocks-dyn-shrunk-regions.html: Removed.
        * fast/regions/inline-blocks-in-two-regions-expected.html: Removed.
        * fast/regions/inline-blocks-in-two-regions.html: Removed.
        * fast/regions/inline-strike-through-expected.txt: Removed.
        * fast/regions/inline-strike-through.html: Removed.
        * fast/regions/inlineblock-child-inlineblock-contentnode-in-region-expected.html: Removed.
        * fast/regions/inlineblock-child-inlineblock-contentnode-in-region.html: Removed.
        * fast/regions/input-box-with-region-assert-expected.txt: Removed.
        * fast/regions/input-box-with-region-assert.html: Removed.
        * fast/regions/intrinsic-sized-regions-expected.txt: Removed.
        * fast/regions/intrinsic-sized-regions.html: Removed.
        * fast/regions/last-region-border-radius-expected.html: Removed.
        * fast/regions/last-region-border-radius.html: Removed.
        * fast/regions/layers: Removed.
        * fast/regions/layers/float-region-promoted-to-layer-expected.html: Removed.
        * fast/regions/layers/float-region-promoted-to-layer.html: Removed.
        * fast/regions/layers/region-normalflow-stacking-context-expected.html: Removed.
        * fast/regions/layers/region-normalflow-stacking-context.html: Removed.
        * fast/regions/layers/region-removed-during-animation-expected.html: Removed.
        * fast/regions/layers/region-removed-during-animation.html: Removed.
        * fast/regions/layers/region-zIndex-computedStyle-expected.txt: Removed.
        * fast/regions/layers/region-zIndex-computedStyle.html: Removed.
        * fast/regions/layers/stacking-context-paint-order-expected.html: Removed.
        * fast/regions/layers/stacking-context-paint-order.html: Removed.
        * fast/regions/line-containing-region-crash-expected.txt: Removed.
        * fast/regions/line-containing-region-crash.html: Removed.
        * fast/regions/list-item-as-region-expected.html: Removed.
        * fast/regions/list-item-as-region.html: Removed.
        * fast/regions/listmarker-inside-flowthread-expected.html: Removed.
        * fast/regions/listmarker-inside-flowthread.html: Removed.
        * fast/regions/mathml-crash-expected.txt: Removed.
        * fast/regions/mathml-crash.html: Removed.
        * fast/regions/move-anonymous-block-inside-named-flow-crash-expected.txt: Removed.
        * fast/regions/move-anonymous-block-inside-named-flow-crash.html: Removed.
        * fast/regions/moved-content-node-crash-expected.txt: Removed.
        * fast/regions/moved-content-node-crash.html: Removed.
        * fast/regions/multicol: Removed.
        * fast/regions/multicol/multicol-as-region-prevented-expected.html: Removed.
        * fast/regions/multicol/multicol-as-region-prevented.html: Removed.
        * fast/regions/multicol/nested-multicol-into-region-dynamic-expected.txt: Removed.
        * fast/regions/multicol/nested-multicol-into-region-dynamic.html: Removed.
        * fast/regions/multicol/regions-in-multicol-bt-expected.html: Removed.
        * fast/regions/multicol/regions-in-multicol-bt.html: Removed.
        * fast/regions/multicol/regions-in-multicol-expected.html: Removed.
        * fast/regions/multicol/regions-in-multicol-hover-expected.html: Removed.
        * fast/regions/multicol/regions-in-multicol-hover-overflow-expected.html: Removed.
        * fast/regions/multicol/regions-in-multicol-hover-overflow.html: Removed.
        * fast/regions/multicol/regions-in-multicol-hover.html: Removed.
        * fast/regions/multicol/regions-in-multicol-lr-expected.html: Removed.
        * fast/regions/multicol/regions-in-multicol-lr.html: Removed.
        * fast/regions/multicol/regions-in-multicol-rl-expected.html: Removed.
        * fast/regions/multicol/regions-in-multicol-rl.html: Removed.
        * fast/regions/multicol/regions-in-multicol.html: Removed.
        * fast/regions/multiple-directionality-changes-in-variable-width-regions.html: Removed.
        * fast/regions/named-flow-content-order-1-expected.html: Removed.
        * fast/regions/named-flow-content-order-1.html: Removed.
        * fast/regions/named-flow-content-order-2-expected.html: Removed.
        * fast/regions/named-flow-content-order-2.html: Removed.
        * fast/regions/named-flow-content-order-3-expected.html: Removed.
        * fast/regions/named-flow-content-order-3.html: Removed.
        * fast/regions/nested-floated-region-expected.html: Removed.
        * fast/regions/nested-floated-region.html: Removed.
        * fast/regions/no-split-line-box-expected.txt: Removed.
        * fast/regions/no-split-line-box.html: Removed.
        * fast/regions/outline-sides-in-region-expected.html: Removed.
        * fast/regions/outline-sides-in-region.html: Removed.
        * fast/regions/overflow: Removed.
        * fast/regions/overflow/overflow-3dtransformed-region-expected.txt: Removed.
        * fast/regions/overflow/overflow-3dtransformed-region.html: Removed.
        * fast/regions/overflow/overflow-auto-after-float-expected.html: Removed.
        * fast/regions/overflow/overflow-auto-after-float.html: Removed.
        * fast/regions/overflow/overflow-content-transform-rotate-expected.html: Removed.
        * fast/regions/overflow/overflow-content-transform-rotate.html: Removed.
        * fast/regions/overflow/overflow-content-zero-height-region-expected.html: Removed.
        * fast/regions/overflow/overflow-content-zero-height-region.html: Removed.
        * fast/regions/overflow/overflow-first-and-last-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-first-and-last-regions-in-container-hidden-expected.html: Removed.
        * fast/regions/overflow/overflow-first-and-last-regions-in-container-hidden.html: Removed.
        * fast/regions/overflow/overflow-first-and-last-regions.html: Removed.
        * fast/regions/overflow/overflow-in-uniform-regions-dynamic-expected.html: Removed.
        * fast/regions/overflow/overflow-in-uniform-regions-dynamic.html: Removed.
        * fast/regions/overflow/overflow-in-uniform-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-in-uniform-regions.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-bt-expected.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-bt.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-continuation-expected.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-continuation.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-expected.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-lr-expected.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-lr.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-rl-expected.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline-rl.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions-inline.html: Removed.
        * fast/regions/overflow/overflow-in-variable-width-regions.html: Removed.
        * fast/regions/overflow/overflow-last-region-horiz-bt-expected.html: Removed.
        * fast/regions/overflow/overflow-last-region-horiz-bt.html: Removed.
        * fast/regions/overflow/overflow-last-region-vert-lr-expected.html: Removed.
        * fast/regions/overflow/overflow-last-region-vert-lr.html: Removed.
        * fast/regions/overflow/overflow-last-region-vert-rl-expected.html: Removed.
        * fast/regions/overflow/overflow-last-region-vert-rl.html: Removed.
        * fast/regions/overflow/overflow-moving-below-floats-in-variable-width-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-moving-below-floats-in-variable-width-regions.html: Removed.
        * fast/regions/overflow/overflow-nested-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-nested-regions.html: Removed.
        * fast/regions/overflow/overflow-not-moving-below-floats-in-variable-width-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-not-moving-below-floats-in-variable-width-regions.html: Removed.
        * fast/regions/overflow/overflow-region-float-expected.html: Removed.
        * fast/regions/overflow/overflow-region-float.html: Removed.
        * fast/regions/overflow/overflow-region-inline-expected.html: Removed.
        * fast/regions/overflow/overflow-region-inline.html: Removed.
        * fast/regions/overflow/overflow-region-transform-expected.html: Removed.
        * fast/regions/overflow/overflow-region-transform.html: Removed.
        * fast/regions/overflow/overflow-rtl-in-variable-width-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-rtl-in-variable-width-regions.html: Removed.
        * fast/regions/overflow/overflow-scrollable-1-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-1.html: Removed.
        * fast/regions/overflow/overflow-scrollable-2-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-2.html: Removed.
        * fast/regions/overflow/overflow-scrollable-3-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-3.html: Removed.
        * fast/regions/overflow/overflow-scrollable-fit-complex-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-fit-complex.html: Removed.
        * fast/regions/overflow/overflow-scrollable-fit-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-fit.html: Removed.
        * fast/regions/overflow/overflow-scrollable-nested-expected.txt: Removed.
        * fast/regions/overflow/overflow-scrollable-nested.html: Removed.
        * fast/regions/overflow/overflow-scrollable-rel-pos-fragment-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-rel-pos-fragment.html: Removed.
        * fast/regions/overflow/overflow-scrollable-rotated-fragment-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-rotated-fragment.html: Removed.
        * fast/regions/overflow/overflow-scrollable-unsplittable-fragment-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-unsplittable-fragment.html: Removed.
        * fast/regions/overflow/overflow-scrollable-varying-width-1-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-varying-width-1.html: Removed.
        * fast/regions/overflow/overflow-scrollable-varying-width-2-expected.html: Removed.
        * fast/regions/overflow/overflow-scrollable-varying-width-2.html: Removed.
        * fast/regions/overflow/overflow-size-change-in-variable-width-regions-expected.html: Removed.
        * fast/regions/overflow/overflow-size-change-in-variable-width-regions.html: Removed.
        * fast/regions/overflow/overflow-size-change-with-stacking-context-expected.html: Removed.
        * fast/regions/overflow/overflow-size-change-with-stacking-context-rtl-expected.html: Removed.
        * fast/regions/overflow/overflow-size-change-with-stacking-context-rtl.html: Removed.
        * fast/regions/overflow/overflow-size-change-with-stacking-context.html: Removed.
        * fast/regions/parsing: Removed.
        * fast/regions/parsing/webkit-flow-from-parsing-expected.txt: Removed.
        * fast/regions/parsing/webkit-flow-from-parsing.html: Removed.
        * fast/regions/parsing/webkit-flow-into-parsing-expected.txt: Removed.
        * fast/regions/parsing/webkit-flow-into-parsing.html: Removed.
        * fast/regions/parsing/webkit-region-fragment-parsing-expected.txt: Removed.
        * fast/regions/parsing/webkit-region-fragment-parsing.html: Removed.
        * fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.html: Removed.
        * fast/regions/percentage-margins-mixed-ltr-dominant-regions.html: Removed.
        * fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.html: Removed.
        * fast/regions/percentage-margins-mixed-rtl-dominant-regions.html: Removed.
        * fast/regions/percentage-margins-rtl-variable-width-regions-expected.html: Removed.
        * fast/regions/percentage-margins-rtl-variable-width-regions.html: Removed.
        * fast/regions/percentage-margins-variable-width-regions-expected.html: Removed.
        * fast/regions/percentage-margins-variable-width-regions.html: Removed.
        * fast/regions/position-writing-modes-in-variable-width-regions-expected.html: Removed.
        * fast/regions/position-writing-modes-in-variable-width-regions.html: Removed.
        * fast/regions/positioning: Removed.
        * fast/regions/positioning/fixed-element-transformed-parent-expected.txt: Removed.
        * fast/regions/positioning/fixed-element-transformed-parent.html: Removed.
        * fast/regions/positioning/fixed-in-named-flow-position-changed-expected.html: Removed.
        * fast/regions/positioning/fixed-in-named-flow-position-changed.html: Removed.
        * fast/regions/positioning/fixed-inside-fixed-in-named-flow-expected.html: Removed.
        * fast/regions/positioning/fixed-inside-fixed-in-named-flow.html: Removed.
        * fast/regions/positioning/fixed-inside-named-flow-zIndex-expected.html: Removed.
        * fast/regions/positioning/fixed-inside-named-flow-zIndex.html: Removed.
        * fast/regions/positioning/fixed-pos-content-fragmented-expected.html: Removed.
        * fast/regions/positioning/fixed-pos-content-fragmented.html: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow-expected.txt: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow.html: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow2-expected.txt: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-named-flow2.html: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions-expected.html: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions.html: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-region-expected.html: Removed.
        * fast/regions/positioning/fixed-pos-elem-in-region.html: Removed.
        * fast/regions/positioning/fixed-pos-region-in-nested-flow-expected.html: Removed.
        * fast/regions/positioning/fixed-pos-region-in-nested-flow.html: Removed.
        * fast/regions/positioning/fixed-pos-region-overflow-content-expected.html: Removed.
        * fast/regions/positioning/fixed-pos-region-overflow-content.html: Removed.
        * fast/regions/positioning/positioned-fragmented-content-expected.html: Removed.
        * fast/regions/positioning/positioned-fragmented-content.html: Removed.
        * fast/regions/positioning/positioned-object-inline-cb-crash-expected.txt: Removed.
        * fast/regions/positioning/positioned-object-inline-cb-crash.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-in-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-in-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-in-rtl-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-in-rtl-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl.html: Removed.
        * fast/regions/positioning/positioned-objects-block-static-spanning-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-clipped-spanning-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-clipped-spanning-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-in-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-in-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-in-rtl-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-in-rtl-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-in-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-in-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl.html: Removed.
        * fast/regions/positioning/positioned-objects-inline-static-spanning-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions.html: Removed.
        * fast/regions/positioning/positioned-objects-spanning-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-objects-spanning-regions.html: Removed.
        * fast/regions/positioning/positioned-slider-in-regions-expected.html: Removed.
        * fast/regions/positioning/positioned-slider-in-regions.html: Removed.
        * fast/regions/positioning/positioned-vrl-in-named-flow-expected.txt: Removed.
        * fast/regions/positioning/positioned-vrl-in-named-flow.html: Removed.
        * fast/regions/positioning/positioned-vrl-in-parent-named-flow-expected.txt: Removed.
        * fast/regions/positioning/positioned-vrl-in-parent-named-flow.html: Removed.
        * fast/regions/positioning/positioned-with-vrl-parent-in-named-flow-expected.txt: Removed.
        * fast/regions/positioning/positioned-with-vrl-parent-in-named-flow.html: Removed.
        * fast/regions/region-as-bfc-avoids-float-expected.html: Removed.
        * fast/regions/region-as-bfc-avoids-float.html: Removed.
        * fast/regions/region-attached-wrong-flow-crash-expected.txt: Removed.
        * fast/regions/region-attached-wrong-flow-crash.html: Removed.
        * fast/regions/region-border-radius-overflow-clip-expected.html: Removed.
        * fast/regions/region-border-radius-overflow-clip.html: Removed.
        * fast/regions/region-child-not-flowed-expected.html: Removed.
        * fast/regions/region-child-not-flowed.html: Removed.
        * fast/regions/region-clipping-expected.html: Removed.
        * fast/regions/region-clipping.html: Removed.
        * fast/regions/region-content-flown-into-region-expected.html: Removed.
        * fast/regions/region-content-flown-into-region.html: Removed.
        * fast/regions/region-content-node-child-clone-crash-expected.txt: Removed.
        * fast/regions/region-content-node-child-clone-crash.html: Removed.
        * fast/regions/region-dynamic-after-before.html: Removed.
        * fast/regions/region-element-display-change-expected.txt: Removed.
        * fast/regions/region-element-display-change.html: Removed.
        * fast/regions/region-element-display-restriction-expected.txt: Removed.
        * fast/regions/region-element-display-restriction.html: Removed.
        * fast/regions/region-element-dynamic-attach-flow-expected.txt: Removed.
        * fast/regions/region-element-dynamic-attach-flow.html: Removed.
        * fast/regions/region-element-dynamic-detach-flow-expected.txt: Removed.
        * fast/regions/region-element-dynamic-detach-flow.html: Removed.
        * fast/regions/region-flow-reattach-crash-expected.txt: Removed.
        * fast/regions/region-flow-reattach-crash.html: Removed.
        * fast/regions/region-generated-content-before-after.html: Removed.
        * fast/regions/region-min-max-width-support-expected.txt: Removed.
        * fast/regions/region-min-max-width-support.html: Removed.
        * fast/regions/region-overflow-auto-overflow-hidden-expected.html: Removed.
        * fast/regions/region-overflow-auto-overflow-hidden.html: Removed.
        * fast/regions/region-overflow-auto-overflow-visible-expected.html: Removed.
        * fast/regions/region-overflow-auto-overflow-visible.html: Removed.
        * fast/regions/region-overflow-break-expected.html: Removed.
        * fast/regions/region-overflow-break.html: Removed.
        * fast/regions/region-padding-overflow-hidden-expected.html: Removed.
        * fast/regions/region-padding-overflow-hidden.html: Removed.
        * fast/regions/region-sibling-paint-order-expected.html: Removed.
        * fast/regions/region-sibling-paint-order.html: Removed.
        * fast/regions/region-styling: Removed.
        * fast/regions/region-styling/parse-incomplete-region-rule-expected.txt: Removed.
        * fast/regions/region-styling/parse-incomplete-region-rule.html: Removed.
        * fast/regions/region-styling/parsing-region-style-rule-expected.txt: Removed.
        * fast/regions/region-styling/parsing-region-style-rule.html: Removed.
        * fast/regions/region-styling/region-rule-nested-region-rule-expected.html: Removed.
        * fast/regions/region-styling/region-rule-nested-region-rule.html: Removed.
        * fast/regions/region-styling/region-style-block-background-color-expected.html: Removed.
        * fast/regions/region-styling/region-style-block-background-color.html: Removed.
        * fast/regions/region-styling/region-style-block-background-color2-expected.html: Removed.
        * fast/regions/region-styling/region-style-block-background-color2.html: Removed.
        * fast/regions/region-styling/region-style-color-expected.html: Removed.
        * fast/regions/region-styling/region-style-color.html: Removed.
        * fast/regions/region-styling/region-style-image-background-color-expected.html: Removed.
        * fast/regions/region-styling/region-style-image-background-color.html: Removed.
        * fast/regions/region-styling/region-style-in-columns-expected.html: Removed.
        * fast/regions/region-styling/region-style-in-columns.html: Removed.
        * fast/regions/region-styling/region-style-inline-background-color-expected.html: Removed.
        * fast/regions/region-styling/region-style-inline-background-color.html: Removed.
        * fast/regions/region-styling/region-style-not-supported-properties-expected.html: Removed.
        * fast/regions/region-styling/region-style-not-supported-properties.html: Removed.
        * fast/regions/region-styling/region-style-rule-position-expected.html: Removed.
        * fast/regions/region-styling/region-style-rule-position.html: Removed.
        * fast/regions/region-styling/region-style-rule-specificity-expected.html: Removed.
        * fast/regions/region-styling/region-style-rule-specificity.html: Removed.
        * fast/regions/region-styling/region-styling-mediaquery-expected.html: Removed.
        * fast/regions/region-styling/region-styling-mediaquery.html: Removed.
        * fast/regions/region-styling/region-withstyling-valid-from-invalid-expected.html: Removed.
        * fast/regions/region-styling/region-withstyling-valid-from-invalid.html: Removed.
        * fast/regions/region-styling/remove-leftover-anon-block-crash-expected.txt: Removed.
        * fast/regions/region-styling/remove-leftover-anon-block-crash.html: Removed.
        * fast/regions/region-styling/removed-element-style-in-region-crash-expected.txt: Removed.
        * fast/regions/region-styling/removed-element-style-in-region-crash.html: Removed.
        * fast/regions/region-styling/render-region-custom-style-mark-expected.html: Removed.
        * fast/regions/region-styling/render-region-custom-style-mark.html: Removed.
        * fast/regions/region-styling/set-box-style-in-region-crash-expected.txt: Removed.
        * fast/regions/region-styling/set-box-style-in-region-crash.html: Removed.
        * fast/regions/region-styling/webkit-region-rule-expected.txt: Removed.
        * fast/regions/region-styling/webkit-region-rule.html: Removed.
        * fast/regions/region-visual-overflow-transform-expected.html: Removed.
        * fast/regions/region-visual-overflow-transform.html: Removed.
        * fast/regions/region-width-change-relayout-1-expected.html: Removed.
        * fast/regions/region-width-change-relayout-1.html: Removed.
        * fast/regions/region-width-change-relayout-2-expected.html: Removed.
        * fast/regions/region-width-change-relayout-2.html: Removed.
        * fast/regions/region-width-change-relayout-3-expected.html: Removed.
        * fast/regions/region-width-change-relayout-3.html: Removed.
        * fast/regions/region-with-float-parent-expected.txt: Removed.
        * fast/regions/region-with-float-parent.html: Removed.
        * fast/regions/region-with-multicolumn-embedded-crash-expected.txt: Removed.
        * fast/regions/region-with-multicolumn-embedded-crash.html: Removed.
        * fast/regions/regions-overflow-tile-expected.html: Removed.
        * fast/regions/regions-overflow-tile.html: Removed.
        * fast/regions/regions-widows-and-orphans-expected.txt: Removed.
        * fast/regions/regions-widows-and-orphans.html: Removed.
        * fast/regions/regions-widows-float-top-aligned-expected.html: Removed.
        * fast/regions/regions-widows-float-top-aligned.html: Removed.
        * fast/regions/regions-widows-stack-overflow-expected.html: Removed.
        * fast/regions/regions-widows-stack-overflow.html: Removed.
        * fast/regions/relative-borders-overflow-expected.html: Removed.
        * fast/regions/relative-borders-overflow.html: Removed.
        * fast/regions/relative-in-absolute-borders-overflow-expected.html: Removed.
        * fast/regions/relative-in-absolute-borders-overflow.html: Removed.
        * fast/regions/remove-box-info-assert-expected.txt: Removed.
        * fast/regions/remove-box-info-assert.html: Removed.
        * fast/regions/remove-flow-thread-crash-expected.txt: Removed.
        * fast/regions/remove-flow-thread-crash.html: Removed.
        * fast/regions/render-region-renderer-expected.html: Removed.
        * fast/regions/render-region-renderer.html: Removed.
        * fast/regions/repaint: Removed.
        * fast/regions/repaint/element-in-named-flow-absolute-from-fixed-expected.txt: Removed.
        * fast/regions/repaint/element-in-named-flow-absolute-from-fixed.html: Removed.
        * fast/regions/repaint/element-in-named-flow-fixed-from-absolute-expected.txt: Removed.
        * fast/regions/repaint/element-in-named-flow-fixed-from-absolute.html: Removed.
        * fast/regions/repaint/element-inflow-fixed-from-outflow-static-expected.txt: Removed.
        * fast/regions/repaint/element-inflow-fixed-from-outflow-static.html: Removed.
        * fast/regions/repaint/element-outflow-static-from-inflow-fixed-expected.txt: Removed.
        * fast/regions/repaint/element-outflow-static-from-inflow-fixed.html: Removed.
        * fast/regions/repaint/fixed-in-named-flow-cb-changed-expected.html: Removed.
        * fast/regions/repaint/fixed-in-named-flow-cb-changed.html: Removed.
        * fast/regions/repaint/fixed-in-named-flow-cb-changed2-expected.html: Removed.
        * fast/regions/repaint/fixed-in-named-flow-cb-changed2.html: Removed.
        * fast/regions/repaint/fixed-in-named-flow-scroll-expected.txt: Removed.
        * fast/regions/repaint/fixed-in-named-flow-scroll.html: Removed.
        * fast/regions/repaint/hover-border-radius-expected.txt: Removed.
        * fast/regions/repaint/hover-border-radius.html: Removed.
        * fast/regions/repaint/invalid-region-repaint-crash-expected.txt: Removed.
        * fast/regions/repaint/invalid-region-repaint-crash.html: Removed.
        * fast/regions/repaint/japanese-rl-selection-repaint-in-regions.html: Removed.
        * fast/regions/repaint/line-flow-with-floats-in-regions.html: Removed.
        * fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions.html: Removed.
        * fast/regions/repaint/region-painting-composited-element-expected.html: Removed.
        * fast/regions/repaint/region-painting-composited-element.html: Removed.
        * fast/regions/repaint/region-painting-in-composited-view-expected.html: Removed.
        * fast/regions/repaint/region-painting-in-composited-view.html: Removed.
        * fast/regions/repaint/region-painting-invalidation.html: Removed.
        * fast/regions/repaint/region-painting-via-layout.html: Removed.
        * fast/regions/repaint/repaint-absolute-pushed-to-next-region-expected.txt: Removed.
        * fast/regions/repaint/repaint-absolute-pushed-to-next-region.html: Removed.
        * fast/regions/repaint/repaint-element-inside-relative-region-expected.txt: Removed.
        * fast/regions/repaint/repaint-element-inside-relative-region.html: Removed.
        * fast/regions/repaint/repaint-regions-overflow-expected.txt: Removed.
        * fast/regions/repaint/repaint-regions-overflow.html: Removed.
        * fast/regions/resources: Removed.
        * fast/regions/resources/helper.js: Removed.
        * fast/regions/resources/iframe-in-region-source.html: Removed.
        * fast/regions/resources/ipad.jpg: Removed.
        * fast/regions/resources/region-style.css: Removed.
        * fast/regions/resources/transparent.png: Removed.
        * fast/regions/script-tests: Removed.
        * fast/regions/script-tests/css-regions-disabled.js: Removed.
        * fast/regions/script-tests/webkit-flow-from-parsing.js: Removed.
        * fast/regions/script-tests/webkit-flow-into-parsing.js: Removed.
        * fast/regions/script-tests/webkit-region-fragment-parsing.js: Removed.
        * fast/regions/scrolling: Removed.
        * fast/regions/scrolling/scroll-into-view-expected.html: Removed.
        * fast/regions/scrolling/scroll-into-view-relative-expected.html: Removed.
        * fast/regions/scrolling/scroll-into-view-relative.html: Removed.
        * fast/regions/scrolling/scroll-into-view.html: Removed.
        * fast/regions/scrolling/scrollable-first-region-expected.html: Removed.
        * fast/regions/scrolling/scrollable-first-region.html: Removed.
        * fast/regions/scrolling/scrollable-last-region-expected.html: Removed.
        * fast/regions/scrolling/scrollable-last-region.html: Removed.
        * fast/regions/scrolling/scrollable-paragraph-unsplittable-expected.html: Removed.
        * fast/regions/scrolling/scrollable-paragraph-unsplittable.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-horiz-bt-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-horiz-bt.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-horiz-bt-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-horiz-bt.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-vert-rl-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow-vert-rl.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-no-overflow.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-relative-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-relative.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-vert-rl-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-vert-rl.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-vertical-lr-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size-vertical-lr.html: Removed.
        * fast/regions/scrolling/scrollable-region-content-size.html: Removed.
        * fast/regions/scrolling/scrollable-region-scrollable-absolute-content-background-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-scrollable-absolute-content-background.html: Removed.
        * fast/regions/scrolling/scrollable-region-scrollable-content-background-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-scrollable-content-background.html: Removed.
        * fast/regions/scrolling/scrollable-region-scrollable-content-expected.html: Removed.
        * fast/regions/scrolling/scrollable-region-scrollable-content.html: Removed.
        * fast/regions/scrolling/scrollable-regions-hit-testing-inside-expected.html: Removed.
        * fast/regions/scrolling/scrollable-regions-hit-testing-inside.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-bt-expected.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-bt.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-expected.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-lr-expected.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-lr.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-relative-element-expected.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-relative-element.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-rl-expected.html: Removed.
        * fast/regions/scrolling/scrollable-single-region-rl.html: Removed.
        * fast/regions/scrolling/scrollable-single-region.html: Removed.
        * fast/regions/scrolling/wheel-scroll-abspos-expected.html: Removed.
        * fast/regions/scrolling/wheel-scroll-abspos.html: Removed.
        * fast/regions/scrolling/wheel-scroll-expected.html: Removed.
        * fast/regions/scrolling/wheel-scroll.html: Removed.
        * fast/regions/scrolling/wheel-scrollable-single-region-expected.html: Removed.
        * fast/regions/scrolling/wheel-scrollable-single-region.html: Removed.
        * fast/regions/select-in-region-crash-expected.txt: Removed.
        * fast/regions/select-in-region-crash.html: Removed.
        * fast/regions/select-multiple-in-region-expected.txt: Removed.
        * fast/regions/select-multiple-in-region.html: Removed.
        * fast/regions/selection: Removed.
        * fast/regions/selection/crash-deselect-expected.txt: Removed.
        * fast/regions/selection/crash-deselect.html: Removed.
        * fast/regions/selection/crash-select-all-expected.txt: Removed.
        * fast/regions/selection/crash-select-all.html: Removed.
        * fast/regions/selection/crash-when-element-is-inside-column-and-the-containing-block-is-inside-flow-expected.txt: Removed.
        * fast/regions/selection/crash-when-element-is-inside-column-and-the-containing-block-is-inside-flow.html: Removed.
        * fast/regions/selection/invalid-region-selection-crash-expected.txt: Removed.
        * fast/regions/selection/invalid-region-selection-crash.html: Removed.
        * fast/regions/selection/position-for-point-1-expected.txt: Removed.
        * fast/regions/selection/position-for-point-1-vert-lr-expected.txt: Removed.
        * fast/regions/selection/position-for-point-1-vert-lr.html: Removed.
        * fast/regions/selection/position-for-point-1-vert-rl-expected.txt: Removed.
        * fast/regions/selection/position-for-point-1-vert-rl.html: Removed.
        * fast/regions/selection/position-for-point-1.html: Removed.
        * fast/regions/selection/position-for-point-expected.txt: Removed.
        * fast/regions/selection/position-for-point-inline-content-node-expected.txt: Removed.
        * fast/regions/selection/position-for-point-inline-content-node.html: Removed.
        * fast/regions/selection/position-for-point-vert-lr-expected.txt: Removed.
        * fast/regions/selection/position-for-point-vert-lr.html: Removed.
        * fast/regions/selection/position-for-point-vert-rl-expected.txt: Removed.
        * fast/regions/selection/position-for-point-vert-rl.html: Removed.
        * fast/regions/selection/position-for-point.html: Removed.
        * fast/regions/selection/select-all-without-regions-expected.txt: Removed.
        * fast/regions/selection/select-all-without-regions.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region-expected.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region-horiz-bt-expected.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region-horiz-bt.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region-vert-lr-expected.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region-vert-lr.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region-vert-rl-expected.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region-vert-rl.html: Removed.
        * fast/regions/selection/selecting-text-ignoring-region.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions-expected.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions-horiz-bt-expected.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions-horiz-bt.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions-vert-lr-expected.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions-vert-lr.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions-vert-rl-expected.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions-vert-rl.html: Removed.
        * fast/regions/selection/selecting-text-in-2-regions.html: Removed.
        * fast/regions/selection/selecting-text-in-empty-region-expected.txt: Removed.
        * fast/regions/selection/selecting-text-in-empty-region.html: Removed.
        * fast/regions/selection/selecting-text-including-region-expected.html: Removed.
        * fast/regions/selection/selecting-text-including-region.html: Removed.
        * fast/regions/selection/selecting-text-through-different-region-flows-2-expected.html: Removed.
        * fast/regions/selection/selecting-text-through-different-region-flows-2.html: Removed.
        * fast/regions/selection/selecting-text-through-different-region-flows-expected.html: Removed.
        * fast/regions/selection/selecting-text-through-different-region-flows.html: Removed.
        * fast/regions/selection/selection-direction-expected.html: Removed.
        * fast/regions/selection/selection-direction.html: Removed.
        * fast/regions/selection/selection-ended-in-empty-region-expected.txt: Removed.
        * fast/regions/selection/selection-ended-in-empty-region.html: Removed.
        * fast/regions/selection/selection-gaps-paint-crash-expected.txt: Removed.
        * fast/regions/selection/selection-gaps-paint-crash.html: Removed.
        * fast/regions/selection/selection-in-overflow-expected.html: Removed.
        * fast/regions/selection/selection-in-overflow-hit-testing-expected.html: Removed.
        * fast/regions/selection/selection-in-overflow-hit-testing.html: Removed.
        * fast/regions/selection/selection-in-overflow.html: Removed.
        * fast/regions/selection/selection-in-text-after-overflow-hit-testing-expected.html: Removed.
        * fast/regions/selection/selection-in-text-after-overflow-hit-testing.html: Removed.
        * fast/regions/shape-outside-floats: Removed.
        * fast/regions/shape-outside-floats/regions-shape-outside-content-flows-multiple-regions-expected.html: Removed.
        * fast/regions/shape-outside-floats/regions-shape-outside-content-flows-multiple-regions.html: Removed.
        * fast/regions/shape-outside-floats/regions-shape-outside-floats-inset-expected.html: Removed.
        * fast/regions/shape-outside-floats/regions-shape-outside-floats-inset.html: Removed.
        * fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats-expected.html: Removed.
        * fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats.html: Removed.
        * fast/regions/simplified-layout-no-regions-expected.txt: Removed.
        * fast/regions/simplified-layout-no-regions.html: Removed.
        * fast/regions/static-in-relative-overflow-expected.html: Removed.
        * fast/regions/static-in-relative-overflow.html: Removed.
        * fast/regions/sticky-border-overflow-expected.html: Removed.
        * fast/regions/sticky-border-overflow.html: Removed.
        * fast/regions/subtree-with-horiz-bt-expected.html: Removed.
        * fast/regions/subtree-with-horiz-bt.html: Removed.
        * fast/regions/subtree-with-horiz-tb-expected.html: Removed.
        * fast/regions/subtree-with-horiz-tb.html: Removed.
        * fast/regions/subtree-with-vert-lr-expected.html: Removed.
        * fast/regions/subtree-with-vert-lr.html: Removed.
        * fast/regions/subtree-with-vert-rl-expected.html: Removed.
        * fast/regions/subtree-with-vert-rl.html: Removed.
        * fast/regions/svg: Removed.
        * fast/regions/svg/svg-doc-fragment-not-collected-expected.html: Removed.
        * fast/regions/svg/svg-doc-fragment-not-collected.html: Removed.
        * fast/regions/svg/svg-element-not-collected-expected.html: Removed.
        * fast/regions/svg/svg-element-not-collected.html: Removed.
        * fast/regions/svg/svg-root-element-collected-expected.txt: Removed.
        * fast/regions/svg/svg-root-element-collected.html: Removed.
        * fast/regions/svg/symbol-in-named-flow-crash-expected.txt: Removed.
        * fast/regions/svg/symbol-in-named-flow-crash.svg: Removed.
        * fast/regions/table-caption-as-region-expected.html: Removed.
        * fast/regions/table-caption-as-region.html: Removed.
        * fast/regions/table-cell-as-region-expected.html: Removed.
        * fast/regions/table-cell-as-region.html: Removed.
        * fast/regions/text-break-properties-expected.txt: Removed.
        * fast/regions/text-break-properties.html: Removed.
        * fast/regions/text-region-breaks-expected.txt: Removed.
        * fast/regions/text-region-breaks.html: Removed.
        * fast/regions/text-region-split-after-resize-expected.txt: Removed.
        * fast/regions/text-region-split-after-resize.html: Removed.
        * fast/regions/text-region-split-expected.txt: Removed.
        * fast/regions/text-region-split-horizontal-bt-expected.txt: Removed.
        * fast/regions/text-region-split-horizontal-bt.html: Removed.
        * fast/regions/text-region-split-small-pagination.html: Removed.
        * fast/regions/text-region-split-vertical-expected.txt: Removed.
        * fast/regions/text-region-split-vertical-rl-expected.txt: Removed.
        * fast/regions/text-region-split-vertical-rl.html: Removed.
        * fast/regions/text-region-split-vertical.html: Removed.
        * fast/regions/text-region-split.html: Removed.
        * fast/regions/top-overflow-out-of-second-region-expected.html: Removed.
        * fast/regions/top-overflow-out-of-second-region.html: Removed.
        * fast/regions/universal-selector-children-to-the-same-region-expected.txt: Removed.
        * fast/regions/universal-selector-children-to-the-same-region.html: Removed.
        * fast/regions/unsplittable-nested-region-expected.html: Removed.
        * fast/regions/unsplittable-nested-region.html: Removed.
        * fast/regions/visibility-hidden-expected.html: Removed.
        * fast/regions/visibility-hidden.html: Removed.
        * fast/regions/webkit-background-clip-text-expected.html: Removed.
        * fast/regions/webkit-background-clip-text.html: Removed.
        * fast/regions/webkit-flow-double-pagination-float-push-expected.html: Removed.
        * fast/regions/webkit-flow-double-pagination-float-push.html: Removed.
        * fast/regions/webkit-flow-float-pushed-to-last-region-expected.html: Removed.
        * fast/regions/webkit-flow-float-pushed-to-last-region.html: Removed.
        * fast/regions/webkit-flow-float-unable-to-push-expected.html: Removed.
        * fast/regions/webkit-flow-float-unable-to-push.html: Removed.
        * fast/regions/webkit-flow-floats-inside-regions-bounds-expected.html: Removed.
        * fast/regions/webkit-flow-floats-inside-regions-bounds.html: Removed.
        * fast/regions/webkit-flow-inlines-dynamic-expected.html: Removed.
        * fast/regions/webkit-flow-inlines-dynamic.html: Removed.
        * fast/regions/webkit-flow-inlines-inside-regions-bounds-expected.html: Removed.
        * fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.html: Removed.
        * fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.html: Removed.
        * fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html: Removed.
        * fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html: Removed.
        * fast/regions/webkit-flow-inlines-inside-regions-bounds.html: Removed.
        * fast/regions/webkit-flow-renderer-expected.html: Removed.
        * fast/regions/webkit-flow-renderer-layer-expected.html: Removed.
        * fast/regions/webkit-flow-renderer-layer.html: Removed.
        * fast/regions/webkit-flow-renderer-nested-expected.html: Removed.
        * fast/regions/webkit-flow-renderer-nested.html: Removed.
        * fast/regions/webkit-flow-renderer.html: Removed.
        * fast/regions/webkit-region-syntax-space-expected.txt: Removed.
        * fast/regions/webkit-region-syntax-space.html: Removed.
        * fast/regions/writing-mode: Removed.
        * fast/regions/writing-mode/changing-writing-mode-2-expected.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-2.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-3-expected.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-3.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-4-expected.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-4.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-5-expected.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-5.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode-expected.html: Removed.
        * fast/regions/writing-mode/changing-writing-mode.html: Removed.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode-2-expected.html: Removed.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode-2.html: Removed.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode-expected.html: Removed.
        * fast/regions/writing-mode/invalid-first-region-with-writing-mode.html: Removed.
        * fast/ruby/ruby-rt-with-region-crash-expected.txt: Removed.
        * fast/ruby/ruby-rt-with-region-crash.html: Removed.
        * fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass-expected.html: Removed.
        * fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html: Removed.
        * platform/gtk-wayland/TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-device/TestExpectations:
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

2017-09-22  Keith Miller  <keith_miller@apple.com>

        Speculatively change iteration protocall to use the same next function
        https://bugs.webkit.org/show_bug.cgi?id=175653

        Reviewed by Saam Barati.

        Change test to match the new iteration behavior.

        * js/sequence-iterator-protocol-2-expected.txt:
        * js/sequence-iterator-protocol-2.html:

2017-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        WebRTC test gardening for iOS.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Move flaky expectation for imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https.html.
        https://bugs.webkit.org/show_bug.cgi?id=177391

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/mediastream/RTCPeerConnection-overloaded-operations.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177395

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=177391

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/css/css-ui-3/text-overflow-022.html as an image failure.

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-09-22  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/forms/listbox-typeahead-greek.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177385

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-22  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/forms/listbox-typeahead-cyrillic.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177378

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-22  Tim Horton  <timothy_horton@apple.com>

        Add env() as an alias of constant()
        https://bugs.webkit.org/show_bug.cgi?id=177371

        Reviewed by Simon Fraser.

        * TestExpectations:
        * platform/ios-11/TestExpectations:
        Duplicated constant() tests with env() instead.

2017-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening for iOS.

        * platform/ios-simulator/TestExpectations:
        * platform/ios-wk2/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt: Removed.
        * platform/ios/TestExpectations:

2017-09-22  John Wilander  <wilander@apple.com>

        Non-prevalent resources should be allowed access to existing cookies in a third-party context
        https://bugs.webkit.org/show_bug.cgi?id=177336
        <rdar://problem/34578257>

        Reviewed by Brent Fulgham.

        This patch restructures what is communicated to the network process,
        from two vectors - with user interaction and without user interaction -
        to three vectors - to partition, to block, to neither partition nor block.
        The previous two vectors did not allow proper categorization into which
        domains should be partitioned, blocked, or left alone. That was the cause
        of the regression where non-prevalent third-party domains erroneously had
        their cookies blocked when they should fall back to the old behavior of
        access but no new cookies allowed to be set.

        See follow-up bug to assess these tests:
        https://bugs.webkit.org/show_bug.cgi?id=177337

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html:
        * http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html:
        * platform/mac-wk2/TestExpectations:
            Marked two new failures since the need to be reworked in:
            https://bugs.webkit.org/show_bug.cgi?id=177337

2017-09-22  Ryan Haddad  <ryanhaddad@apple.com>

        Move test expectations from 'ios-11' to 'ios' directory.
        https://bugs.webkit.org/show_bug.cgi?id=177167

        Unreviewed test gardening.

        * platform/ios-11/TestExpectations: Removed.
        * platform/ios-11/fast/text/emoji-expected.txt: Removed.
        * platform/ios-11/fast/text/international/system-language/system-font-punctuation-expected.txt: Removed.
        * platform/ios-11/http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt: Removed.
        * platform/ios-11/http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt: Removed.
        * platform/ios-11/mathml/presentation/mo-stretch-expected.txt: Removed.
        * platform/ios-11/mathml/presentation/roots-expected.txt: Removed.
        * platform/ios-11/mathml/radical-fallback-expected.txt: Removed.
        * platform/ios/TestExpectations:
        * platform/ios/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: Renamed from LayoutTests/platform/ios-11/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt.
        * platform/ios/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt: Renamed from LayoutTests/platform/ios-11/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt.
        * platform/ios/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/css/getComputedStyle/computed-style-font-family-expected.txt.
        * platform/ios/fast/text/font-selection-font-face-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-selection-font-face-parse-expected.txt.
        * platform/ios/fast/text/font-selection-font-loading-api-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-selection-font-loading-api-parse-expected.txt.
        * platform/ios/fast/text/font-stretch-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-stretch-parse-expected.txt.
        * platform/ios/fast/text/font-style-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-style-parse-expected.txt.
        * platform/ios/fast/text/font-weight-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-weight-parse-expected.txt.
        * platform/ios/fast/text/international/system-language/system-font-punctuation-expected.txt:
        * platform/ios/http/tests/quicklook/at-import-stylesheet-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/at-import-stylesheet-blocked-expected.txt.
        * platform/ios/http/tests/quicklook/base-url-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/base-url-blocked-expected.txt.
        * platform/ios/http/tests/quicklook/cross-origin-iframe-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/cross-origin-iframe-blocked-expected.txt.
        * platform/ios/http/tests/quicklook/csp-header-ignored-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/csp-header-ignored-expected.txt.
        * platform/ios/http/tests/quicklook/document-domain-is-empty-string-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/document-domain-is-empty-string-expected.txt.
        * platform/ios/http/tests/quicklook/external-stylesheet-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/external-stylesheet-blocked-expected.txt.
        * platform/ios/http/tests/quicklook/hide-referer-on-navigation-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/hide-referer-on-navigation-expected.txt.
        * platform/ios/http/tests/quicklook/submit-form-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/submit-form-blocked-expected.txt.
        * platform/ios/http/tests/quicklook/top-navigation-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/top-navigation-blocked-expected.txt.
        * platform/ios/http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
        * platform/ios/http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:
        * platform/ios/http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt.
        * platform/ios/mathml/presentation/mo-stretch-expected.txt:
        * platform/ios/mathml/presentation/roots-expected.txt:
        * platform/ios/mathml/radical-fallback-expected.txt:
        * platform/ios/platform/ios/ios/fast/text/opticalFont-expected.txt: Renamed from LayoutTests/platform/ios-11/platform/ios/ios/fast/text/opticalFont-expected.txt.
        * platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Renamed from LayoutTests/platform/ios-11/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt.
        * platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Renamed from LayoutTests/platform/ios-11/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt.
        * platform/ios/quicklook/excel-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/excel-expected.txt.
        * platform/ios/quicklook/excel-legacy-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/excel-legacy-expected.txt.
        * platform/ios/quicklook/excel-macro-enabled-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/excel-macro-enabled-expected.txt.
        * platform/ios/quicklook/powerpoint-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/powerpoint-expected.txt.
        * platform/ios/quicklook/powerpoint-legacy-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/powerpoint-legacy-expected.txt.
        * platform/ios/quicklook/word-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/word-expected.txt.
        * platform/ios/quicklook/word-legacy-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/word-legacy-expected.txt.

2017-09-22  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        [GTK] HTMLMediaElement resize event not fired when video size changes
        https://bugs.webkit.org/show_bug.cgi?id=174582

        Reviewed by Xabier Rodriguez-Calvar.

        Modify AppendPipeline to notify MediaPlayerPrivateGStreamerMSE that a track is detected
        not only for the initial track detection but also for subsequent in particular when the
        video size has changed.

        Update test expectation for new passing tests.

        * platform/gtk/TestExpectations:

2017-09-22  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Couple of pasteboard related tests are failing after r222228
        https://bugs.webkit.org/show_bug.cgi?id=177295

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: mark the tests as passing again.

2017-09-22  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Adding failure expectations for failure tests
        that mostly originate from recent font code changes and WPT updates.
        Updating baselines for two tests that aren't failing otherwise.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:

2017-09-22  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ and WPE gardening. Adding baselines for the
        imported W3C WebCryptoAPI pbkdf2.worker.html where the
        libgcrypt-based implementation is exhibiting somewhat different
        behavior than what's expected in the generic baseline.

        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.

2017-09-22  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Updating a couple of css2.1 baselines,
        adding a missing baseline for a new imported WPT test.

        * platform/wpe/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt:
        * platform/wpe/css2.1/t1507-c526-font-sz-02-b-a-expected.txt:
        * platform/wpe/css2.1/t1601-c547-indent-00-b-a-expected.txt:
        * platform/wpe/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/encrypted-media-default-feature-policy.https.sub-expected.txt: Added.

2017-09-21  Brent Fulgham  <bfulgham@apple.com>

        REGRESSION (r221017): iCloud mail logs me out after looking at a few messages
        https://bugs.webkit.org/show_bug.cgi?id=177328

        Reviewed by Daniel Bates.
        <rdar://problem/34288629>

        Reviewed by Dan Bates.

        Rebaseline tests for revised behavior.

        * http/tests/security/mixedContent/insecure-image-with-securecookie-block-expected.txt:
        * http/tests/security/mixedContent/insecure-image-with-securecookie-block.html:
        * http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt:

2017-09-21  Ryosuke Niwa  <rniwa@webkit.org>

        DataTransfer.items should contain text/html and text/uri-list
        https://bugs.webkit.org/show_bug.cgi?id=176772
        <rdar://problem/34386899>

        Reviewed by Darin Adler.

        Added tests for copying text/html and text/uri-list, and updated the existing test for
        coping & pasting plain text to explicitly set only text/plain now that
        the data transfer item list can contain HTML markup.

        * editing/pasteboard/datatransfer-items-copy-html-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-copy-html.html: Added.
        * editing/pasteboard/datatransfer-items-copy-url-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-copy-url.html: Added.
        * editing/pasteboard/datatransfer-items-paste-plaintext.html:

2017-09-21  Youenn Fablet  <youenn@apple.com>

        LayoutTest platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=173741

        Reviewed by Alex Christensen.

        Making the test more robust by getting the reference canvas to compare with each time a new comparison is done.
        Previously, this was done at the start of the comparison.
        Also increasing the threshold since we are going from 0 to 255 or vice-versa.

        * platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:

2017-09-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove support for CSS Regions
        https://bugs.webkit.org/show_bug.cgi?id=177287

        Reviewed by Matt Baker.

        * inspector/dom/content-flow-content-nodes-expected.txt: Removed.
        * inspector/dom/content-flow-content-nodes.html: Removed.
        * inspector/dom/content-flow-content-removal-expected.txt: Removed.
        * inspector/dom/content-flow-content-removal.html: Removed.
        * inspector/dom/content-flow-list-expected.txt: Removed.
        * inspector/dom/content-flow-list.html: Removed.
        * inspector/dom/content-node-region-info-expected.txt: Removed.
        * inspector/dom/content-node-region-info.html: Removed.
        * inspector/dom/highlight-flow-with-no-region-expected.txt: Removed.
        * inspector/dom/highlight-flow-with-no-region.html: Removed.

2017-09-21  Chris Dumez  <cdumez@apple.com>

        eventInitDict parameter to GamepadEvent constructor should be optional
        https://bugs.webkit.org/show_bug.cgi?id=177308

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * gamepad/gamepad-event-expected.txt: Added.
        * gamepad/gamepad-event.html: Added.

2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/FileAPI/historical.https.html as flaky on El Capitan Debug WK2.
        https://bugs.webkit.org/show_bug.cgi?id=177214

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webrtc/peer-connection-audio-mute.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172649

        Unreviewed test gardening.

        * TestExpectations:

2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177323

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177322

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter.html as failing.
        https://bugs.webkit.org/show_bug.cgi?id=177319

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2017-09-21  Megan Gardner  <megan_gardner@apple.com>

        Add long press and drag test
        https://bugs.webkit.org/show_bug.cgi?id=177289

        Reviewed by Simon Fraser and Tim Horton.

        Adding a test to test the long press and then drag functionality of selection.
        Also add additional helper functions to basic gestures, and clarified the existing function
        names, as to be more clear in what behavior to expect from them.

        * fast/events/touch/ios/long-press-then-drag-to-select-text-expected.txt: Added.
        * fast/events/touch/ios/long-press-then-drag-to-select-text.html: Added.
        * fast/events/touch/ios/resources/basic-gestures.js:
        (touchAndDragFromPointToPoint):

2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline some tests for macOS.

        Unreviewed test gardening.

        * platform/mac-wk1/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Added.
        * platform/mac-wk2/js/dom/global-constructors-attributes-expected.txt:

2017-09-21  Zhifei FANG  <facetothefate@gmail.com>

        In regular block layout, the width of a child's margin box should always be equal to that of its containing block
        Merge from Blink https://bugs.chromium.org/p/chromium/issues/detail?id=708751
        https://bugs.webkit.org/show_bug.cgi?id=176620

        Reviewed by Zalan Bujtas.

        * fast/block/over-constrained-auto-margin-expected.txt: Added.
        * fast/block/over-constrained-auto-margin.html: Added.

2017-09-21  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Mark wrapKey_unwrapKey.worker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177301

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:

2017-09-21  Javier Fernandez  <jfernandez@igalia.com>

        Unpredictable selection when dragging out of float elements children of in-flow block-level box
        https://bugs.webkit.org/show_bug.cgi?id=176096

        Reviewed by David Hyatt.

        Tests defining several cases of selection with floats, children of
        a block-level box, so they behave as regular HitTest candidates
        and don't mess the selection boundaries.

        * editing/selection/resources/select-out-of-floated-non-editable.js: Added.
        (clearLog):
        (log):
        (else.window.onmouseup):
        (runTest):
        (checkSelection):
        * editing/selection/select-out-of-floated-non-editable-01-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-01.html: Added.
        * editing/selection/select-out-of-floated-non-editable-02-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-02.html: Added.
        * editing/selection/select-out-of-floated-non-editable-03-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-03.html: Added.
        * editing/selection/select-out-of-floated-non-editable-04-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-04.html: Added.
        * editing/selection/select-out-of-floated-non-editable-05-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-05.html: Added.
        * editing/selection/select-out-of-floated-non-editable-06-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-06.html: Added.
        * editing/selection/select-out-of-floated-non-editable-07-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-07.html: Added.
        * editing/selection/select-out-of-floated-non-editable-08-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-08.html: Added.
        * editing/selection/select-out-of-floated-non-editable-09-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-09.html: Added.
        * editing/selection/select-out-of-floated-non-editable-10-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-10.html: Added.
        * editing/selection/select-out-of-floated-non-editable-11-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-11.html: Added.
        * editing/selection/select-out-of-floated-non-editable-12-expected.txt: Added.
        * editing/selection/select-out-of-floated-non-editable-12.html: Added.

2017-09-21  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations and rebaseline several tests failing at r222312.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
        * platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
        * platform/gtk/fast/text/selection-in-initial-advance-region-expected.txt:

2017-09-20  Youenn Fablet  <youenn@apple.com>

        Refresh WPT tests up to f65af411d63ec13ee8fe208b4effd730a4a8b7fe
        https://bugs.webkit.org/show_bug.cgi?id=170713

        Reviewed by Alex Christensen.

        Rebasing tests and marking some tests as failing.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_hash-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:
        * tests-options.json:

2017-09-20  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION(r191731): SVGPatternElement can only reference another SVGPatternElement in the same SVG document
        https://bugs.webkit.org/show_bug.cgi?id=176221

        Reviewed by Tim Horton.

        * svg/custom/pattern-invalid-content-inheritance-expected.svg: Added.
        * svg/custom/pattern-invalid-content-inheritance.svg: Added.

2017-09-20  Per Arne Vollan  <pvollan@apple.com>

        Mark transitions/transition-display-property.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177284

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-20  Per Arne Vollan  <pvollan@apple.com>

        Mark http/wpt/resource-timing/rt-resource-errors.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177282

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-20  Commit Queue  <commit-queue@webkit.org>

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

        Caused fast/images/animated-gif-webkit-transform.html to time
        out, and possible perf regression (Requested by smfr on
        #webkit).

        Reverted changeset:

        "Simplify compositing layer updating"
        https://bugs.webkit.org/show_bug.cgi?id=176196
        http://trac.webkit.org/changeset/222254

2017-09-20  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r222278.

        This needs more work before it can be landed.

        Reverted changeset:

        "Work towards: Move test expectations from 'ios-11' to 'ios'
        directory"
        https://bugs.webkit.org/show_bug.cgi?id=177167
        http://trac.webkit.org/changeset/222278

2017-09-20  Ryan Haddad  <ryanhaddad@apple.com>

        Work towards: Move test expectations from 'ios-11' to 'ios' directory
        https://bugs.webkit.org/show_bug.cgi?id=177167

        Unreviewed test gardening.

        * platform/ios-11/TestExpectations: Removed.
        * platform/ios/TestExpectations:

2017-09-20  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] atk_table_get_n_rows() and atk_table_get_n_columns() should return values of aria-rowcount and aria-colcount, if present
        https://bugs.webkit.org/show_bug.cgi?id=171172

        Reviewed by Chris Fleizach.

        Generated platform-specific expectations to reflect the new behavior.

        * accessibility/aria-table-attributes.html: Modified to handle platform differences.
        * platform/gtk/accessibility/aria-table-attributes-expected.txt: Added.

2017-09-20  Youenn Fablet  <youenn@apple.com>

        Make webrtc replace track tests less flaky
        https://bugs.webkit.org/show_bug.cgi?id=172645
        <rdar://problem/34118218>

        Reviewed by Eric Carlson.

        Improving stability of tests by retrying tests every 50 ms instead of once.
        Doing some refactoring to put more helper routines in routine.js
        Relaxing black pixel check as compression may introduce some uncertainty.
        It is now considered black if RGB < (30, 30, 30).

        * TestExpectations: Marking video-mute.html as Pass/Fail instead of Fail.
        * webrtc/routines.js:
        * webrtc/video-mute.html:
        * webrtc/video-replace-muted-track.html:
        * webrtc/video-replace-track-expected.txt:
        * webrtc/video-replace-track-to-null.html:
        * webrtc/video-replace-track.html:

2017-09-20  Chris Dumez  <cdumez@apple.com>

        Video errors should be instances of Error
        https://bugs.webkit.org/show_bug.cgi?id=174573
        <rdar://problem/34445494>

        Reviewed by Youenn Fablet.

        * http/tests/security/video-cross-origin-caching-expected.txt:
        Rebaseline test now that output has changed slightly.

        * media/media-play-promise-reject-load-abort-expected.txt:
        * media/media-play-promise-reject-load-abort.html:
        Extend test coverage.

2017-09-20  Ryan Haddad  <ryanhaddad@apple.com>

        Skip inspector tests that crash after r222259.
        https://bugs.webkit.org/show_bug.cgi?id=177249

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-09-20  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Unreviewed test gardening
        https://bugs.webkit.org/show_bug.cgi?id=177233

        Unreviewed test gardening.

        * TestExpectations:
        * platform/wpe/tables/mozilla/marvin/x_th_nowrap-expected.txt:

2017-09-20  Per Arne Vollan  <pvollan@apple.com>

        Skip failing resource timing tests on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177234

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-19  Ryosuke Niwa  <rniwa@webkit.org>

        On Mac, dataTransfer claims to contain URL list when dropping files
        https://bugs.webkit.org/show_bug.cgi?id=177219

        Reviewed by Wenson Hsieh.

        Added a regression test. For now, it only runs on Mac WK1.

        * editing/pasteboard/datatransfer-types-dropping-text-file-expected.txt: Added.
        * editing/pasteboard/datatransfer-types-dropping-text-file.html: Added.
        * platform/ios/TestExpectations:
        * platform/wk2/TestExpectations:

2017-09-19  Simon Fraser  <simon.fraser@apple.com>

        Simplify compositing layer updating
        https://bugs.webkit.org/show_bug.cgi?id=176196

        Reviewed by Zalan Bujtas.

        New baselines.

        * scrollingcoordinator/ios/sync-layer-positions-after-scroll-expected.txt:
        * tiled-drawing/background-transparency-toggle-expected.txt:

2017-09-19  Joseph Pecoraro  <pecoraro@apple.com>

        Move non-upstreamed Resource Timing tests out of web-platform-tests
        https://bugs.webkit.org/show_bug.cgi?id=177197

        Reviewed by Youenn Fablet.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        Update expectations for path changes.

        * http/wpt/resource-timing/resources/data.json: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/data.json.
        * http/wpt/resource-timing/resources/resource.css: Added.
        * http/wpt/resource-timing/resources/resource.html: Added.
        * http/wpt/resource-timing/resources/resource.js: Added.
        * http/wpt/resource-timing/resources/resource.png: Added.
        * http/wpt/resource-timing/resources/rt-iframe-1.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-iframe-1.html.
        * http/wpt/resource-timing/resources/rt-iframe-2.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-iframe-2.html.
        * http/wpt/resource-timing/resources/rt-module.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-module.js.
        * http/wpt/resource-timing/resources/rt-revalidation-response.py: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-revalidation-response.py.
        * http/wpt/resource-timing/resources/rt-sub-module.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-sub-module.js.
        * http/wpt/resource-timing/resources/rt-utilities.sub.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-utilities.sub.js.
        * http/wpt/resource-timing/resources/rt-worker-resources.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-worker-resources.js.
        * http/wpt/resource-timing/rt-cors-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors-expected.txt.
        * http/wpt/resource-timing/rt-cors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.html.
        * http/wpt/resource-timing/rt-cors.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.js.
        * http/wpt/resource-timing/rt-cors.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker-expected.txt.
        * http/wpt/resource-timing/rt-cors.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.html.
        * http/wpt/resource-timing/rt-cors.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.js.
        * http/wpt/resource-timing/rt-initiatorType-css-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-css-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType-css.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-css.html.
        * http/wpt/resource-timing/rt-initiatorType-element-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType-element.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element.html.
        * http/wpt/resource-timing/rt-initiatorType-fetch-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType-fetch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch.html.
        * http/wpt/resource-timing/rt-initiatorType-fetch.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch.js.
        * http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-media-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType-media.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-media.html.
        * http/wpt/resource-timing/rt-initiatorType-other-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-other-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType-other.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-other.html.
        * http/wpt/resource-timing/rt-initiatorType-script-module-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-script-module-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType-script-module.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-script-module.html.
        * http/wpt/resource-timing/rt-initiatorType-xmlhttprequest-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType-xmlhttprequest.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest.html.
        * http/wpt/resource-timing/rt-initiatorType-xmlhttprequest.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest.js.
        * http/wpt/resource-timing/rt-initiatorType.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker-expected.txt.
        * http/wpt/resource-timing/rt-initiatorType.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker.html.
        * http/wpt/resource-timing/rt-initiatorType.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker.js.
        * http/wpt/resource-timing/rt-nextHopProtocol-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol-expected.txt.
        * http/wpt/resource-timing/rt-nextHopProtocol.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.html.
        * http/wpt/resource-timing/rt-nextHopProtocol.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.js.
        * http/wpt/resource-timing/rt-nextHopProtocol.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker-expected.txt.
        * http/wpt/resource-timing/rt-nextHopProtocol.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker.html.
        * http/wpt/resource-timing/rt-nextHopProtocol.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker.js.
        * http/wpt/resource-timing/rt-performance-extensions-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions-expected.txt.
        * http/wpt/resource-timing/rt-performance-extensions.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.html.
        * http/wpt/resource-timing/rt-performance-extensions.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.js.
        * http/wpt/resource-timing/rt-performance-extensions.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker-expected.txt.
        * http/wpt/resource-timing/rt-performance-extensions.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker.html.
        * http/wpt/resource-timing/rt-performance-extensions.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker.js.
        * http/wpt/resource-timing/rt-resource-errors-expected.txt: Added.
        * http/wpt/resource-timing/rt-resource-errors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-errors.html.
        * http/wpt/resource-timing/rt-resource-ignored-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-ignored-expected.txt.
        * http/wpt/resource-timing/rt-resource-ignored.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-ignored.html.
        * http/wpt/resource-timing/rt-resources-per-frame-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-frame-expected.txt.
        * http/wpt/resource-timing/rt-resources-per-frame.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-frame.html.
        * http/wpt/resource-timing/rt-resources-per-worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-worker-expected.txt.
        * http/wpt/resource-timing/rt-resources-per-worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-worker.html.
        * http/wpt/resource-timing/rt-revalidate-requests-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests-expected.txt.
        * http/wpt/resource-timing/rt-revalidate-requests.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests.html.
        * http/wpt/resource-timing/rt-serialization-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-serialization-expected.txt.
        * http/wpt/resource-timing/rt-serialization.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-serialization.html.
        * http/wpt/resource-timing/rt-shared-resource-in-frames-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-frames-expected.txt.
        * http/wpt/resource-timing/rt-shared-resource-in-frames.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-frames.html.
        * http/wpt/resource-timing/rt-shared-resource-in-workers-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-workers-expected.txt.
        * http/wpt/resource-timing/rt-shared-resource-in-workers.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-workers.html.
        Move tests and make small modifications to ensure we load "/WebKit/resource-timing"
        test resources instead of "/resource-timing" resources (web-platform-tests ones).

2017-09-19  Per Arne Vollan  <pvollan@apple.com>

        Skip fast/images/animated-image-mp4.html on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177216

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-19  Per Arne Vollan  <pvollan@apple.com>

        Mark accessibility/crash-table-recursive-layout.html as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177212

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-19  Zalan Bujtas  <zalan@apple.com>

        Add missing text after r222226.

        * accessibility/crash-table-recursive-layout.html:

2017-09-19  Matt Lewis  <jlewis3@apple.com>

        Marked tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-then-horizontal.html as flaky on macOS Debug.
        https://bugs.webkit.org/show_bug.cgi?id=171839

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-09-19  Ryosuke Niwa  <rniwa@webkit.org>

        On iOS, getData can't get text set by setData during copy event
        https://bugs.webkit.org/show_bug.cgi?id=176980
        <rdar://problem/34453915>

        Reviewed by Darin Adler.

        Added regression tests to make sure dataTransfer.types returns an empty list when writing to a pasteboard (copy),
        and doesn't contain image types when pasting plain text. Unfortunately, pasting image does result in plain text
        content being present in the pasteboard in the form of URL so we can't test that scenario.

        Also removed failing expectations from a number of tests that are now passing on iOS.

        * editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy-expected.txt: Added.
        * editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy.html: Added.
        * editing/pasteboard/dataTransfer-types-pasting-plaintext-expected.txt: Added.
        * editing/pasteboard/dataTransfer-types-pasting-plaintext.html: Added.
        * platform/ios/TestExpectations:

2017-09-19  Zalan Bujtas  <zalan@apple.com>

        AXObjectCache::performDeferredCacheUpdate is called recursively through FrameView::layout. 
        https://bugs.webkit.org/show_bug.cgi?id=176218
        <rdar://problem/34205612>

        Reviewed by Simon Fraser.

        * accessibility/crash-table-recursive-layout-expected.txt: Added.
        * accessibility/crash-table-recursive-layout.html: Added.

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

        [Cocoa] Add an ImageDecoder subclass backed by AVFoundation
        https://bugs.webkit.org/show_bug.cgi?id=176825

        Reviewed by Eric Carlson.

        * fast/images/animated-image-mp4-expected.txt: Added.
        * fast/images/animated-image-mp4.html: Added.
        * fast/images/resources/animated-red-green-blue.mp4: Added.
        * platform/ios/TestExpectations:

2017-09-19  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html as flaky on El Capitan Debug.
        https://bugs.webkit.org/show_bug.cgi?id=176486

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-09-19  Zalan Bujtas  <zalan@apple.com>

        Do not mutate RenderText content during layout.
        https://bugs.webkit.org/show_bug.cgi?id=176219
        <rdar://problem/34205724>

        Reviewed by David Hyatt.

        * fast/text/international/dynamic-text-combine-crash.html: Added.
        * fast/text/text-combine-crash-expected.txt:

2017-09-15  Wenson Hsieh  <wenson_hsieh@apple.com>

        createMarkupInternal should protect its pointer to the Range's common ancestor
        https://bugs.webkit.org/show_bug.cgi?id=177033
        <rdar://problem/34265390>

        Reviewed by Tim Horton.

        Adds a test that removes the common ancestor node of a range in the middle of executing an outdent.

        * editing/execCommand/outdent-with-media-query-listener-in-iframe-expected.txt: Added.
        * editing/execCommand/outdent-with-media-query-listener-in-iframe.html: Added.

2017-09-19  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r222217 and r222214.
        This change introduced two LayoutTest failures.
        https://bugs.webkit.org/show_bug.cgi?id=177026

        * fast/text/international/dynamic-text-combine-crash-expected.txt: Removed.
        * fast/text/international/dynamic-text-combine-crash.html: Removed.
        * fast/text/text-combine-crash-expected.txt:

2017-09-19  Zalan Bujtas  <zalan@apple.com>

        Do not mutate RenderText content during layout.
        https://bugs.webkit.org/show_bug.cgi?id=176219
        <rdar://problem/34205724>

        Reviewed by David Hyatt.

        * fast/text/international/dynamic-text-combine-crash.html: Added.
        * fast/text/text-combine-crash-expected.txt:

2017-09-19  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176240

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-09-19  Youenn Fablet  <youenn@apple.com>

        webrtc/video-rotation.html is failing and now occasionally times out.
        https://bugs.webkit.org/show_bug.cgi?id=175305

        Reviewed by Alex Christensen.

        * TestExpectations: Marking test as passing.
        * webrtc/video-rotation-expected.txt:
        * webrtc/video-rotation.html: Removing unneded subtest. Purpose of the test is checking that rotation change video size.

2017-09-19  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/video-getParameters.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=170148

        Reviewed by Alex Christensen.

        * TestExpectations: Marking test as passing.
        * webrtc/video-getParameters.html: Further sanitizing parameters against changes.

2017-09-19  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        [GTK] The binding code of Media Source Extension of AudioTrack, VideoTrack and TextTrack is not generated
        https://bugs.webkit.org/show_bug.cgi?id=174620

        Reviewed by Michael Catanzaro.

        Add AudioTrackMediaSource, VideoTrackMediaSource and TextTrackMediaSource IDL files in CMakeLists. Fix WPT test
        that checks MSE interfaces. This test failed since webm is not supported for MSE in GTK port. PR already merged
        in WPT repository.

        Remove skipped test that is now passing in TestExpectation. Modify expected file for GTK (same as mac).

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt: Added.

2017-09-19  Dean Jackson  <dino@apple.com>

        [WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
        https://bugs.webkit.org/show_bug.cgi?id=176771
        <rdar://problem/34386621>

        Reviewed by Antoine Quint.

        Tweak this test to make sure it does something different from
        the code in WebCore to render a video into a texture, thus
        ensuring that we're testing state is correctly restored.

        * fast/canvas/webgl/texImage2D-video-flipY-true.html:

2017-09-19  Dean Jackson  <dino@apple.com>

        [WebGL] accelerated texImage2D for video doesn't respect flipY
        https://bugs.webkit.org/show_bug.cgi?id=176491
        <rdar://problem/33833511>

        Reviewed by Jer Noble.

        (Take 3 - this was rolled out due to a test failure)

        Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
        path.

        * fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
        * fast/canvas/webgl/resources/orientation-normal.mp4: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
        * platform/ios/TestExpectations: This test is macOS only.
        * platform/mac/TestExpectations: Mark an existing WebGL test as flakey, while
          a bug exposed here is investigated.

2017-09-18  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening for macOS.

        * platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt:
        * platform/mac/TestExpectations:
        * platform/mac/fast/loader/file-url-mimetypes-3-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/css/display-contents-style-update.html as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177109

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Tim Horton  <timothy_horton@apple.com>

        Support min() and max() in calc()
        https://bugs.webkit.org/show_bug.cgi?id=167000
        <rdar://problem/30153481>

        Reviewed by David Hyatt.
        Patch originally by Myles Maxfield.

        * css3/calc/minmax-errors-expected.txt:
        * css3/calc/minmax-errors.html:
        * css3/calc/simple-minmax-expected.txt:
        * css3/calc/simple-minmax.html:
        Revive previously-unused tests for an earlier never-implemented version
        of this feature, and add a bunch more interesting test cases from reading the spec.

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark imported/blink/fast/events/panScroll-panIcon.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177077

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: RemoteObject.resolveNode should return a Promise
        https://bugs.webkit.org/show_bug.cgi?id=177042

        Reviewed by Joseph Pecoraro.

        Updated tests to use promises instead of callbacks.

        * inspector/dom/highlightNode.html:

2017-09-18  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: make Canvas recording tests more human readable
        https://bugs.webkit.org/show_bug.cgi?id=176441

        Reviewed by Joseph Pecoraro.

        * TestExpectations:

        * inspector/canvas/resources/recording-utilities.js: Added.
        (TestPage.registerInitializer):
        Create common functions for requesting and printing a recording.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:

        * inspector/canvas/recording-webgl-expected.txt:
        * inspector/canvas/recording-webgl.html:

        * inspector/canvas/recording-webgl-snapshots-expected.txt:
        * inspector/canvas/recording-webgl-snapshots.html:

2017-09-18  Antti Koivisto  <antti@apple.com>

        Another WK1 unflake attempt.

        * transitions/transition-display-property-2.html:

2017-09-18  Ryosuke Niwa  <rniwa@webkit.org>

        getData('text/plain') doesn't work on iOS 10
        https://bugs.webkit.org/show_bug.cgi?id=177034

        Reviewed by Wenson Hsieh.

        Removed the failing test expectations from tests that now pass on iOS.

        * platform/ios/TestExpectations:

2017-09-18  Emilio Cobos Álvarez  <emilio@crisal.io>

        Always update display: contents styles in RenderTreeUpdater.
        https://bugs.webkit.org/show_bug.cgi?id=177065

        Reviewed by Antti Koivisto.

        * fast/css/display-contents-style-update-expected.html: Added.
        * fast/css/display-contents-style-update.html: Added.

2017-09-18  Antti Koivisto  <antti@apple.com>

        Avoid style resolution when clearing focused element.
        https://bugs.webkit.org/show_bug.cgi?id=176224
        <rdar://problem/34206409>

        Reviewed by Zalan Bujtas.

        * fast/dom/focus-style-resolution-expected.txt: Added.
        * fast/dom/focus-style-resolution.html: Added.

2017-09-18  Antti Koivisto  <antti@apple.com>

        Try to unflake a test.

        Unreviewed.

        * transitions/transition-display-property-2.html:

2017-09-18  Ryan Haddad  <ryanhaddad@apple.com>

        Move baseline for editing/mac/attributed-string/font-style-variant-effect.html to mac-sierra.

        Unreviewed test gardening.

        * platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
        * platform/win/TestExpectations: Drive by fix for an accidental commit.

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177072

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177071

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=160447

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        [Win] Fix invalid line in TestExpectations.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177072

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=177071

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-18  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=160447

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-17  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Styles Redesign: support toggling properties
        https://bugs.webkit.org/show_bug.cgi?id=176643

        Reviewed by Matt Baker.

        Add tests for String.prototype.lineCount and String.prototype.lastLine.

        * inspector/unit-tests/string-utilities-expected.txt:
        * inspector/unit-tests/string-utilities.html:

2017-09-16  Antti Koivisto  <antti@apple.com>

        Computing animated style should not require renderers
        https://bugs.webkit.org/show_bug.cgi?id=171926
        <rdar://problem/34428035>

        Reviewed by Sam Weinig.

        * transitions/transition-display-property-2-expected.html: Added.
        * transitions/transition-display-property-2.html: Added.
        * transitions/transition-display-property.html:

2017-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r222090.

        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.png:
        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt:
        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png:
        * platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt:
        * platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.png:
        * platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt:
        * platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.png:
        * platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
        * platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.png:
        * platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.txt:
        * platform/gtk/svg/text/bidi-tspans-expected.png:
        * platform/gtk/svg/text/bidi-tspans-expected.txt:

2017-09-15  Ryosuke Niwa  <rniwa@webkit.org>

        iOS: Use blob URL instead of a WebKit fake URL when pasting an image
        https://bugs.webkit.org/show_bug.cgi?id=176986
        <rdar://problem/34455052>

        Reviewed by Wenson Hsieh.

        Removed the failing expectation on the test added by r208451 now that it passes on iOS.

        * platform/ios/TestExpectations:

2017-09-15  Ryan Haddad  <ryanhaddad@apple.com>

        Follow up to r222111, rebaseline tests for Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=176463

        Unreviewed test gardening.

        * platform/mac-elcapitan/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt: Removed.
        * platform/mac-sierra/editing/mac/attributed-string/anchor-element-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/anchor-element-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/basic-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/basic-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/comment-cdata-section-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/comment-cdata-section-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/font-size-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-size-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/font-weight-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-weight-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/letter-spacing-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/letter-spacing-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/text-decorations-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/text-decorations-expected.txt.
        * platform/mac-sierra/editing/mac/attributed-string/vertical-align-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/vertical-align-expected.txt.
        * platform/mac-sierra/editing/mac/input/firstrectforcharacterrange-styled-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/input/firstrectforcharacterrange-styled-expected.txt.
        * platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt:

2017-09-15  Wenson Hsieh  <wenson_hsieh@apple.com>

        Avoid style recomputation when forwarding a focus event to an text field's input type
        https://bugs.webkit.org/show_bug.cgi?id=176160
        <rdar://problem/34184820>

        Reviewed by Ryosuke Niwa.

        Adds a new layout test verifying that we don't crash when changing the input type from within a focus event listener.

        * fast/forms/change-input-type-in-focus-handler-expected.txt: Added.
        * fast/forms/change-input-type-in-focus-handler.html: Added.

2017-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Move test expectations from 'mac-highsierra' to 'mac' directory
        https://bugs.webkit.org/show_bug.cgi?id=176463

        Unreviewed test gardening.

        ChangeLog truncated due to hundreds of LayoutTest files being changed.

2017-09-15  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/debugger/breakpoint-action-detach.html as flaky on Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=168338

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-09-15  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r222040.

        The LayoutTest added with this change is a flaky image failure
        on mac-wk1 debug bots.

        Reverted changeset:

        "Computing animated style should not require renderers"
        https://bugs.webkit.org/show_bug.cgi?id=171926
        http://trac.webkit.org/changeset/222040

2017-09-15  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Canvas: recording parameters that include colors should show an InlineSwatch (2D canvas)
        https://bugs.webkit.org/show_bug.cgi?id=176822
        <rdar://problem/34402170>

        Reviewed by Devin Rousso.

        Add tests for color space conversions.

        * inspector/model/color-expected.txt:
        * inspector/model/color.html:

2017-09-15  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test maintenance.

        * platform/mac-wk1/TestExpectations: Skip test under WK1 due to a bug.

2017-09-15  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, correct a typo in a TestExpectations file.

        * platform/ios/TestExpectations:

2017-09-15  John Wilander  <wilander@apple.com>

        Storage Access API: Deny access to nested iframes
        https://bugs.webkit.org/show_bug.cgi?id=176939
        <rdar://problem/34439609>

        Reviewed by Brent Fulgham.

        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html: Added.
        * http/tests/storageAccess/resources/nesting-iframe.html: Added.
        * platform/mac-wk2/TestExpectations:
            Added the new test as a [ Pass ].

2017-09-15  Brent Fulgham  <bfulgham@apple.com>

        Make DocumentLoader a FrameDestructionObserver
        https://bugs.webkit.org/show_bug.cgi?id=176364
        <rdar://problem/34254780>

        Reviewed by Alex Christensen.

        * fast/events/beforeunload-dom-manipulation-crash-expected.txt: Added.
        * fast/events/beforeunload-dom-manipulation-crash.html: Added.

2017-09-15  Youenn Fablet  <youenn@apple.com>

        WPT harness errors on leaks and iOS-sim EWS bots
        https://bugs.webkit.org/show_bug.cgi?id=175269
        <rdar://problem/33902404>

        Unreviewed.

        * TestExpectations: Reactivating event source test.

2017-09-15  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update test expectations for cache storage tests.
        https://bugs.webkit.org/show_bug.cgi?id=176998

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-15  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update test expectations for failures on one of the EWS machines.
        https://bugs.webkit.org/show_bug.cgi?id=176998

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-15  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Rebaseline after r221966.

        Unreviewed gardening. Adding VRPose.

        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-09-15  Zan Dobersek  <zdobersek@igalia.com>

        [EME] ClearKey: list 'persistent-license' sessions as supported
        https://bugs.webkit.org/show_bug.cgi?id=176985

        Reviewed by Xabier Rodriguez-Calvar.

        Update WPE test baselines for EME ClearKey tests.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:

2017-09-15  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Rebaseline test expectations after r222077.

        Unreviewed gardening.

        * platform/wpe/animations/3d/matrix-transform-type-animation-expected.txt:
        * platform/wpe/animations/cross-fade-border-image-source-expected.txt:
        * platform/wpe/animations/cross-fade-list-style-image-expected.txt:
        * platform/wpe/animations/cross-fade-webkit-mask-box-image-expected.txt:
        * platform/wpe/animations/cross-fade-webkit-mask-image-expected.txt:
        * platform/wpe/animations/lineheight-animation-expected.txt:
        * platform/wpe/animations/missing-values-first-keyframe-expected.txt:
        * platform/wpe/animations/missing-values-last-keyframe-expected.txt:
        * platform/wpe/animations/simultaneous-start-transform-expected.txt:
        * platform/wpe/animations/width-using-ems-expected.txt:
        * platform/wpe/css1/basic/containment-expected.txt:
        * platform/wpe/css1/basic/contextual_selectors-expected.txt:
        * platform/wpe/css1/basic/grouping-expected.txt:
        * platform/wpe/css1/basic/id_as_selector-expected.txt:
        * platform/wpe/css1/basic/inheritance-expected.txt:
        * platform/wpe/css1/box_properties/border-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_width-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_color-expected.txt:
        * platform/wpe/css1/box_properties/border_color_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_left-expected.txt:
        * platform/wpe/css1/box_properties/border_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_left_width-expected.txt:
        * platform/wpe/css1/box_properties/border_left_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_right-expected.txt:
        * platform/wpe/css1/box_properties/border_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_right_width-expected.txt:
        * platform/wpe/css1/box_properties/border_right_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_style-expected.txt:
        * platform/wpe/css1/box_properties/border_style_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_top-expected.txt:
        * platform/wpe/css1/box_properties/border_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_top_width-expected.txt:
        * platform/wpe/css1/box_properties/border_top_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_width-expected.txt:
        * platform/wpe/css1/box_properties/border_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/clear-expected.txt:
        * platform/wpe/css1/box_properties/clear_float-expected.txt:
        * platform/wpe/css1/box_properties/float-expected.txt:
        * platform/wpe/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/wpe/css1/box_properties/float_margin-expected.txt:
        * platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/wpe/css1/box_properties/height-expected.txt:
        * platform/wpe/css1/box_properties/margin-expected.txt:
        * platform/wpe/css1/box_properties/margin_bottom-expected.txt:
        * platform/wpe/css1/box_properties/margin_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_left-expected.txt:
        * platform/wpe/css1/box_properties/margin_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_right-expected.txt:
        * platform/wpe/css1/box_properties/margin_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_top-expected.txt:
        * platform/wpe/css1/box_properties/margin_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding-expected.txt:
        * platform/wpe/css1/box_properties/padding_bottom-expected.txt:
        * platform/wpe/css1/box_properties/padding_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_left-expected.txt:
        * platform/wpe/css1/box_properties/padding_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_right-expected.txt:
        * platform/wpe/css1/box_properties/padding_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_top-expected.txt:
        * platform/wpe/css1/box_properties/padding_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/width-expected.txt:
        * platform/wpe/css1/cascade/cascade_order-expected.txt:
        * platform/wpe/css1/cascade/important-expected.txt:
        * platform/wpe/css1/classification/display-expected.txt:
        * platform/wpe/css1/classification/list_style-expected.txt:
        * platform/wpe/css1/classification/list_style_image-expected.txt:
        * platform/wpe/css1/classification/list_style_position-expected.txt:
        * platform/wpe/css1/classification/list_style_type-expected.txt:
        * platform/wpe/css1/classification/white_space-expected.txt:
        * platform/wpe/css1/color_and_background/background-expected.txt:
        * platform/wpe/css1/color_and_background/background_attachment-expected.txt:
        * platform/wpe/css1/color_and_background/background_color-expected.txt:
        * platform/wpe/css1/color_and_background/background_image-expected.txt:
        * platform/wpe/css1/color_and_background/background_position-expected.txt:
        * platform/wpe/css1/color_and_background/background_repeat-expected.txt:
        * platform/wpe/css1/color_and_background/color-expected.txt:
        * platform/wpe/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/wpe/css1/font_properties/font-expected.txt:
        * platform/wpe/css1/font_properties/font_family-expected.txt:
        * platform/wpe/css1/font_properties/font_size-expected.txt:
        * platform/wpe/css1/font_properties/font_style-expected.txt:
        * platform/wpe/css1/font_properties/font_variant-expected.txt:
        * platform/wpe/css1/font_properties/font_weight-expected.txt:
        * platform/wpe/css1/formatting_model/canvas-expected.txt:
        * platform/wpe/css1/formatting_model/floating_elements-expected.txt:
        * platform/wpe/css1/formatting_model/height_of_lines-expected.txt:
        * platform/wpe/css1/formatting_model/inline_elements-expected.txt:
        * platform/wpe/css1/formatting_model/replaced_elements-expected.txt:
        * platform/wpe/css1/formatting_model/vertical_formatting-expected.txt:
        * platform/wpe/css1/pseudo/anchor-expected.txt:
        * platform/wpe/css1/pseudo/firstletter-expected.txt:
        * platform/wpe/css1/pseudo/firstline-expected.txt:
        * platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/wpe/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * platform/wpe/css1/text_properties/letter_spacing-expected.txt:
        * platform/wpe/css1/text_properties/line_height-expected.txt:
        * platform/wpe/css1/text_properties/text_align-expected.txt:
        * platform/wpe/css1/text_properties/text_decoration-expected.txt:
        * platform/wpe/css1/text_properties/text_indent-expected.txt:
        * platform/wpe/css1/text_properties/text_transform-expected.txt:
        * platform/wpe/css1/text_properties/vertical_align-expected.txt:
        * platform/wpe/css1/text_properties/word_spacing-expected.txt:
        * platform/wpe/css1/units/color_units-expected.txt:
        * platform/wpe/css1/units/length_units-expected.txt:
        * platform/wpe/css1/units/percentage_units-expected.txt:
        * platform/wpe/css1/units/urls-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-013-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-014-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-015-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-016-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-014-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-016-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-017-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-018-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-019-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-021-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-022-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-023-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-024-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-025-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-026-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-028-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-029-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-030-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-031-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-032-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-033-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-035-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-013-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-015-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-020-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-022-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-027-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-029-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-034-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-036-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-041-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-043-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-048-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-050-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-055-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-057-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-062-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-064-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-069-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-071-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-076-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-013-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-014-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-015-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-016-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/wpe/css2.1/20110323/border-conflict-style-088-expected.txt:
        * platform/wpe/css2.1/20110323/border-spacing-applies-to-015-expected.txt:
        * platform/wpe/css2.1/20110323/c543-txt-decor-000-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-001-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-002-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/height-width-inline-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/height-width-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/inline-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-001-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-002-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-003-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-004-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-005-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-006-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-007-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-008-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-009-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-010-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-012-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-013-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-014-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-015-expected.txt:
        * platform/wpe/css2.1/20110323/outline-color-applies-to-008-expected.txt:
        * platform/wpe/css2.1/20110323/replaced-intrinsic-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-002-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-horizontal-alignment-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-optional-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-optional-002-expected.txt:
        * platform/wpe/css2.1/20110323/table-height-algorithm-023-expected.txt:
        * platform/wpe/css2.1/20110323/table-height-algorithm-024-expected.txt:
        * platform/wpe/css2.1/20110323/width-non-replaced-inline-001-expected.txt:
        * platform/wpe/css2.1/20110323/width-replaced-element-001-expected.txt:
        * platform/wpe/css2.1/t040102-keywords-01-b-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-01-f-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-02-f-expected.txt:
        * platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/wpe/css2.1/t0602-c13-inheritance-00-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5519-brdr-r-02-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5521-brdr-l-02-e-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-04-c-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-00-d-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-01-b-expected.txt:
        * platform/wpe/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
        * platform/wpe/css2.1/t1202-counter-00-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-01-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-02-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-03-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-04-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-05-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-06-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-16-f-expected.txt:
        * platform/wpe/css2.1/t1202-counters-00-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-01-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-02-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-03-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-04-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-05-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-06-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-18-f-expected.txt:
        * platform/wpe/css2.1/t1204-order-00-c-expected.txt:
        * platform/wpe/css2.1/t1204-order-01-d-expected.txt:
        * platform/wpe/css2.1/t120401-scope-00-b-expected.txt:
        * platform/wpe/css2.1/t120401-scope-01-c-expected.txt:
        * platform/wpe/css2.1/t1205-c565-list-pos-00-b-expected.txt:
        * platform/wpe/css2.1/t1507-c526-font-sz-00-b-expected.txt:
        * platform/wpe/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
        * platform/wpe/css3/css3-modsel-35-expected.txt:
        * platform/wpe/css3/css3-modsel-37-expected.txt:
        * platform/wpe/css3/flexbox/button-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-113-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-113b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-114-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-114b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-119-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-121-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-122-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-123-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-139-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-139b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-140-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-140b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-47-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-48-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-49-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-113-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-113b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-114-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-114b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-119-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-121-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-122-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-123-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-139-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-139b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-140-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-140b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-47-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-48-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-49-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/wpe/fast/dom/Element/class-attribute-whitespace-expected.txt:
        * platform/wpe/fast/dom/HTMLDocument/frameless-location-bugzilla10837-expected.txt:
        * platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
        * platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
        * platform/wpe/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
        * platform/wpe/fast/dom/HTMLTableElement/colSpan-expected.txt:
        * platform/wpe/fast/dom/HTMLTableElement/createCaption-expected.txt:
        * platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/wpe/fast/dom/Range/create-contextual-fragment-expected.txt:
        * platform/wpe/fast/dynamic/007-expected.txt:
        * platform/wpe/fast/dynamic/011-expected.txt:
        * platform/wpe/fast/dynamic/012-expected.txt:
        * platform/wpe/fast/dynamic/014-expected.txt:
        * platform/wpe/fast/dynamic/015-expected.txt:
        * platform/wpe/fast/dynamic/anchor-lock-expected.txt:
        * platform/wpe/fast/dynamic/anonymous-block-orphaned-lines-expected.txt:
        * platform/wpe/fast/dynamic/containing-block-change-expected.txt:
        * platform/wpe/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
        * platform/wpe/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
        * platform/wpe/fast/dynamic/float-withdrawal-expected.txt:
        * platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/wpe/fast/dynamic/noninlinebadness-expected.txt:
        * platform/wpe/fast/dynamic/outerHTML-doc-expected.txt:
        * platform/wpe/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
        * platform/wpe/fast/dynamic/selection-highlight-adjust-expected.txt:
        * platform/wpe/fast/dynamic/staticY-marking-parents-regression-expected.txt:
        * platform/wpe/fast/dynamic/view-overflow-expected.txt:
        * platform/wpe/fast/dynamic/window-resize-scrollbars-test-expected.txt:
        * platform/wpe/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/wpe/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/wpe/fast/encoding/xmacroman-encoding-test-expected.txt:
        * platform/wpe/fast/events/mouseover-mouseout-expected.txt:
        * platform/wpe/fast/events/nested-window-event-expected.txt:
        * platform/wpe/fast/events/pointer-events-2-expected.txt:
        * platform/wpe/fast/events/resize-events-expected.txt:
        * platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
        * platform/wpe/fast/events/window-events-bubble-expected.txt:
        * platform/wpe/fast/events/window-events-bubble2-expected.txt:
        * platform/wpe/fast/gradients/crash-on-zero-radius-expected.txt:
        * platform/wpe/fast/gradients/list-item-gradient-expected.txt:
        * platform/wpe/fast/gradients/radial-centered-expected.txt:
        * platform/wpe/fast/parser/001-expected.txt:
        * platform/wpe/fast/parser/entity-comment-in-style-expected.txt:
        * platform/wpe/fast/parser/nofoo-tags-inside-paragraph-expected.txt:
        * platform/wpe/fast/parser/open-comment-in-style-expected.txt:
        * platform/wpe/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/wpe/fast/parser/xhtml-alternate-entities-expected.txt:
        * platform/wpe/fast/tokenizer/script_extra_close-expected.txt:
        * platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
        * platform/wpe/fast/transforms/diamond-expected.txt:
        * platform/wpe/fast/transforms/transform-overflow-expected.txt:
        * platform/wpe/fast/transforms/transform-positioned-ancestor-expected.txt:
        * platform/wpe/fast/transforms/transform-table-row-expected.txt:
        * platform/wpe/fast/transforms/transforms-with-zoom-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc-cyr-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc16-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc16to16-expected.txt:
        * platform/wpe/fast/xsl/xslt-entity-expected.txt:
        * platform/wpe/fast/xsl/xslt-extra-content-at-end-expected.txt:
        * platform/wpe/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
        * platform/wpe/fast/xsl/xslt-relative-path-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-border-box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-applies-to-block-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_color_padding_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-010-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-017-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-not-inherited-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/color-behind-images-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/order-of-images-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-001-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-002-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-003-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-005-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-006-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-007-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-008-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-009-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-010-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
        * platform/wpe/tables/layering/paint-test-layering-1-expected.txt:
        * platform/wpe/tables/layering/paint-test-layering-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/45621-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10269-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10269-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10296-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106158-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106158-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug109043-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1163-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug11944-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1224-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug133756-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug139524-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug149275-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug14929-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug157890-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug16252-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17130-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17130-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17587-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18664-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18955-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19356-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug20579-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2065-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug20804-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2123-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug220536-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-2a-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-3a-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23235-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23299-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug24627-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2469-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2509-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug25663-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2585-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27038-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27038-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2886-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2886-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29058-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29157-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29326-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2981-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2997-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30273-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30332-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30332-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32205-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32447-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3260-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug34538-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3454-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3977-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug42187-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43039-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43854-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug44523-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4501-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45055-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45055-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4576-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46480-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46480-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46623-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug48028-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4803-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5188-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5538-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug57828-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5835-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug58402-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6184-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6304-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6404-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6674-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69187-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69382-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69382-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7112-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7112-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug73321-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug80762-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug82946-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug82946-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8858-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug93363-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug965-expected.txt:
        * platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
        * platform/wpe/tables/mozilla/core/borders-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
        * platform/wpe/tables/mozilla/core/margins-expected.txt:
        * platform/wpe/tables/mozilla/core/one_row-expected.txt:
        * platform/wpe/tables/mozilla/core/row_span-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendCol2-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendRowsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsExpand2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertRowsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/body_tfoot-expected.txt:
        * platform/wpe/tables/mozilla/marvin/col_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_width_px-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_rules_all-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/other/ms-expected.txt:
        * platform/wpe/tables/mozilla/other/nested2-expected.txt:
        * platform/wpe/tables/mozilla/other/test3-expected.txt:
        * platform/wpe/tables/mozilla/other/test6-expected.txt:
        * platform/wpe/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug42043-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions3-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/cols1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/standards1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
        * platform/wpe/transforms/2d/compound-transforms-vs-containers-expected.txt:
        * platform/wpe/transforms/2d/transform-borderbox-expected.txt:
        * platform/wpe/transforms/2d/transform-fixed-container-expected.txt:
        * platform/wpe/transforms/2d/transform-origin-borderbox-expected.txt:
        * platform/wpe/transforms/3d/hit-testing/backface-hit-test-expected.txt:
        * platform/wpe/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
        * platform/wpe/transitions/cross-fade-border-image-expected.txt:
        * platform/wpe/transitions/move-after-transition-expected.txt:
        * platform/wpe/transitions/svg-text-shadow-transition-expected.txt:

2017-09-15  Ms2ger  <Ms2ger@igalia.com>

        Disallow passing a null program to getFragDataLocation.
        https://bugs.webkit.org/show_bug.cgi?id=176895

        Reviewed by Sam Weinig.

        This matches the specification as well as Gecko and Chromium.

        * fast/canvas/webgl/webgl2/bindings-expected.txt:
        * fast/canvas/webgl/webgl2/bindings.html:

2017-09-15  Ryosuke Niwa  <rniwa@webkit.org>

        iOS: WebKitTestRunner hits an assertion in editing/pasteboard/datatransfer-items-copy-plaintext.html
        https://bugs.webkit.org/show_bug.cgi?id=176968
        <rdar://problem/34454843>

        Reviewed by Wenson Hsieh.

        Unskip the test which used to crash/hit assertions.

        * platform/ios/TestExpectations:

2017-09-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r222077. Part 2.

2017-09-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r222077. Part 1.

2017-09-14  Youenn Fablet  <youenn@apple.com>

        Add Cache API support of records persistency
        https://bugs.webkit.org/show_bug.cgi?id=176845

        Reviewed by Alex Christensen.

        * http/tests/cache-storage/cache-persistency.https.html:
        * http/tests/cache-storage/cache-records-persistency.https-expected.txt: Added.
        * http/tests/cache-storage/cache-records-persistency.https.html: Added.

2017-09-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r221932 and r221933.
        https://bugs.webkit.org/show_bug.cgi?id=176969

        This change did not fix the webgl test flakiness. (Requested
        by ryanhaddad on #webkit).

        Reverted changesets:

        "[WebGL] accelerated texImage2D for video doesn't respect
        flipY"
        https://bugs.webkit.org/show_bug.cgi?id=176491
        http://trac.webkit.org/changeset/221932

        "[WebGL] VideoTextureCopierCV doesn't correctly restore vertex
        attribute state"
        https://bugs.webkit.org/show_bug.cgi?id=176771
        http://trac.webkit.org/changeset/221933

2017-09-14  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed rollout r222036.
        
        The LayoutTests added with this change is flaky.

        Reverted changeset
        Web Inspector: Timeline should show when events preventDefault() was called on an event or not
        https://bugs.webkit.org/show_bug.cgi?id=176824
        http://trac.webkit.org/changeset/222036

2017-09-14  Daniel Bates  <dabates@apple.com>

        Import CSS Pseudo Elements 4 Web Platform Tests
        https://bugs.webkit.org/show_bug.cgi?id=176253

        Reviewed by Zalan Bujtas.

        I upstreamed our CSS Pseudo Elements 4 tests to the Web Platform Tests repository.
        Remove our version of the tests and import the ones from the Web Platform Tests repository.

        * TestExpectations: Skip some tests that fail.
        * http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Removed.
        * http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Removed.
        * http/wpt/css/css-pseudo-4/marker-color-expected.html: Removed.
        * http/wpt/css/css-pseudo-4/marker-color.html: Removed.
        * http/wpt/css/css-pseudo-4/marker-font-properties-expected.html: Removed.
        * http/wpt/css/css-pseudo-4/marker-font-properties.html: Removed.
        * http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html: Removed.
        * http/wpt/css/css-pseudo-4/marker-inherit-values.html: Removed.

2017-09-14  Ryosuke Niwa  <rniwa@webkit.org>

        iOS: WebKitTestRunner hits an assertion in editing/pasteboard/datatransfer-items-copy-plaintext.html
        https://bugs.webkit.org/show_bug.cgi?id=176968

        Skip this test for now.

        * platform/ios/TestExpectations:

2017-09-14  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: make recording swizzle async
        https://bugs.webkit.org/show_bug.cgi?id=176936

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/recording-2d-expected.txt:

2017-09-14  Matt Lewis  <jlewis3@apple.com>

        Marked svg/animations/smil-leak-element-instances.svg
        https://bugs.webkit.org/show_bug.cgi?id=175886

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-09-14  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Color created from an RGB/HSL triplet returns bad component arrays
        https://bugs.webkit.org/show_bug.cgi?id=176811
        <rdar://problem/34397529>

        Reviewed by Joseph Pecoraro.

        Add tests for Colors constructed from a format and component array.

        * inspector/model/color-expected.txt:
        * inspector/model/color.html:
        Drive-by cleanup: use InspectorTest.expectShallowEqual.

2017-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176920

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-09-14  Ryosuke Niwa  <rniwa@webkit.org>

        Re-enable tests under editing/pasteboard in iOS WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=176890

        Reviewed by Wenson Hsieh.

        These tests were disabled because we used to run multiple layout tests tests in parallel within
        a single instance of iOS simulator, and that caused tests that read from and write to UIPasteboard
        with interfere with one another. This is no longer an issue since we launch a simulator per worker.

        Re-enabled these pasteboard tests under iOS simulator in WebKit2 and rebaselined the tests.
        We're going to triage failures and crashes in WebKit1 separately.

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator/editing/pasteboard/3976872-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/4076267-2-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/4076267-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/4242293-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/4631972-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/4641033-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/8145-2-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/8145-3-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/bad-placeholder-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/image-in-iframe-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-004-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-008-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-009-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-013-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-014-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-016-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-019-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/paste-text-at-tabspan-003-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/pasting-object-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/pasting-tabs-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/quirks-mode-br-1-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/smart-drag-drop-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/smart-paste-007-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/smart-paste-008-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/styled-element-markup-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/undoable-fragment-removes-expected.png: Added.
        * platform/ios-simulator/editing/pasteboard/unrendered-br-expected.png: Added.
        * platform/ios-wk2/editing/pasteboard/3976872-expected.txt:
        * platform/ios-wk2/editing/pasteboard/4076267-2-expected.txt:
        * platform/ios-wk2/editing/pasteboard/4076267-3-expected.txt:
        * platform/ios-wk2/editing/pasteboard/4076267-expected.txt:
        * platform/ios-wk2/editing/pasteboard/4242293-expected.txt:
        * platform/ios-wk2/editing/pasteboard/4631972-expected.txt:
        * platform/ios-wk2/editing/pasteboard/4641033-expected.txt:
        * platform/ios-wk2/editing/pasteboard/8145-2-expected.txt:
        * platform/ios-wk2/editing/pasteboard/8145-3-expected.txt:
        * platform/ios-wk2/editing/pasteboard/bad-placeholder-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-004-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-008-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-009-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-013-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-014-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-016-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-019-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
        * platform/ios-wk2/editing/pasteboard/paste-xml-expected.txt:
        * platform/ios-wk2/editing/pasteboard/pasting-object-expected.txt:
        * platform/ios-wk2/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/ios-wk2/editing/pasteboard/quirks-mode-br-1-expected.txt:
        * platform/ios-wk2/editing/pasteboard/smart-drag-drop-expected.txt:
        * platform/ios-wk2/editing/pasteboard/styled-element-markup-expected.txt:
        * platform/ios-wk2/editing/pasteboard/undoable-fragment-removes-expected.txt:
        * platform/ios-wk2/editing/pasteboard/unrendered-br-expected.txt:
        * platform/ios/TestExpectations:
        * platform/ios/editing/pasteboard/image-in-iframe-expected.txt: Added.

2017-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for El Capitan.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:

2017-09-14  Wenson Hsieh  <wenson_hsieh@apple.com>

        fast/forms/append-children-during-form-submission.html fails due to a text diff on iOS
        https://bugs.webkit.org/show_bug.cgi?id=176908

        Reviewed by Tim Horton.

        Tweak an existing layout test added in r222005 to make its expectation consistent across all platforms.

        * fast/forms/append-children-during-form-submission-expected.txt:
        * fast/forms/append-children-during-form-submission.html:
        * platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Removed.

2017-09-14  Youenn Fablet  <youenn@apple.com>

        RTCDataChannel connectivity issues in Safari 11
        https://bugs.webkit.org/show_bug.cgi?id=173052
        <rdar://problem/32712143>

        Reviewed by Alex Christensen.

        * webrtc/datachannel/binary-expected.txt:
        * webrtc/datachannel/binary.html:

2017-09-14  Antti Koivisto  <antti@apple.com>

        Computing animated style should not require renderers
        https://bugs.webkit.org/show_bug.cgi?id=171926
        <rdar://problem/34428035>

        Reviewed by Sam Weinig.

        * transitions/transition-display-property-2-expected.html: Added.
        * transitions/transition-display-property-2.html: Added.
        * transitions/transition-display-property.html:

2017-09-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timeline should show when events preventDefault() was called on an event or not
        https://bugs.webkit.org/show_bug.cgi?id=176824
        <rdar://problem/34290931>

        Reviewed by Devin Rousso.

        * inspector/timeline/resources/timeline-event-utilities.js: Added.
        (TestPage.registerInitializer.window.captureTimelineWithScript):
        (TestPage.registerInitializer):
        (finishRecording):
        Helper code for creating a recording from a function.

        * inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
        * inspector/timeline/timeline-event-EventDispatch.html: Added.
        Test for Timeline's EventDispatch records. Ensure it has
        the new "defaultPrevented" details data.

2017-09-14  Matt Lewis  <jlewis3@apple.com>

        Fixed typo in expectations.

        Unreviewed test expectations.

        * platform/mac/TestExpectations:

2017-09-14  Matt Lewis  <jlewis3@apple.com>

        Follow up expectations to r222008.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r222015.

        The LayoutTests added with this change are flaky.

        Reverted changeset:

        "Web Inspector: Timeline should show when events
        preventDefault() was called on an event or not"
        https://bugs.webkit.org/show_bug.cgi?id=176824
        http://trac.webkit.org/changeset/222015

2017-09-14  Ms2ger  <Ms2ger@igalia.com>

        Allow passing sequences to various WebGL2 methods.
        https://bugs.webkit.org/show_bug.cgi?id=176892

        Reviewed by Sam Weinig.

        This matches the specification as well as Gecko and Chromium.

        * fast/canvas/webgl/webgl2/sequences-expected.txt: Added.
        * fast/canvas/webgl/webgl2/sequences.html: Added.

2017-09-14  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/forms/append-children-during-form-submission.html for iOS.

        Unreviewed test gardening.

        * platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Added.

2017-09-14  Per Arne Vollan  <pvollan@apple.com>

        Mark svg/as-image/svg-image-with-data-uri-use-data-uri.svg as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176901

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-14  Per Arne Vollan  <pvollan@apple.com>

        Fix typo in entries-api test names.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-14  Ryosuke Niwa  <rniwa@webkit.org>

        Reverted r222014, and added El Capitan specific result for fast/forms/append-children-during-form-submission.html

        * fast/forms/append-children-during-form-submission-expected.txt: Reverted r222014.
        * platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Added.

2017-09-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timeline should show when events preventDefault() was called on an event or not
        https://bugs.webkit.org/show_bug.cgi?id=176824
        <rdar://problem/34290931>

        Reviewed by Devin Rousso.

        * inspector/timeline/resources/timeline-event-utilities.js: Added.
        (TestPage.registerInitializer.window.captureTimelineWithScript):
        (TestPage.registerInitializer):
        (finishRecording):
        Helper code for creating a recording from a function.

        * inspector/timeline/timeline-event-CancelAnimationFrame-expected.txt: Added.
        * inspector/timeline/timeline-event-CancelAnimationFrame.html: Added.
        * inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
        * inspector/timeline/timeline-event-EventDispatch.html: Added.
        * inspector/timeline/timeline-event-FireAnimationFrame-expected.txt: Added.
        * inspector/timeline/timeline-event-FireAnimationFrame.html: Added.
        * inspector/timeline/timeline-event-RequestAnimationFrame-expected.txt: Added.
        * inspector/timeline/timeline-event-RequestAnimationFrame.html: Added.
        * inspector/timeline/timeline-event-TimerFire-expected.txt: Added.
        * inspector/timeline/timeline-event-TimerFire.html: Added.
        * inspector/timeline/timeline-event-TimerInstall-expected.txt: Added.
        * inspector/timeline/timeline-event-TimerInstall.html: Added.
        * inspector/timeline/timeline-event-TimerRemove-expected.txt: Added.
        * inspector/timeline/timeline-event-TimerRemove.html: Added.
        Tests for different, specific, Timeline domain EventTypes.
        This includes EventDispatch with its new "defaultPrevented" details data.

2017-09-14  Ryosuke Niwa  <rniwa@webkit.org>

        Rebaseline a test after r222005.

        * fast/forms/append-children-during-form-submission-expected.txt:

2017-09-13  Ryosuke Niwa  <rniwa@webkit.org>

        Fix a typo in the directory name: editing/pasteboard/enties-api.

        Rubber-stamped by Wenson Hsieh.

        * editing/pasteboard/entries-api: Renamed from LayoutTests/editing/pasteboard/enties-api.
        * platform/win/TestExpectations:
        * platform/wk2/TestExpectations:

2017-09-13  Zalan Bujtas  <zalan@apple.com>

        Switch multicolumn's spanner map from raw over to weak pointers.
        https://bugs.webkit.org/show_bug.cgi?id=176367
        <rdar://problem/34254896>

        Reviewed by Antti Koivisto.

        * fast/multicol/spanner-crash-when-adding-summary-expected.txt: Added.
        * fast/multicol/spanner-crash-when-adding-summary.html: Added.

2017-09-13  John Wilander  <wilander@apple.com>

        Introduce Storage Access API (document parts) as an experimental feature
        https://bugs.webkit.org/show_bug.cgi?id=175759
        <rdar://problem/34414107>

        Reviewed by Alex Christensen.

        Storage Access API is an experimental feature which allows cross-origin,
        sandboxed iframes to request access to their first-party storage (as
        opposed to partitioned storage). This might be restricted to cookies or
        might cover all stateful mechanisms.

        It introduces the following three developer-facing things:
        - A new readonly attribute, document.hasStorageAccess.
        - A new function, document.requestStorageAccess().
        - A new iframe sandbox token, allow-storage-access-by-user-activation.

        * TestExpectations:
        * http/tests/storageAccess: Added.
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html: Added.
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
        * http/tests/storageAccess/request-storage-access-same-origin-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-storage-access-same-origin-iframe.html: Added.
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html: Added.
        * http/tests/storageAccess/request-storage-access-top-frame-expected.txt: Added.
        * http/tests/storageAccess/request-storage-access-top-frame.html: Added.
        * http/tests/storageAccess/resources: Added.
        * http/tests/storageAccess/resources/request-storage-access-iframe.html: Added.
        * platform/mac-wk2/TestExpectations:
            New test cases that require a user gesture marked as [ Pass ].
            Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.
        * platform/wk2/TestExpectations:
            New test case request-storage-access-top-frame.html marked as [ Pass ].

2017-09-13  Wenson Hsieh  <wenson_hsieh@apple.com>

        Submitting a form can cause HTMLFormElement's associated elements vector to be mutated during iteration
        https://bugs.webkit.org/show_bug.cgi?id=176368
        <rdar://problem/34254998>

        Reviewed by Ryosuke Niwa.

        Adds a new test to make sure we don't crash when mutating a form's associated elements during form submission.

        * fast/forms/append-children-during-form-submission-expected.txt: Added.
        * fast/forms/append-children-during-form-submission.html: Added.

2017-09-13  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Event Listeners section does not update when listeners are added/removed
        https://bugs.webkit.org/show_bug.cgi?id=170570
        <rdar://problem/31501645>

        Reviewed by Joseph Pecoraro.

        * inspector/dom/event-listener-add-remove-expected.txt: Added.
        * inspector/dom/event-listener-add-remove.html: Added.

2017-09-13  Per Arne Vollan  <pvollan@apple.com>

        Mark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=176880

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-13  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r221976.

        The test introduced was flaky from point of addition.

        Reverted changeset:

        "Introduce Storage Access API (document parts) as an
        experimental feature"
        https://bugs.webkit.org/show_bug.cgi?id=175759
        http://trac.webkit.org/changeset/221976

2017-09-13  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Followup (r221805): Address comments and add more tests
        https://bugs.webkit.org/show_bug.cgi?id=176732

        Reviewed by Darin Adler.

        * http/tests/images/decode-slow-load-static-image-expected.txt: Added.
        * http/tests/images/decode-slow-load-static-image.html: Added.

2017-09-13  Youenn Fablet  <youenn@apple.com>

        Internals clearCacheStorageMemoryRepresentation should return a Promise
        https://bugs.webkit.org/show_bug.cgi?id=176818

        Reviewed by Alex Christensen.

        Updating tests to interact with the caches after the clearCacheStorageMemoryRepresentation promise is completed.

        * http/tests/cache-storage/cache-origins.https.html:
        * http/tests/cache-storage/cache-persistency.https.html:

2017-09-13  Matt Lewis  <jlewis3@apple.com>

        Fixed expectations of imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-09-13  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Frontend should be made to expect and handle disabled properties
        https://bugs.webkit.org/show_bug.cgi?id=166787
        <rdar://problem/34379593>

        Reviewed by Joseph Pecoraro.

        Add test cases for disabled (commented out) CSS properties.

        * inspector/css/css-property-expected.txt:
        * inspector/css/css-property.html:
        Add test cases for previously untested `enabled` and newly added `attached` getters.

        * inspector/css/matched-style-properties.html:

2017-09-13  Alicia Boya García  <aboya@igalia.com>

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=176871

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations:

2017-09-13  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline http/tests/loading/state-object-security-exception.html after r221978.
        https://bugs.webkit.org/show_bug.cgi?id=176730

        Unreviewed test gardening.

        * http/tests/loading/state-object-security-exception-expected.txt:

2017-09-13  Matt Lewis  <jlewis3@apple.com>

        Followup rebaseline after r221973.

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2017-09-13  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=176866

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-13  Matt Lewis  <jlewis3@apple.com>

        Marked svg/animations/smil-leak-dynamically-added-element-instances.svg as flaky on macOS WK1.
        https://bugs.webkit.org/show_bug.cgi?id=175867

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-09-13  Daniel Bates  <dabates@apple.com>

        Make history.pushState()/replaceState() more closely aligned to the HTML standard
        https://bugs.webkit.org/show_bug.cgi?id=176730
        <rdar://problem/33839265>

        Reviewed by Alex Christensen.

        * http/tests/security/history-pushState-replaceState-from-sandboxed-iframe-expected.txt: Added.
        * http/tests/security/history-pushState-replaceState-from-sandboxed-iframe.html: Added.
        * http/tests/security/history-username-password-expected.txt:
        * http/tests/security/history-username-password.html:
        * http/tests/security/resources/history-pushState-replaceState-from-sandboxed-iframe.html: Added.

2017-09-13  John Wilander  <wilander@apple.com>

        Introduce Storage Access API (document parts) as an experimental feature
        https://bugs.webkit.org/show_bug.cgi?id=175759
        <rdar://problem/33666847>

        Reviewed by Alex Christensen.

        Storage Access API is an experimental feature which allows cross-origin,
        sandboxed iframes to request access to their first-party storage (as
        opposed to partitioned storage). This might be restricted to cookies or
        might cover all stateful mechanisms.

        It introduces the following three developer-facing things:
        - A new readonly attribute, document.hasStorageAccess.
        - A new function, document.requestStorageAccess().
        - A new iframe sandbox token, allow-storage-access-by-user-activation.

        * http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe.html: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame.html: Added.
        * http/tests/loading/resourceLoadStatistics/resources/request-storage-access-iframe.html: Added.
        * platform/mac-wk2/TestExpectations:
            New test cases that require a user gesture marked as [ Pass ].
            Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.
        * platform/wk2/TestExpectations:
            New test case request-storage-access-top-frame.html marked as [ Pass ].

2017-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        [HarfBuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition in some cases
        https://bugs.webkit.org/show_bug.cgi?id=176848

        Reviewed by Michael Catanzaro.

        Rebaseline several tests where we are now getting results similar to the mac ones.

        * platform/gtk/editing/execCommand/findString-2-expected.txt:
        * platform/gtk/editing/selection/14971-expected.png:
        * platform/gtk/editing/selection/14971-expected.txt:
        * platform/gtk/editing/selection/4895428-2-expected.png:
        * platform/gtk/editing/selection/4895428-2-expected.txt:
        * platform/gtk/editing/selection/5232159-expected.png:
        * platform/gtk/editing/selection/5232159-expected.txt:
        * platform/gtk/editing/selection/collapse-selection-in-bidi-expected.txt:
        * platform/gtk/editing/selection/drag-select-1-expected.png:
        * platform/gtk/editing/selection/drag-select-1-expected.txt:
        * platform/gtk/editing/selection/editable-links-expected.png:
        * platform/gtk/editing/selection/editable-links-expected.txt:
        * platform/gtk/editing/selection/fake-doubleclick-expected.txt:
        * platform/gtk/editing/selection/fake-drag-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-1-expected.png:
        * platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-2-expected.png:
        * platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-3-expected.png:
        * platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-4-expected.png:
        * platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt:
        * platform/gtk/editing/selection/select-across-readonly-input-5-expected.png:
        * platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
        * platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
        * platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.png:
        * platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt:
        * platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
        * platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
        * platform/gtk/fast/repaint/selection-rl-expected.png:
        * platform/gtk/fast/repaint/selection-rl-expected.txt:
        * platform/gtk/fast/text/atsui-rtl-override-selection-expected.png:
        * platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
        * platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
        * platform/gtk/svg/custom/foreignObject-crash-on-hover-expected.txt:
        * platform/gtk/svg/text/select-text-svgfont-expected.txt: Removed.
        * platform/gtk/transitions/svg-text-shadow-transition-expected.png:
        * platform/gtk/transitions/svg-text-shadow-transition-expected.txt:

2017-09-13  Matt Lewis  <jlewis3@apple.com>

        Rebaseline of js/dom/global-constructors-attributes.html.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-sierra-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2017-09-13  Sam Weinig  <sam@webkit.org>

        Remove CanvasRenderingContext2D.commit(), it is a no-op and not part the standard
        https://bugs.webkit.org/show_bug.cgi?id=176821

        Reviewed by Darin Adler.

        * fast/canvas/commit-expected.txt: Removed.
        * fast/canvas/commit.html: Removed.
        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:
        
            Remove CanvasRenderingContext2D.commit() from test and update result.

2017-09-13  Ms2ger  <Ms2ger@igalia.com>

        Disallow passing null values to various WebGL2 methods.
        https://bugs.webkit.org/show_bug.cgi?id=176829

        Reviewed by Yusuke Suzuki.

        This matches the specification as well as Gecko and Chromium.

        * fast/canvas/webgl/webgl2/bindings-expected.txt:
        * fast/canvas/webgl/webgl2/bindings.html:

2017-09-13  Sergio Villar Senin  <svillar@igalia.com>

        [WebVR] Add IDLs and stubs
        https://bugs.webkit.org/show_bug.cgi?id=174202

        Reviewed by Dean Jackson.

        New tests to verify that WebVR is properly enabled/disabled at runtime.

        * webvr/webvr-disabled-expected.txt: Added.
        * webvr/webvr-disabled.html: Added.
        * webvr/webvr-enabled-expected.txt: Added.
        * webvr/webvr-enabled.html: Added.

2017-09-13  Ms2ger  <Ms2ger@igalia.com>

        Update the type of the texture argument to framebufferTextureLayer().
        https://bugs.webkit.org/show_bug.cgi?id=176785

        Reviewed by Yusuke Suzuki.

        This matches the specification as well as Gecko and Chromium.

        * fast/canvas/webgl/webgl2/bindings-expected.txt:
        * fast/canvas/webgl/webgl2/bindings.html:

2017-09-13  Zan Dobersek  <zdobersek@igalia.com>

        [EME] Implement CDMInstanceClearKey::updateLicense()
        https://bugs.webkit.org/show_bug.cgi?id=176791

        Reviewed by Xabier Rodriguez-Calvar.

        Update WPE baselines of the EME ClearKey tests.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:

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

        [WPE] Rebaseline tests affected by r221909 (second part)
        https://bugs.webkit.org/show_bug.cgi?id=176819

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations:
        * platform/wpe/animations/lineheight-animation-expected.txt: Added.
        * platform/wpe/animations/simultaneous-start-transform-expected.txt: Added.
        * platform/wpe/animations/width-using-ems-expected.txt: Added.
        * platform/wpe/css2.1/t1508-c527-font-04-b-expected.txt: Added.
        * platform/wpe/css2.1/t1508-c527-font-05-b-expected.txt: Added.
        * platform/wpe/css2.1/t1508-c527-font-07-b-expected.txt: Added.
        * platform/wpe/css2.1/t1508-c527-font-10-c-expected.txt: Added.
        * platform/wpe/fast/events/mouseover-mouseout-expected.txt: Added.
        * platform/wpe/fast/events/nested-window-event-expected.txt: Added.
        * platform/wpe/fast/events/window-events-bubble-expected.txt: Added.
        * platform/wpe/fast/events/window-events-bubble2-expected.txt: Added.
        * platform/wpe/fast/tokenizer/script_extra_close-expected.txt: Added.
        * platform/wpe/tables/mozilla/bugs/bug149275-2-expected.txt: Added.
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:

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

        [WPE] Rebaseline tests affected by r221909
        https://bugs.webkit.org/show_bug.cgi?id=176819

        Unreviewed WPE gardening.

        * platform/wpe/animations/3d/matrix-transform-type-animation-expected.txt:
        * platform/wpe/animations/cross-fade-border-image-source-expected.txt:
        * platform/wpe/animations/cross-fade-list-style-image-expected.txt:
        * platform/wpe/animations/cross-fade-webkit-mask-box-image-expected.txt:
        * platform/wpe/animations/missing-values-first-keyframe-expected.txt:
        * platform/wpe/animations/missing-values-last-keyframe-expected.txt:
        * platform/wpe/css1/basic/containment-expected.txt:
        * platform/wpe/css1/basic/contextual_selectors-expected.txt:
        * platform/wpe/css1/basic/grouping-expected.txt:
        * platform/wpe/css1/basic/id_as_selector-expected.txt:
        * platform/wpe/css1/basic/inheritance-expected.txt:
        * platform/wpe/css1/box_properties/border-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_width-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_color-expected.txt:
        * platform/wpe/css1/box_properties/border_color_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_left-expected.txt:
        * platform/wpe/css1/box_properties/border_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_left_width-expected.txt:
        * platform/wpe/css1/box_properties/border_left_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_right-expected.txt:
        * platform/wpe/css1/box_properties/border_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_right_width-expected.txt:
        * platform/wpe/css1/box_properties/border_right_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_style-expected.txt:
        * platform/wpe/css1/box_properties/border_style_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_top-expected.txt:
        * platform/wpe/css1/box_properties/border_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_top_width-expected.txt:
        * platform/wpe/css1/box_properties/border_top_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_width-expected.txt:
        * platform/wpe/css1/box_properties/border_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/clear-expected.txt:
        * platform/wpe/css1/box_properties/clear_float-expected.txt:
        * platform/wpe/css1/box_properties/float-expected.txt:
        * platform/wpe/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/wpe/css1/box_properties/float_margin-expected.txt:
        * platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/wpe/css1/box_properties/height-expected.txt:
        * platform/wpe/css1/box_properties/margin-expected.txt:
        * platform/wpe/css1/box_properties/margin_bottom-expected.txt:
        * platform/wpe/css1/box_properties/margin_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_left-expected.txt:
        * platform/wpe/css1/box_properties/margin_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_right-expected.txt:
        * platform/wpe/css1/box_properties/margin_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_top-expected.txt:
        * platform/wpe/css1/box_properties/margin_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding-expected.txt:
        * platform/wpe/css1/box_properties/padding_bottom-expected.txt:
        * platform/wpe/css1/box_properties/padding_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_left-expected.txt:
        * platform/wpe/css1/box_properties/padding_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_right-expected.txt:
        * platform/wpe/css1/box_properties/padding_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_top-expected.txt:
        * platform/wpe/css1/box_properties/padding_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/width-expected.txt:
        * platform/wpe/css1/cascade/cascade_order-expected.txt:
        * platform/wpe/css1/cascade/important-expected.txt:
        * platform/wpe/css1/classification/display-expected.txt:
        * platform/wpe/css1/classification/list_style-expected.txt:
        * platform/wpe/css1/classification/list_style_image-expected.txt:
        * platform/wpe/css1/classification/list_style_position-expected.txt:
        * platform/wpe/css1/classification/list_style_type-expected.txt:
        * platform/wpe/css1/classification/white_space-expected.txt:
        * platform/wpe/css1/color_and_background/background-expected.txt:
        * platform/wpe/css1/color_and_background/background_attachment-expected.txt:
        * platform/wpe/css1/color_and_background/background_color-expected.txt:
        * platform/wpe/css1/color_and_background/background_image-expected.txt:
        * platform/wpe/css1/color_and_background/background_position-expected.txt:
        * platform/wpe/css1/color_and_background/background_repeat-expected.txt:
        * platform/wpe/css1/color_and_background/color-expected.txt:
        * platform/wpe/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/wpe/css1/font_properties/font-expected.txt:
        * platform/wpe/css1/font_properties/font_family-expected.txt:
        * platform/wpe/css1/font_properties/font_size-expected.txt:
        * platform/wpe/css1/font_properties/font_style-expected.txt:
        * platform/wpe/css1/font_properties/font_variant-expected.txt:
        * platform/wpe/css1/font_properties/font_weight-expected.txt:
        * platform/wpe/css1/formatting_model/canvas-expected.txt:
        * platform/wpe/css1/formatting_model/floating_elements-expected.txt:
        * platform/wpe/css1/formatting_model/height_of_lines-expected.txt:
        * platform/wpe/css1/formatting_model/inline_elements-expected.txt:
        * platform/wpe/css1/formatting_model/replaced_elements-expected.txt:
        * platform/wpe/css1/formatting_model/vertical_formatting-expected.txt:
        * platform/wpe/css1/pseudo/anchor-expected.txt:
        * platform/wpe/css1/pseudo/firstletter-expected.txt:
        * platform/wpe/css1/pseudo/firstline-expected.txt:
        * platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/wpe/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * platform/wpe/css1/text_properties/letter_spacing-expected.txt:
        * platform/wpe/css1/text_properties/line_height-expected.txt:
        * platform/wpe/css1/text_properties/text_align-expected.txt:
        * platform/wpe/css1/text_properties/text_decoration-expected.txt:
        * platform/wpe/css1/text_properties/text_indent-expected.txt:
        * platform/wpe/css1/text_properties/text_transform-expected.txt:
        * platform/wpe/css1/text_properties/vertical_align-expected.txt:
        * platform/wpe/css1/text_properties/word_spacing-expected.txt:
        * platform/wpe/css1/units/color_units-expected.txt:
        * platform/wpe/css1/units/length_units-expected.txt:
        * platform/wpe/css1/units/percentage_units-expected.txt:
        * platform/wpe/css1/units/urls-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-013-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-014-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-015-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-016-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-014-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-016-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-017-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-018-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-019-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-021-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-022-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-023-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-024-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-025-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-026-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-028-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-029-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-030-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-031-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-032-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-033-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-035-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-013-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-015-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-020-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-022-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-027-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-029-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-034-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-036-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-041-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-043-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-048-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-050-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-055-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-057-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-062-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-064-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-069-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-071-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-076-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-013-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-014-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-015-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-016-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/wpe/css2.1/20110323/border-conflict-style-088-expected.txt:
        * platform/wpe/css2.1/20110323/border-spacing-applies-to-015-expected.txt:
        * platform/wpe/css2.1/20110323/c543-txt-decor-000-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-001-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-002-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/height-width-inline-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/height-width-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/inline-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-001-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-002-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-003-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-004-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-005-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-006-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-007-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-008-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-009-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-010-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-012-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-013-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-014-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-015-expected.txt:
        * platform/wpe/css2.1/20110323/outline-color-applies-to-008-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-002-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-horizontal-alignment-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-optional-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-optional-002-expected.txt:
        * platform/wpe/css2.1/20110323/table-height-algorithm-023-expected.txt:
        * platform/wpe/css2.1/20110323/table-height-algorithm-024-expected.txt:
        * platform/wpe/css2.1/20110323/width-non-replaced-inline-001-expected.txt:
        * platform/wpe/css2.1/20110323/width-replaced-element-001-expected.txt:
        * platform/wpe/css2.1/t040102-keywords-01-b-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-01-f-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-02-f-expected.txt:
        * platform/wpe/css2.1/t051201-c23-first-line-00-b-expected.txt:
        * platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/wpe/css2.1/t0602-c13-inheritance-00-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5519-brdr-r-02-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5521-brdr-l-02-e-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-04-c-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-00-d-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-01-b-expected.txt:
        * platform/wpe/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
        * platform/wpe/css2.1/t1202-counter-00-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-01-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-02-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-03-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-04-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-05-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-06-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-16-f-expected.txt:
        * platform/wpe/css2.1/t1202-counters-00-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-01-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-02-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-03-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-04-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-05-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-06-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-18-f-expected.txt:
        * platform/wpe/css2.1/t1204-order-00-c-expected.txt:
        * platform/wpe/css2.1/t1204-order-01-d-expected.txt:
        * platform/wpe/css2.1/t120401-scope-00-b-expected.txt:
        * platform/wpe/css2.1/t120401-scope-01-c-expected.txt:
        * platform/wpe/css2.1/t1205-c565-list-pos-00-b-expected.txt:
        * platform/wpe/css2.1/t1507-c526-font-sz-00-b-expected.txt:
        * platform/wpe/css2.1/t1508-c527-font-00-b-expected.txt:
        * platform/wpe/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
        * platform/wpe/css3/css3-modsel-35-expected.txt:
        * platform/wpe/css3/css3-modsel-37-expected.txt:
        * platform/wpe/css3/flexbox/button-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-113-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-113b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-114-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-114b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-119-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-121-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-122-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-123-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-139-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-139b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-140-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-140b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-47-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-48-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-49-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-113-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-113b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-114-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-114b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-119-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-121-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-122-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-123-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-139-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-139b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-140-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-140b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-47-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-48-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-49-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/wpe/fast/dom/Element/class-attribute-whitespace-expected.txt:
        * platform/wpe/fast/dom/HTMLDocument/frameless-location-bugzilla10837-expected.txt:
        * platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
        * platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
        * platform/wpe/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
        * platform/wpe/fast/dom/HTMLTableElement/colSpan-expected.txt:
        * platform/wpe/fast/dom/HTMLTableElement/createCaption-expected.txt:
        * platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/wpe/fast/dom/Range/create-contextual-fragment-expected.txt:
        * platform/wpe/fast/dynamic/007-expected.txt:
        * platform/wpe/fast/dynamic/011-expected.txt:
        * platform/wpe/fast/dynamic/012-expected.txt:
        * platform/wpe/fast/dynamic/014-expected.txt:
        * platform/wpe/fast/dynamic/015-expected.txt:
        * platform/wpe/fast/dynamic/anchor-lock-expected.txt:
        * platform/wpe/fast/dynamic/anonymous-block-orphaned-lines-expected.txt:
        * platform/wpe/fast/dynamic/containing-block-change-expected.txt:
        * platform/wpe/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
        * platform/wpe/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
        * platform/wpe/fast/dynamic/float-withdrawal-expected.txt:
        * platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/wpe/fast/dynamic/noninlinebadness-expected.txt:
        * platform/wpe/fast/dynamic/outerHTML-doc-expected.txt:
        * platform/wpe/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
        * platform/wpe/fast/dynamic/selection-highlight-adjust-expected.txt:
        * platform/wpe/fast/dynamic/staticY-marking-parents-regression-expected.txt:
        * platform/wpe/fast/dynamic/view-overflow-expected.txt:
        * platform/wpe/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/wpe/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/wpe/fast/encoding/xmacroman-encoding-test-expected.txt:
        * platform/wpe/fast/events/pointer-events-2-expected.txt:
        * platform/wpe/fast/events/resize-events-expected.txt:
        * platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
        * platform/wpe/fast/gradients/crash-on-zero-radius-expected.txt:
        * platform/wpe/fast/gradients/list-item-gradient-expected.txt:
        * platform/wpe/fast/gradients/radial-centered-expected.txt:
        * platform/wpe/fast/parser/001-expected.txt:
        * platform/wpe/fast/parser/entity-comment-in-style-expected.txt:
        * platform/wpe/fast/parser/nofoo-tags-inside-paragraph-expected.txt:
        * platform/wpe/fast/parser/open-comment-in-style-expected.txt:
        * platform/wpe/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/wpe/fast/parser/xhtml-alternate-entities-expected.txt:
        * platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
        * platform/wpe/fast/transforms/diamond-expected.txt:
        * platform/wpe/fast/transforms/transform-overflow-expected.txt:
        * platform/wpe/fast/transforms/transform-positioned-ancestor-expected.txt:
        * platform/wpe/fast/transforms/transform-table-row-expected.txt:
        * platform/wpe/fast/transforms/transforms-with-zoom-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc-cyr-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc16-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc16to16-expected.txt:
        * platform/wpe/fast/xsl/xslt-entity-expected.txt:
        * platform/wpe/fast/xsl/xslt-extra-content-at-end-expected.txt:
        * platform/wpe/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
        * platform/wpe/fast/xsl/xslt-relative-path-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-border-box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-applies-to-block-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_color_padding_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-010-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-017-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-not-inherited-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/color-behind-images-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/order-of-images-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-001-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-002-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-003-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-005-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-006-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-007-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-008-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-009-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-010-expected.txt:
        * platform/wpe/tables/layering/paint-test-layering-1-expected.txt:
        * platform/wpe/tables/layering/paint-test-layering-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/45621-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10269-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10269-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10296-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106158-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106158-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug109043-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1163-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug11944-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1224-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug133756-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug139524-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug14929-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug157890-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug16252-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17130-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17130-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17587-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18664-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18955-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19356-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug20579-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2065-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug20804-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2123-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug220536-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-2a-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-3a-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23235-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23299-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug24627-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2469-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2509-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug25663-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2585-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27038-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27038-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2886-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2886-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29058-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29157-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29326-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2981-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2997-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30273-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30332-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30332-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32205-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32447-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3260-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug34538-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3454-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3977-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug42187-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43039-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43854-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug44523-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4501-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45055-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45055-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4576-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46480-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46480-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46623-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug48028-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4803-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5188-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5538-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug57828-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5835-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug58402-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6184-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6304-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6404-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6674-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69187-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69382-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69382-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7112-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7112-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug73321-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug80762-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug82946-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug82946-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8858-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug93363-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug965-expected.txt:
        * platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
        * platform/wpe/tables/mozilla/core/borders-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
        * platform/wpe/tables/mozilla/core/margins-expected.txt:
        * platform/wpe/tables/mozilla/core/one_row-expected.txt:
        * platform/wpe/tables/mozilla/core/row_span-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendCol2-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendRowsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsExpand2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertRowsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/body_tfoot-expected.txt:
        * platform/wpe/tables/mozilla/marvin/col_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_width_px-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_rules_all-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/other/ms-expected.txt:
        * platform/wpe/tables/mozilla/other/nested2-expected.txt:
        * platform/wpe/tables/mozilla/other/test3-expected.txt:
        * platform/wpe/tables/mozilla/other/test6-expected.txt:
        * platform/wpe/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug42043-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions3-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/cols1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/standards1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
        * platform/wpe/transforms/2d/compound-transforms-vs-containers-expected.txt:
        * platform/wpe/transforms/2d/transform-borderbox-expected.txt:
        * platform/wpe/transforms/2d/transform-fixed-container-expected.txt:
        * platform/wpe/transforms/2d/transform-origin-borderbox-expected.txt:
        * platform/wpe/transforms/3d/hit-testing/backface-hit-test-expected.txt:
        * platform/wpe/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:

2017-09-12  Myles C. Maxfield  <mmaxfield@apple.com>

        Unskip fast/text/system-font-synthetic-italic.html
        https://bugs.webkit.org/show_bug.cgi?id=175944
        <rdar://problem/32864306>

        Reviewed by Jon Lee.

        * platform/mac-highsierra/TestExpectations:

2017-09-12  Michael Saboff  <msaboff@apple.com>

        String.prototype.replace() puts extra '<' in result when a named capture reference is used without named captures in the RegExp
        https://bugs.webkit.org/show_bug.cgi?id=176814

        Reviewed by Mark Lam.

        New regression test case.

        * js/regexp-named-capture-groups-expected.txt:
        * js/script-tests/regexp-named-capture-groups.js:

2017-09-12  Myles C. Maxfield  <mmaxfield@apple.com>

        ASSERTION FAILED: !m_valueOrException under FontFaceSet::completedLoading loading a Serious Eats page
        https://bugs.webkit.org/show_bug.cgi?id=175899

        Reviewed by Tim Horton.

        * fast/text/document-fonts-while-loading-crash-expected.txt: Added.
        * fast/text/document-fonts-while-loading-crash.html: Added.

2017-09-12  Ryosuke Niwa  <rniwa@webkit.org>

        Dragging & dropping a file creates an attachment element even when it's disabled
        https://bugs.webkit.org/show_bug.cgi?id=176769

        Reviewed by Tim Horton.

        Updated the existing attachment element tests to use the newly added webkitt-test-runner flag,
        and added a new test (drag-files-to-editable-element-as-URLs.html) to make sure we don't create
        an attachment element when dropping a file. 

        * editing/pasteboard/copy-paste-attachment-expected.txt:
        * editing/pasteboard/copy-paste-attachment.html:
        * editing/pasteboard/drag-files-to-editable-element-as-URLs-expected.txt: Added.
        * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: Copied from
        drag-files-to-editable-element.html.
        * editing/pasteboard/drag-files-to-editable-element-as-attachment-expected.txt: Renamed from
        drag-files-to-editable-element-expected.txt.
        * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: Renamed from
        drag-files-to-editable-element.html.
        * editing/pasteboard/drag-files-to-editable-element-expected.txt: Removed.
        * editing/pasteboard/drag-files-to-editable-element.html: Removed.
        * fast/attachment/attachment-action-expected.html:
        * fast/attachment/attachment-action.html:
        * fast/attachment/attachment-borderless-expected-mismatch.html:
        * fast/attachment/attachment-borderless.html:
        * fast/attachment/attachment-default-icon-expected.html:
        * fast/attachment/attachment-default-icon.html:
        * fast/attachment/attachment-dom.html:
        * fast/attachment/attachment-folder-icon-expected.html:
        * fast/attachment/attachment-folder-icon.html:
        * fast/attachment/attachment-icon-from-file-extension-expected.html:
        * fast/attachment/attachment-icon-from-file-extension.html:
        * fast/attachment/attachment-label-highlight.html:
        * fast/attachment/attachment-progress.html:
        * fast/attachment/attachment-rendering.html:
        * fast/attachment/attachment-respects-css-size.html:
        * fast/attachment/attachment-select-on-click-inside-user-select-all.html:
        * fast/attachment/attachment-select-on-click.html:
        * fast/attachment/attachment-subtitle-resize.html:
        * fast/attachment/attachment-subtitle.html:
        * fast/attachment/attachment-title.html:
        * fast/attachment/attachment-type-attribute-expected.html:
        * fast/attachment/attachment-type-attribute.html:
        * fast/attachment/attachment-uti-expected.html:
        * fast/attachment/attachment-uti.html:
        * fast/attachment/attachment-wrapping-action-expected-mismatch.html:
        * fast/attachment/attachment-wrapping-action.html:
        * platform/gtk/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wk2/TestExpectations:

2017-09-12  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed, update crash expectations after r221925

        * platform/gtk/TestExpectations:

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

        [WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
        https://bugs.webkit.org/show_bug.cgi?id=176771
        <rdar://problem/34386621>

        Reviewed by Antoine Quint.

        Tweak this test to make sure it does something different from
        the code in WebCore to render a video into a texture, thus
        ensuring that we're testing state is correctly restored.

        * fast/canvas/webgl/texImage2D-video-flipY-true.html:

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

        [WebGL] accelerated texImage2D for video doesn't respect flipY
        https://bugs.webkit.org/show_bug.cgi?id=176491
        <rdar://problem/33833511>

        Reviewed by Jer Noble.

        (Take 2 - this was rolled out due to a test failure, but the following
        commit will fix that)

        Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
        path.

        * fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
        * fast/canvas/webgl/resources/orientation-normal.mp4: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
        * platform/ios/TestExpectations:

2017-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        Remove duplicated test results from LayoutTest platform directories
        https://bugs.webkit.org/show_bug.cgi?id=176686

        Reviewed by Michael Catanzaro.

        Remove duplicated results found by Tools/Scripts/check-for-duplicated-platform-test-results.

2017-09-12  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html as flaky on debug macOS and release iOS.
        https://bugs.webkit.org/show_bug.cgi?id=172052

        Unreviewed test gardening.

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-09-12  Chris Fleizach  <cfleizach@apple.com>

        AX: On generic container elements, WebKit should distinguish between tooltip (e.g. @title) and label (e.g. @aria-label) attributes
        https://bugs.webkit.org/show_bug.cgi?id=170475
        <rdar://problem/31439222>

        Reviewed by Joanmarie Diggs.

        * accessibility/title-tag-on-unimportant-elements-is-help-text-expected.txt: Added.
        * accessibility/title-tag-on-unimportant-elements-is-help-text.html: Added.

2017-09-12  Ms2ger  <Ms2ger@igalia.com>

        Disallow passing null data to uniform1uiv() and friends.
        https://bugs.webkit.org/show_bug.cgi?id=176777

        Reviewed by Sam Weinig.

        This matches the specification as well as Gecko and Chromium.

        * fast/canvas/webgl/webgl2/bindings-expected.txt: Added.
        * fast/canvas/webgl/webgl2/bindings.html: Added.
        * platform/gtk/TestExpectations: disable test.

2017-09-12  Zan Dobersek  <zdobersek@igalia.com>

        [EME] Implement CDMInstanceClearKey::requestLicense()
        https://bugs.webkit.org/show_bug.cgi?id=176773

        Reviewed by Xabier Rodriguez-Calvar.

        Update WPE baselines of the EME ClearKey tests.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt:

2017-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r221909. Part 2.

2017-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r221909. Part 1.

2017-09-11  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r221762.

        This change caused flakiness in a webgl LayoutTest.

        Reverted changeset:

        "[WebGL] accelerated texImage2D for video doesn't respect
        flipY"
        https://bugs.webkit.org/show_bug.cgi?id=176491
        http://trac.webkit.org/changeset/221762

2017-09-11  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed layout test gardening

        * TestExpectations:
        * http/tests/fetch/fetching-same-resource-with-different-options-expected.txt: Renamed from LayoutTests/http/tests/fetch/fetching-same-resource-with-diffferent-options-expected.txt.
        * http/tests/fetch/fetching-same-resource-with-different-options.html: Renamed from LayoutTests/http/tests/fetch/fetching-same-resource-with-diffferent-options.html.
        * platform/gtk/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/win/TestExpectations:

2017-09-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Cleanup and test MIMETypeUtilities
        https://bugs.webkit.org/show_bug.cgi?id=176731

        Reviewed by Matt Baker.

        * inspector/unit-tests/mimetype-utilities-expected.txt: Added.
        * inspector/unit-tests/mimetype-utilities.html: Added.

2017-09-11  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] aria-autocomplete not exposed on comboboxes
        https://bugs.webkit.org/show_bug.cgi?id=176724

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-autocomplete-expected.txt: Updated for new test cases
        * accessibility/gtk/aria-autocomplete.html: New test cases for combobox added

2017-09-11  Zan Dobersek  <zdobersek@igalia.com>

        [EME] ClearKey: implement CDMInstanceClearKey state modifiers, callback dispatches
        https://bugs.webkit.org/show_bug.cgi?id=176687

        Reviewed by Xabier Rodriguez-Calvar.

        Update layout test baselines for ClearKey tests.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-at-same-time-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-different-mediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-to-multiple-video-elements-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt:

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

        [WPE] Bump freetype version to 2.8.0
        https://bugs.webkit.org/show_bug.cgi?id=176501

        Unreviewed WPE gardening.

        Rebaseline affected tests by freetype version bump.

        * platform/wpe/animations/3d/change-transform-in-end-event-expected.txt:
        * platform/wpe/animations/3d/matrix-transform-type-animation-expected.txt:
        * platform/wpe/animations/3d/state-at-end-event-transform-expected.txt:
        * platform/wpe/animations/additive-transform-animations-expected.txt:
        * platform/wpe/animations/cross-fade-border-image-source-expected.txt:
        * platform/wpe/animations/cross-fade-list-style-image-expected.txt:
        * platform/wpe/animations/cross-fade-webkit-mask-box-image-expected.txt:
        * platform/wpe/animations/missing-values-first-keyframe-expected.txt:
        * platform/wpe/animations/missing-values-last-keyframe-expected.txt:
        * platform/wpe/animations/state-at-end-event-expected.txt:
        * platform/wpe/css1/basic/containment-expected.txt:
        * platform/wpe/css1/basic/contextual_selectors-expected.txt:
        * platform/wpe/css1/basic/grouping-expected.txt:
        * platform/wpe/css1/basic/id_as_selector-expected.txt:
        * platform/wpe/css1/basic/inheritance-expected.txt:
        * platform/wpe/css1/box_properties/border-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_width-expected.txt:
        * platform/wpe/css1/box_properties/border_bottom_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_color-expected.txt:
        * platform/wpe/css1/box_properties/border_color_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_left-expected.txt:
        * platform/wpe/css1/box_properties/border_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_left_width-expected.txt:
        * platform/wpe/css1/box_properties/border_left_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_right-expected.txt:
        * platform/wpe/css1/box_properties/border_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_right_width-expected.txt:
        * platform/wpe/css1/box_properties/border_right_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_style-expected.txt:
        * platform/wpe/css1/box_properties/border_style_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_top-expected.txt:
        * platform/wpe/css1/box_properties/border_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_top_width-expected.txt:
        * platform/wpe/css1/box_properties/border_top_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/border_width-expected.txt:
        * platform/wpe/css1/box_properties/border_width_inline-expected.txt:
        * platform/wpe/css1/box_properties/clear-expected.txt:
        * platform/wpe/css1/box_properties/clear_float-expected.txt:
        * platform/wpe/css1/box_properties/float-expected.txt:
        * platform/wpe/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/wpe/css1/box_properties/float_margin-expected.txt:
        * platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
        * platform/wpe/css1/box_properties/height-expected.txt:
        * platform/wpe/css1/box_properties/margin-expected.txt:
        * platform/wpe/css1/box_properties/margin_bottom-expected.txt:
        * platform/wpe/css1/box_properties/margin_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_left-expected.txt:
        * platform/wpe/css1/box_properties/margin_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_right-expected.txt:
        * platform/wpe/css1/box_properties/margin_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/margin_top-expected.txt:
        * platform/wpe/css1/box_properties/margin_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding-expected.txt:
        * platform/wpe/css1/box_properties/padding_bottom-expected.txt:
        * platform/wpe/css1/box_properties/padding_bottom_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_left-expected.txt:
        * platform/wpe/css1/box_properties/padding_left_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_right-expected.txt:
        * platform/wpe/css1/box_properties/padding_right_inline-expected.txt:
        * platform/wpe/css1/box_properties/padding_top-expected.txt:
        * platform/wpe/css1/box_properties/padding_top_inline-expected.txt:
        * platform/wpe/css1/box_properties/width-expected.txt:
        * platform/wpe/css1/cascade/cascade_order-expected.txt:
        * platform/wpe/css1/cascade/important-expected.txt:
        * platform/wpe/css1/classification/display-expected.txt:
        * platform/wpe/css1/classification/list_style-expected.txt:
        * platform/wpe/css1/classification/list_style_image-expected.txt:
        * platform/wpe/css1/classification/list_style_position-expected.txt:
        * platform/wpe/css1/classification/list_style_type-expected.txt:
        * platform/wpe/css1/classification/white_space-expected.txt:
        * platform/wpe/css1/color_and_background/background-expected.txt:
        * platform/wpe/css1/color_and_background/background_attachment-expected.txt:
        * platform/wpe/css1/color_and_background/background_color-expected.txt:
        * platform/wpe/css1/color_and_background/background_image-expected.txt:
        * platform/wpe/css1/color_and_background/background_position-expected.txt:
        * platform/wpe/css1/color_and_background/background_repeat-expected.txt:
        * platform/wpe/css1/color_and_background/color-expected.txt:
        * platform/wpe/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/wpe/css1/font_properties/font-expected.txt:
        * platform/wpe/css1/font_properties/font_family-expected.txt:
        * platform/wpe/css1/font_properties/font_size-expected.txt:
        * platform/wpe/css1/font_properties/font_style-expected.txt:
        * platform/wpe/css1/font_properties/font_variant-expected.txt:
        * platform/wpe/css1/font_properties/font_weight-expected.txt:
        * platform/wpe/css1/formatting_model/canvas-expected.txt:
        * platform/wpe/css1/formatting_model/floating_elements-expected.txt:
        * platform/wpe/css1/formatting_model/height_of_lines-expected.txt:
        * platform/wpe/css1/formatting_model/horizontal_formatting-expected.txt:
        * platform/wpe/css1/formatting_model/inline_elements-expected.txt:
        * platform/wpe/css1/formatting_model/replaced_elements-expected.txt:
        * platform/wpe/css1/formatting_model/vertical_formatting-expected.txt:
        * platform/wpe/css1/pseudo/anchor-expected.txt:
        * platform/wpe/css1/pseudo/firstletter-expected.txt:
        * platform/wpe/css1/pseudo/firstline-expected.txt:
        * platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * platform/wpe/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * platform/wpe/css1/text_properties/letter_spacing-expected.txt:
        * platform/wpe/css1/text_properties/line_height-expected.txt:
        * platform/wpe/css1/text_properties/text_align-expected.txt:
        * platform/wpe/css1/text_properties/text_decoration-expected.txt:
        * platform/wpe/css1/text_properties/text_indent-expected.txt:
        * platform/wpe/css1/text_properties/text_transform-expected.txt:
        * platform/wpe/css1/text_properties/vertical_align-expected.txt:
        * platform/wpe/css1/text_properties/word_spacing-expected.txt:
        * platform/wpe/css1/units/color_units-expected.txt:
        * platform/wpe/css1/units/length_units-expected.txt:
        * platform/wpe/css1/units/percentage_units-expected.txt:
        * platform/wpe/css1/units/urls-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-013-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-014-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-015-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-016-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-017-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-018-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-019-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-020-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-021-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-022-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-023-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-non-replaced-width-024-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-014-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-016-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-017-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-018-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-019-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-021-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-022-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-023-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-024-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-025-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-026-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-028-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-029-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-030-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-031-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-032-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-033-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-035-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-height-036-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-013-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-015-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-020-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-022-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-027-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-029-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-034-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-036-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-041-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-043-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-048-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-050-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-055-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-057-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-062-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-064-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-069-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-071-expected.txt:
        * platform/wpe/css2.1/20110323/absolute-replaced-width-076-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-001-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-002-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-003-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-004-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-005-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-006-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-007-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-008-expected.txt:
        * platform/wpe/css2.1/20110323/background-intrinsic-009-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-006-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-009-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-010-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-011-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-012-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-013-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-014-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-015-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-height-016-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-non-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/block-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/border-collapse-offset-002-expected.txt:
        * platform/wpe/css2.1/20110323/border-conflict-style-079-expected.txt:
        * platform/wpe/css2.1/20110323/border-conflict-style-088-expected.txt:
        * platform/wpe/css2.1/20110323/border-spacing-applies-to-015-expected.txt:
        * platform/wpe/css2.1/20110323/c543-txt-decor-000-expected.txt:
        * platform/wpe/css2.1/20110323/dynamic-top-change-001-expected.txt:
        * platform/wpe/css2.1/20110323/dynamic-top-change-002-expected.txt:
        * platform/wpe/css2.1/20110323/dynamic-top-change-003-expected.txt:
        * platform/wpe/css2.1/20110323/dynamic-top-change-004-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-001-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-002-expected.txt:
        * platform/wpe/css2.1/20110323/empty-inline-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-007-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-008-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-009-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-010-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/float-non-replaced-width-012-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-005-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/float-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/floating-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/height-width-inline-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/height-width-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-non-replaced-width-004-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-block-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-non-replaced-width-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-002-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-003-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-004-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-005-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-007-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-height-008-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-006-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-011-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-012-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-013-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-014-expected.txt:
        * platform/wpe/css2.1/20110323/inline-replaced-width-015-expected.txt:
        * platform/wpe/css2.1/20110323/inline-table-001-expected.txt:
        * platform/wpe/css2.1/20110323/inline-table-002a-expected.txt:
        * platform/wpe/css2.1/20110323/inline-table-003-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-001-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-002-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-003-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-004-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-005-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-006-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-007-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-008-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-009-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-010-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-012-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-013-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-014-expected.txt:
        * platform/wpe/css2.1/20110323/margin-applies-to-015-expected.txt:
        * platform/wpe/css2.1/20110323/outline-color-applies-to-008-expected.txt:
        * platform/wpe/css2.1/20110323/replaced-elements-001-expected.txt:
        * platform/wpe/css2.1/20110323/replaced-intrinsic-003-expected.txt:
        * platform/wpe/css2.1/20110323/replaced-intrinsic-004-expected.txt:
        * platform/wpe/css2.1/20110323/replaced-intrinsic-005-expected.txt:
        * platform/wpe/css2.1/20110323/replaced-min-max-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-002-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-horizontal-alignment-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-margins-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-optional-001-expected.txt:
        * platform/wpe/css2.1/20110323/table-caption-optional-002-expected.txt:
        * platform/wpe/css2.1/20110323/table-height-algorithm-023-expected.txt:
        * platform/wpe/css2.1/20110323/table-height-algorithm-024-expected.txt:
        * platform/wpe/css2.1/20110323/width-non-replaced-inline-001-expected.txt:
        * platform/wpe/css2.1/20110323/width-replaced-element-001-expected.txt:
        * platform/wpe/css2.1/t010403-shand-border-00-c-expected.txt:
        * platform/wpe/css2.1/t010403-shand-font-00-b-expected.txt:
        * platform/wpe/css2.1/t010403-shand-font-01-b-expected.txt:
        * platform/wpe/css2.1/t010403-shand-font-02-b-expected.txt:
        * platform/wpe/css2.1/t010403-shand-font-03-b-expected.txt:
        * platform/wpe/css2.1/t040102-keywords-00-b-expected.txt:
        * platform/wpe/css2.1/t040102-keywords-01-b-expected.txt:
        * platform/wpe/css2.1/t040103-case-00-b-expected.txt:
        * platform/wpe/css2.1/t040103-case-01-c-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-00-b-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-01-b-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-02-d-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-03-b-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-04-b-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-05-c-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-06-b-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-07-b-expected.txt:
        * platform/wpe/css2.1/t040103-escapes-08-b-expected.txt:
        * platform/wpe/css2.1/t040103-ident-00-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-01-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-02-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-03-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-04-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-05-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-06-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-07-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-08-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-09-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-10-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-11-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-12-c-expected.txt:
        * platform/wpe/css2.1/t040103-ident-13-c-expected.txt:
        * platform/wpe/css2.1/t040105-atkeyw-00-b-expected.txt:
        * platform/wpe/css2.1/t040105-atkeyw-01-b-expected.txt:
        * platform/wpe/css2.1/t040105-atkeyw-02-b-expected.txt:
        * platform/wpe/css2.1/t040105-atrule-00-b-expected.txt:
        * platform/wpe/css2.1/t040105-atrule-01-b-expected.txt:
        * platform/wpe/css2.1/t040105-atrule-02-b-expected.txt:
        * platform/wpe/css2.1/t040105-atrule-03-b-expected.txt:
        * platform/wpe/css2.1/t040105-atrule-04-b-expected.txt:
        * platform/wpe/css2.1/t040105-import-00-b-expected.txt:
        * platform/wpe/css2.1/t040105-import-01-b-expected.txt:
        * platform/wpe/css2.1/t040105-import-10-b-expected.txt:
        * platform/wpe/css2.1/t040109-c17-comments-00-b-expected.txt:
        * platform/wpe/css2.1/t040109-c17-comments-01-b-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-00-f-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-01-f-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-02-f-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-03-f-expected.txt:
        * platform/wpe/css2.1/t0402-c71-fwd-parsing-04-f-expected.txt:
        * platform/wpe/css2.1/t0402-syntax-01-f-expected.txt:
        * platform/wpe/css2.1/t0402-syntax-02-f-expected.txt:
        * platform/wpe/css2.1/t0402-syntax-03-f-expected.txt:
        * platform/wpe/css2.1/t0402-syntax-04-f-expected.txt:
        * platform/wpe/css2.1/t0402-syntax-05-f-expected.txt:
        * platform/wpe/css2.1/t0402-syntax-06-f-expected.txt:
        * platform/wpe/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/wpe/css2.1/t040302-c61-phys-len-00-b-expected.txt:
        * platform/wpe/css2.1/t040302-c61-rel-len-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t040303-c62-percent-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t040304-c64-uri-00-a-g-expected.txt:
        * platform/wpe/css2.1/t040306-c63-color-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t040306-syntax-01-f-expected.txt:
        * platform/wpe/css2.1/t040307-syntax-01-b-expected.txt:
        * platform/wpe/css2.1/t050201-c12-grouping-00-b-expected.txt:
        * platform/wpe/css2.1/t0505-c16-descendant-00-e-expected.txt:
        * platform/wpe/css2.1/t0505-c16-descendant-01-e-expected.txt:
        * platform/wpe/css2.1/t0505-c16-descendant-02-e-expected.txt:
        * platform/wpe/css2.1/t050803-c14-classes-00-e-expected.txt:
        * platform/wpe/css2.1/t0509-c15-ids-00-a-expected.txt:
        * platform/wpe/css2.1/t0509-c15-ids-01-e-expected.txt:
        * platform/wpe/css2.1/t0509-id-sel-syntax-01-f-expected.txt:
        * platform/wpe/css2.1/t0509-id-sel-syntax-02-b-expected.txt:
        * platform/wpe/css2.1/t0510-c25-pseudo-elmnt-00-c-expected.txt:
        * platform/wpe/css2.1/t0511-c21-pseud-anch-00-e-i-expected.txt:
        * platform/wpe/css2.1/t0511-c21-pseud-link-00-e-expected.txt:
        * platform/wpe/css2.1/t0511-c21-pseud-link-01-e-expected.txt:
        * platform/wpe/css2.1/t0511-c21-pseud-link-02-e-expected.txt:
        * platform/wpe/css2.1/t0511-c21-pseud-link-03-e-expected.txt:
        * platform/wpe/css2.1/t051103-c21-activ-ln-00-e-i-expected.txt:
        * platform/wpe/css2.1/t051103-c21-focus-ln-00-e-i-expected.txt:
        * platform/wpe/css2.1/t051103-c21-hover-ln-00-e-i-expected.txt:
        * platform/wpe/css2.1/t051103-dom-hover-01-c-io-expected.txt:
        * platform/wpe/css2.1/t051103-dom-hover-02-c-io-expected.txt:
        * platform/wpe/css2.1/t051201-c23-first-line-00-b-expected.txt:
        * platform/wpe/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
        * platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
        * platform/wpe/css2.1/t0602-c13-inh-underlin-00-e-expected.txt:
        * platform/wpe/css2.1/t0602-c13-inheritance-00-e-expected.txt:
        * platform/wpe/css2.1/t0602-inherit-bdr-pad-b-00-expected.txt:
        * platform/wpe/css2.1/t0603-c11-import-00-b-expected.txt:
        * platform/wpe/css2.1/t060401-c32-cascading-00-b-expected.txt:
        * platform/wpe/css2.1/t060402-c31-important-00-b-expected.txt:
        * platform/wpe/css2.1/t060403-c21-pseu-cls-00-e-i-expected.txt:
        * platform/wpe/css2.1/t060403-c21-pseu-id-00-e-i-expected.txt:
        * platform/wpe/css2.1/t0801-c412-hz-box-00-b-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5501-imrgn-t-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-imrgn-r-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-imrgn-r-01-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-imrgn-r-02-b-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-imrgn-r-03-b-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-imrgn-r-04-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-imrgn-r-05-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-imrgn-r-06-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-mrgn-r-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-mrgn-r-01-c-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-mrgn-r-02-c-expected.txt:
        * platform/wpe/css2.1/t0803-c5502-mrgn-r-03-c-expected.txt:
        * platform/wpe/css2.1/t0803-c5503-imrgn-b-00-b-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-imrgn-l-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-imrgn-l-01-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-imrgn-l-03-b-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-imrgn-l-04-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-imrgn-l-05-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-imrgn-l-06-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-mrgn-l-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-mrgn-l-01-c-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-mrgn-l-02-c-expected.txt:
        * platform/wpe/css2.1/t0803-c5504-mrgn-l-03-c-expected.txt:
        * platform/wpe/css2.1/t0803-c5505-imrgn-00-a-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5505-mrgn-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0803-c5505-mrgn-01-e-a-expected.txt:
        * platform/wpe/css2.1/t0803-c5505-mrgn-02-c-expected.txt:
        * platform/wpe/css2.1/t0803-c5505-mrgn-03-c-ag-expected.txt:
        * platform/wpe/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
        * platform/wpe/css2.1/t0804-c5506-ipadn-t-00-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5506-ipadn-t-01-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5506-ipadn-t-02-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-ipadn-r-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-ipadn-r-01-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-ipadn-r-02-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-ipadn-r-03-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-ipadn-r-04-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-padn-r-01-c-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-padn-r-02-f-expected.txt:
        * platform/wpe/css2.1/t0804-c5507-padn-r-03-f-expected.txt:
        * platform/wpe/css2.1/t0804-c5508-ipadn-b-00-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5508-ipadn-b-01-f-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5508-ipadn-b-02-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-ipadn-l-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-ipadn-l-01-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-ipadn-l-03-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-ipadn-l-04-f-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-padn-l-01-b-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-padn-l-02-f-expected.txt:
        * platform/wpe/css2.1/t0804-c5509-padn-l-03-f-g-expected.txt:
        * platform/wpe/css2.1/t0804-c5510-ipadn-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t0804-c5510-padn-01-e-a-expected.txt:
        * platform/wpe/css2.1/t0804-c5510-padn-02-f-expected.txt:
        * platform/wpe/css2.1/t0805-c5511-brdr-tw-00-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5511-brdr-tw-01-b-g-expected.txt:
        * platform/wpe/css2.1/t0805-c5511-brdr-tw-02-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5511-brdr-tw-03-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5511-ibrdr-tw-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5512-brdr-rw-00-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5512-brdr-rw-01-b-g-expected.txt:
        * platform/wpe/css2.1/t0805-c5512-brdr-rw-02-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5512-brdr-rw-03-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5512-ibrdr-rw-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5513-brdr-bw-00-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5513-brdr-bw-01-b-g-expected.txt:
        * platform/wpe/css2.1/t0805-c5513-brdr-bw-02-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5513-brdr-bw-03-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5513-ibrdr-bw-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5514-brdr-lw-00-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5514-brdr-lw-01-b-g-expected.txt:
        * platform/wpe/css2.1/t0805-c5514-brdr-lw-02-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5514-brdr-lw-03-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5514-ibrdr-lw-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5515-brdr-w-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5515-brdr-w-01-b-g-expected.txt:
        * platform/wpe/css2.1/t0805-c5515-brdr-w-02-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5515-ibrdr-00-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5516-brdr-c-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5516-ibrdr-c-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5517-brdr-s-00-c-expected.txt:
        * platform/wpe/css2.1/t0805-c5517-ibrdr-s-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5518-brdr-t-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5518-brdr-t-01-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5518-ibrdr-t-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5519-brdr-r-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5519-brdr-r-01-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5519-brdr-r-02-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5519-ibrdr-r-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5520-brdr-b-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5520-ibrdr-b-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5521-brdr-l-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5521-brdr-l-01-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5521-brdr-l-02-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5521-ibrdr-l-00-a-expected.txt:
        * platform/wpe/css2.1/t0805-c5522-brdr-00-b-expected.txt:
        * platform/wpe/css2.1/t0805-c5522-brdr-01-b-g-expected.txt:
        * platform/wpe/css2.1/t0805-c5522-brdr-02-e-expected.txt:
        * platform/wpe/css2.1/t0805-c5522-ibrdr-00-a-expected.txt:
        * platform/wpe/css2.1/t090204-display-change-01-b-ao-expected.txt:
        * platform/wpe/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-00-d-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-01-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-02-c-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-03-c-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-04-c-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-fit-00-d-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-fit-01-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
        * platform/wpe/css2.1/t0905-c414-flt-wrap-01-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltclr-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-flthw-00-c-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltinln-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltmrgn-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltwidth-01-c-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt:
        * platform/wpe/css2.1/t0905-c5525-fltwrap-00-b-expected.txt:
        * platform/wpe/css2.1/t0905-c5526-fltclr-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t0905-c5526-flthw-00-c-g-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-00-d-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-01-b-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-02-d-g-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-03-b-g-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-ln-00-d-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-ln-01-d-g-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-ln-02-d-expected.txt:
        * platform/wpe/css2.1/t090501-c414-flt-ln-03-d-expected.txt:
        * platform/wpe/css2.1/t090501-c5525-flt-l-00-b-g-expected.txt:
        * platform/wpe/css2.1/t090501-c5525-flt-r-00-b-g-expected.txt:
        * platform/wpe/css2.1/t1002-c5523-width-00-b-g-expected.txt:
        * platform/wpe/css2.1/t1002-c5523-width-01-b-g-expected.txt:
        * platform/wpe/css2.1/t1002-c5523-width-02-b-g-expected.txt:
        * platform/wpe/css2.1/t100303-c412-blockw-00-d-ag-expected.txt:
        * platform/wpe/css2.1/t100304-c43-rpl-bbx-00-d-g-expected.txt:
        * platform/wpe/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.txt:
        * platform/wpe/css2.1/t1004-c43-rpl-bbx-00-d-ag-expected.txt:
        * platform/wpe/css2.1/t1004-c43-rpl-ibx-00-d-ag-expected.txt:
        * platform/wpe/css2.1/t1004-c5524-width-00-b-g-expected.txt:
        * platform/wpe/css2.1/t1005-c5524-width-00-b-g-expected.txt:
        * platform/wpe/css2.1/t1005-c5524-width-01-b-g-expected.txt:
        * platform/wpe/css2.1/t1008-c44-ln-box-00-d-ag-expected.txt:
        * platform/wpe/css2.1/t1008-c44-ln-box-01-d-ag-expected.txt:
        * platform/wpe/css2.1/t1008-c44-ln-box-02-d-ag-expected.txt:
        * platform/wpe/css2.1/t1008-c44-ln-box-03-d-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c42-ibx-ht-00-d-a-expected.txt:
        * platform/wpe/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c544-valgn-01-d-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
        * platform/wpe/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
        * platform/wpe/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
        * platform/wpe/css2.1/t100801-c548-leadin-00-d-a-expected.txt:
        * platform/wpe/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
        * platform/wpe/css2.1/t100801-c548-ln-ht-01-b-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c548-ln-ht-03-d-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c548-ln-ht-04-d-ag-expected.txt:
        * platform/wpe/css2.1/t1202-counter-00-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-01-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-02-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-03-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-04-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-05-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-06-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-07-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-08-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-09-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-11-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-12-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-13-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-14-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-15-b-expected.txt:
        * platform/wpe/css2.1/t1202-counter-16-f-expected.txt:
        * platform/wpe/css2.1/t1202-counters-00-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-01-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-02-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-03-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-04-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-05-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-06-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-07-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-08-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-09-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-11-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-12-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-13-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-14-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-15-b-expected.txt:
        * platform/wpe/css2.1/t1202-counters-16-c-expected.txt:
        * platform/wpe/css2.1/t1202-counters-17-d-expected.txt:
        * platform/wpe/css2.1/t1202-counters-18-f-expected.txt:
        * platform/wpe/css2.1/t1204-implied-00-b-expected.txt:
        * platform/wpe/css2.1/t1204-implied-01-c-expected.txt:
        * platform/wpe/css2.1/t1204-implied-02-d-expected.txt:
        * platform/wpe/css2.1/t1204-multiple-00-c-expected.txt:
        * platform/wpe/css2.1/t1204-multiple-01-c-expected.txt:
        * platform/wpe/css2.1/t1204-order-00-c-expected.txt:
        * platform/wpe/css2.1/t1204-order-01-d-expected.txt:
        * platform/wpe/css2.1/t1204-root-e-expected.txt:
        * platform/wpe/css2.1/t120401-scope-00-b-expected.txt:
        * platform/wpe/css2.1/t120401-scope-01-c-expected.txt:
        * platform/wpe/css2.1/t120401-scope-02-c-expected.txt:
        * platform/wpe/css2.1/t120401-scope-03-c-expected.txt:
        * platform/wpe/css2.1/t120401-scope-04-d-expected.txt:
        * platform/wpe/css2.1/t120403-content-none-00-c-expected.txt:
        * platform/wpe/css2.1/t120403-display-none-00-c-expected.txt:
        * platform/wpe/css2.1/t120403-visibility-00-c-expected.txt:
        * platform/wpe/css2.1/t1205-c561-list-displ-00-b-expected.txt:
        * platform/wpe/css2.1/t1205-c563-list-type-00-b-expected.txt:
        * platform/wpe/css2.1/t1205-c563-list-type-01-b-expected.txt:
        * platform/wpe/css2.1/t1205-c564-list-img-00-b-g-expected.txt:
        * platform/wpe/css2.1/t1205-c565-list-pos-00-b-expected.txt:
        * platform/wpe/css2.1/t1205-c566-list-stl-00-e-ag-expected.txt:
        * platform/wpe/css2.1/t1401-c531-color-00-a-expected.txt:
        * platform/wpe/css2.1/t1402-c45-bg-canvas-00-b-expected.txt:
        * platform/wpe/css2.1/t140201-c532-bgcolor-00-a-expected.txt:
        * platform/wpe/css2.1/t140201-c532-bgcolor-01-b-expected.txt:
        * platform/wpe/css2.1/t140201-c533-bgimage-00-a-expected.txt:
        * platform/wpe/css2.1/t140201-c533-bgimage-01-b-g-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgre-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgre-01-b-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgreps-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgreps-01-c-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgreps-02-c-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgreps-03-c-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgreps-04-c-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c534-bgreps-05-c-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c535-bg-fixd-00-b-g-expected.txt:
        * platform/wpe/css2.1/t140201-c536-bgpos-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c536-bgpos-01-b-ag-expected.txt:
        * platform/wpe/css2.1/t140201-c537-bgfxps-00-c-ag-expected.txt:
        * platform/wpe/css2.1/t1503-c522-font-family-00-b-expected.txt:
        * platform/wpe/css2.1/t1504-c523-font-style-00-b-expected.txt:
        * platform/wpe/css2.1/t1505-c524-font-var-00-b-expected.txt:
        * platform/wpe/css2.1/t1506-c525-font-wt-00-b-expected.txt:
        * platform/wpe/css2.1/t1507-c526-font-sz-00-b-expected.txt:
        * platform/wpe/css2.1/t1507-c526-font-sz-01-b-a-expected.txt:
        * platform/wpe/css2.1/t1507-c526-font-sz-02-b-a-expected.txt:
        * platform/wpe/css2.1/t1507-c526-font-sz-03-f-a-expected.txt:
        * platform/wpe/css2.1/t1601-c547-indent-00-b-a-expected.txt:
        * platform/wpe/css2.1/t1601-c547-indent-01-d-expected.txt:
        * platform/wpe/css2.1/t1602-c43-center-00-d-ag-expected.txt:
        * platform/wpe/css2.1/t1602-c546-txt-align-00-b-expected.txt:
        * platform/wpe/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt:
        * platform/wpe/css2.1/t1604-c542-letter-sp-01-b-a-expected.txt:
        * platform/wpe/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-00-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-01-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-02-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-03-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-05-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-07-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-09-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-10-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-11-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-12-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-15-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-19-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-20-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-21-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-22-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-23-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-26-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-27-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-28-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-29-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-32-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-33-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-35-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-36-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-37-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-38-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-39-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-40-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-41-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-42-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-43-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-45-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-46-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-47-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-48-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-49-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-50-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-51-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-53-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-55-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-56-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-57-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-58-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-60-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-61-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-62-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-63-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-66-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-67-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-68-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-69-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-72-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-73-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-75-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-76-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-77-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-78-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-79-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-80-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-81-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-82-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-83-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-86-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-87-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-88-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-89-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-90-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-91-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-92-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-93-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-95-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-96-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-97-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-98-d-expected.txt:
        * platform/wpe/css2.1/t170602-bdr-conflct-w-99-d-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-015-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-016-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-023-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-024-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-035-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-036-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-037-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-038-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-045-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-046-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-047-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-048-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-049-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-050-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-055-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-056-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-115-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-116-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-117-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-118-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-119-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-120-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-121-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-122-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-177-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-178-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-179-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-180-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-181-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-189-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-190-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-191-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-192-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-193-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-194-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-195-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-196-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-205-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-206-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-207-expected.txt:
        * platform/wpe/css2.1/tables/table-anonymous-objects-208-expected.txt:
        * platform/wpe/css3/calc/line-height-expected.txt:
        * platform/wpe/css3/css3-modsel-33-expected.txt:
        * platform/wpe/css3/css3-modsel-35-expected.txt:
        * platform/wpe/css3/css3-modsel-36-expected.txt:
        * platform/wpe/css3/css3-modsel-37-expected.txt:
        * platform/wpe/css3/flexbox/button-expected.txt:
        * platform/wpe/css3/flexbox/flexbox-baseline-expected.txt:
        * platform/wpe/css3/flexbox/overflow-auto-resizes-correctly-expected.txt:
        * platform/wpe/css3/images/cross-fade-background-size-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-1-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-10-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-11-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-144-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-148-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-149-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-149b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14d-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-150-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-151-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-152-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-154-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-155-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-155a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-155b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-155c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-155d-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-156-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-156b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-156c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-157-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-158-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-15b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-16-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-160-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-161-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-166-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-166a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-167-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-167a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-170-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-170a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-170b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-170c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-170d-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-175a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-175b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-175c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-176-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-177a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-177b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-178-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-179-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-179a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-180a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-181-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-183-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-184a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-184b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-184c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-184d-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-184e-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-184f-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-18a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-18b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-18c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-19-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-19b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-20-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-21-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-21b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-21c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-23-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-24-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-25-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-27-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-27a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-27b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-28-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-28b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-29-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-29b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-32-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-33-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-36-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-38-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-39-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-39a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-39b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-39c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-3a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-4-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-43-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-43b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-44-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-44b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-44c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-44d-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-45c-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-5-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-54-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-55-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-56-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-59-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-60-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-61-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-62-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-63-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-64-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-65-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-66-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-66b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-67-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-68-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-69-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-70-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-72-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-72b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-73-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-73b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-74-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-74b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-77-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-77b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-78-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-78b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-7b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-81-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-81b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-83-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-86-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-87-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-87b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-88-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-88b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-89-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-9-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-90-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-90b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-d1-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-d1b-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-d2-expected.txt:
        * platform/wpe/css3/selectors3/html/css3-modsel-d4-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-1-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-10-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-100-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-100b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-101-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-101b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-102-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-102b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-103-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-103b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-104-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-104b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-105-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-105b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-106-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-106b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-107-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-107b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-108-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-108b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-109-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-109b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-11-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-110-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-110b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-111-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-111b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-112-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-112b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-113-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-113b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-114-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-114b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-115-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-115b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-116-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-116b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-117-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-117b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-118-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-119-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-120-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-121-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-122-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-123-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-123b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-124-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-124b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-125-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-125b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-126-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-126b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-127-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-127b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-128-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-128b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-129-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-129b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-130-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-130b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-131-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-131b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-132-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-132b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-133-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-133b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-134-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-134b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-135-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-135b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-136-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-136b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-137-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-137b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-138-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-138b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-139-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-139b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-140-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-140b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-141-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-141b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-142-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-142b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-143-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-143b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-144-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-145a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-145b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-146a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-146b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-147a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-147b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-148-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-149-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-149b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14d-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-150-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-151-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-152-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-153-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-154-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-155-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-155a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-155b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-155c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-155d-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-156-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-156b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-156c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-157-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-158-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-15b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-15c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-16-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-160-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-167-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-167a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-170-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-170a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-170b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-170c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-170d-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-171-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-172a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-172b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-173a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-173b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-174a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-174b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-175a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-175b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-175c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-176-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-177a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-177b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-178-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-179-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-179a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-180a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-181-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-182-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-183-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-184a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-184b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-184c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-184d-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-184e-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-184f-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-18a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-18b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-18c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-19-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-19b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-20-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-21-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-21b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-21c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-23-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-24-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-25-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-27-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-27a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-27b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-28-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-28b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-3-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-32-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-36-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-38-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-39a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-39c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-3a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-4-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-43-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-43b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-44-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-44b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-44c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-44d-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-45c-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-47-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-48-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-49-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-5-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-50-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-51-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-52-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-53-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-54-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-55-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-56-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-57-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-57b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-59-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-60-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-61-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-62-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-63-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-64-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-65-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-66-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-66b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-67-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-68-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-69-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-70-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-72-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-72b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-74-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-74b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-78-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-78b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-7b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-81-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-81b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-83-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-86-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-87-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-87b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-88-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-88b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-89-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-9-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-90-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-90b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-91-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-92-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-93-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-94-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-94b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-95-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-96-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-96b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-97-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-97b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-98-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-98b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-99-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-99b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-d1-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-d1b-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-d2-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-d3-expected.txt:
        * platform/wpe/css3/selectors3/xhtml/css3-modsel-d4-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-1-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-10-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-100-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-100b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-101-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-101b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-102-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-102b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-103-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-103b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-104-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-104b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-105-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-105b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-106-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-106b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-107-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-107b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-108-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-108b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-109-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-109b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-11-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-110-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-110b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-111-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-111b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-112-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-112b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-113-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-113b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-114-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-114b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-115-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-115b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-116-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-116b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-117-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-117b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-118-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-119-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-120-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-121-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-122-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-123-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-123b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-124-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-124b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-125-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-125b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-126-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-126b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-127-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-127b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-128-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-128b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-129-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-129b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-13-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-130-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-130b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-131-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-131b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-132-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-132b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-133-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-133b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-134-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-134b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-135-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-135b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-136-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-136b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-137-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-137b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-138-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-138b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-139-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-139b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-140-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-140b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-141-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-141b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-142-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-142b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-143-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-143b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-144-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-145a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-145b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-146a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-146b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-147a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-147b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-148-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-149-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-149b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14d-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-14e-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-15-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-150-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-151-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-152-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-153-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-154-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-155-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-155a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-155b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-155c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-155d-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-156-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-156b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-156c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-157-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-158-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-159-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-15b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-15c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-16-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-160-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-161-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-166-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-166a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-167-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-167a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-168-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-168a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-169-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-169a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-17-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-170-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-170a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-170b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-170c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-170d-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-171-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-172a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-172b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-173a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-173b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-174a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-174b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-175a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-175b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-175c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-176-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-177a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-177b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-178-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-179-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-179a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-18-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-180a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-181-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-182-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-183-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-184a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-184b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-184c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-184d-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-184e-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-184f-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-18a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-18b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-18c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-19-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-19b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-2-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-20-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-21-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-21b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-21c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-22-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-23-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-24-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-25-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-27-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-27a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-27b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-28-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-28b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-29-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-29b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-3-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-30-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-31-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-32-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-33-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-34-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-35-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-36-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-37-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-38-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-39-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-39a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-39b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-39c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-3a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-4-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-41-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-41a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-42-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-42a-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-43-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-43b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-44-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-44b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-44c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-44d-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-45-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-45b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-45c-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-46-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-46b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-47-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-48-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-49-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-5-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-50-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-51-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-52-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-53-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-54-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-55-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-56-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-57-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-57b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-59-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-6-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-60-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-61-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-62-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-63-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-64-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-65-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-66-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-66b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-67-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-68-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-69-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-7-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-70-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-72-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-72b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-73-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-73b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-74-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-74b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-75-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-75b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-76-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-76b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-77-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-77b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-78-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-78b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-79-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-7b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-8-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-80-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-81-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-81b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-82-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-82b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-83-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-86-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-87-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-87b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-88-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-88b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-89-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-9-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-90-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-90b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-91-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-92-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-93-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-94-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-94b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-95-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-96-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-96b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-97-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-97b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-98-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-98b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-99-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-99b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-d1-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-d1b-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-d2-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-d3-expected.txt:
        * platform/wpe/css3/selectors3/xml/css3-modsel-d4-expected.txt:
        * platform/wpe/css3/unicode-bidi-isolate-basic-expected.txt:
        * platform/wpe/fast/canvas/canvas-size-change-after-layout-expected.txt:
        * platform/wpe/fast/canvas/canvas-zoom-expected.txt:
        * platform/wpe/fast/dom/Element/class-attribute-whitespace-expected.txt:
        * platform/wpe/fast/dom/Element/null-offset-parent-expected.txt:
        * platform/wpe/fast/dom/HTMLDocument/frameless-location-bugzilla10837-expected.txt:
        * platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
        * platform/wpe/fast/dom/HTMLHeadElement/head-link-style-href-check-expected.txt:
        * platform/wpe/fast/dom/HTMLObjectElement/vspace-hspace-as-number-expected.txt:
        * platform/wpe/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
        * platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
        * platform/wpe/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
        * platform/wpe/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
        * platform/wpe/fast/dom/HTMLTableElement/colSpan-expected.txt:
        * platform/wpe/fast/dom/HTMLTableElement/createCaption-expected.txt:
        * platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/wpe/fast/dom/Range/create-contextual-fragment-expected.txt:
        * platform/wpe/fast/dynamic/002-expected.txt:
        * platform/wpe/fast/dynamic/004-expected.txt:
        * platform/wpe/fast/dynamic/006-expected.txt:
        * platform/wpe/fast/dynamic/007-expected.txt:
        * platform/wpe/fast/dynamic/008-expected.txt:
        * platform/wpe/fast/dynamic/009-expected.txt:
        * platform/wpe/fast/dynamic/011-expected.txt:
        * platform/wpe/fast/dynamic/012-expected.txt:
        * platform/wpe/fast/dynamic/013-expected.txt:
        * platform/wpe/fast/dynamic/014-expected.txt:
        * platform/wpe/fast/dynamic/015-expected.txt:
        * platform/wpe/fast/dynamic/anchor-lock-expected.txt:
        * platform/wpe/fast/dynamic/anonymous-block-orphaned-lines-expected.txt:
        * platform/wpe/fast/dynamic/containing-block-change-expected.txt:
        * platform/wpe/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
        * platform/wpe/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
        * platform/wpe/fast/dynamic/float-withdrawal-expected.txt:
        * platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
        * platform/wpe/fast/dynamic/layer-hit-test-crash-expected.txt:
        * platform/wpe/fast/dynamic/move-node-with-selection-expected.txt:
        * platform/wpe/fast/dynamic/noninlinebadness-expected.txt:
        * platform/wpe/fast/dynamic/outerHTML-doc-expected.txt:
        * platform/wpe/fast/dynamic/outerHTML-img-expected.txt:
        * platform/wpe/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
        * platform/wpe/fast/dynamic/selection-highlight-adjust-expected.txt:
        * platform/wpe/fast/dynamic/staticY-marking-parents-regression-expected.txt:
        * platform/wpe/fast/dynamic/text-combine-expected.txt:
        * platform/wpe/fast/dynamic/view-overflow-expected.txt:
        * platform/wpe/fast/encoding/denormalised-voiced-japanese-chars-expected.txt:
        * platform/wpe/fast/encoding/invalid-UTF-8-expected.txt:
        * platform/wpe/fast/encoding/utf-16-big-endian-expected.txt:
        * platform/wpe/fast/encoding/utf-16-little-endian-expected.txt:
        * platform/wpe/fast/encoding/xmacroman-encoding-test-expected.txt:
        * platform/wpe/fast/events/context-no-deselect-expected.txt:
        * platform/wpe/fast/events/event-listener-on-link-expected.txt:
        * platform/wpe/fast/events/onload-re-entry-expected.txt:
        * platform/wpe/fast/events/pointer-events-2-expected.txt:
        * platform/wpe/fast/events/resize-events-expected.txt:
        * platform/wpe/fast/events/reveal-link-when-focused-expected.txt:
        * platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
        * platform/wpe/fast/gradients/crash-on-zero-radius-expected.txt:
        * platform/wpe/fast/gradients/generated-gradients-expected.txt:
        * platform/wpe/fast/gradients/list-item-gradient-expected.txt:
        * platform/wpe/fast/gradients/radial-centered-expected.txt:
        * platform/wpe/fast/gradients/simple-gradients-expected.txt:
        * platform/wpe/fast/inspector-support/matchedrules-expected.txt:
        * platform/wpe/fast/parser/001-expected.txt:
        * platform/wpe/fast/parser/broken-comments-vs-parsing-mode-expected.txt:
        * platform/wpe/fast/parser/document-write-option-expected.txt:
        * platform/wpe/fast/parser/entity-comment-in-style-expected.txt:
        * platform/wpe/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/wpe/fast/parser/fonts-expected.txt:
        * platform/wpe/fast/parser/nofoo-tags-inside-paragraph-expected.txt:
        * platform/wpe/fast/parser/open-comment-in-style-expected.txt:
        * platform/wpe/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/wpe/fast/parser/title-error-test-expected.txt:
        * platform/wpe/fast/parser/xhtml-alternate-entities-expected.txt:
        * platform/wpe/fast/tokenizer/001-expected.txt:
        * platform/wpe/fast/tokenizer/003-expected.txt:
        * platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
        * platform/wpe/fast/transforms/diamond-expected.txt:
        * platform/wpe/fast/transforms/identity-matrix-expected.txt:
        * platform/wpe/fast/transforms/overflow-with-transform-expected.txt:
        * platform/wpe/fast/transforms/skew-with-unitless-zero-expected.txt:
        * platform/wpe/fast/transforms/transform-on-inline-expected.txt:
        * platform/wpe/fast/transforms/transform-overflow-expected.txt:
        * platform/wpe/fast/transforms/transform-positioned-ancestor-expected.txt:
        * platform/wpe/fast/transforms/transform-table-row-expected.txt:
        * platform/wpe/fast/transforms/transformed-caret-expected.txt:
        * platform/wpe/fast/transforms/transformed-document-element-expected.txt:
        * platform/wpe/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/wpe/fast/transforms/transforms-with-opacity-expected.txt:
        * platform/wpe/fast/transforms/transforms-with-zoom-expected.txt:
        * platform/wpe/fast/xsl/document-function-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc-cyr-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc16-expected.txt:
        * platform/wpe/fast/xsl/xslt-enc16to16-expected.txt:
        * platform/wpe/fast/xsl/xslt-entity-expected.txt:
        * platform/wpe/fast/xsl/xslt-extra-content-at-end-expected.txt:
        * platform/wpe/fast/xsl/xslt-import-depth-expected.txt:
        * platform/wpe/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
        * platform/wpe/fast/xsl/xslt-relative-path-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-border-box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-applies-to-block-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_color_padding_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-010-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-017-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-not-inherited-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-001-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-002-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-003-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-004-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/color-behind-images-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/order-of-images-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-001-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-002-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-003-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-005-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-006-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-007-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-008-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-009-expected.txt:
        * platform/wpe/ietestcenter/css3/text/textshadow-010-expected.txt:
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/wpe/scrollbars/basic-scrollbar-expected.txt:
        * platform/wpe/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
        * platform/wpe/scrollbars/disabled-scrollbar-expected.txt:
        * platform/wpe/scrollbars/scrollbar-buttons-expected.txt:
        * platform/wpe/scrollbars/scrollbar-orientation-expected.txt:
        * platform/wpe/scrollbars/scrollbars-on-positioned-content-expected.txt:
        * platform/wpe/tables/layering/paint-test-layering-1-expected.txt:
        * platform/wpe/tables/layering/paint-test-layering-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/45621-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10009-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug100334-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10036-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10039-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug101201-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug102145-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug102145-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug102145-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug102145-4-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10269-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10269-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10296-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10296-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug103533-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1055-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10565-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106158-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106158-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug10633-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1067-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1067-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106795-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug106816-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug108340-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug109043-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug11026-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug110566-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug11321-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113235-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug113424-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug11384q-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug11384s-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1163-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug11944-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug119786-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug12008-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug120364-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1220-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1224-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug12268-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug12384-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug123862-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1261-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug126742-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug12709-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug127267-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug128229-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug12908-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug12910-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1296-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug13105-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug13118-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug13196-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug133756-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug133756-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug133948-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug13484-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug13526-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug138725-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug139524-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug139524-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug139524-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug139524-4-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug14159-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug14159-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug14323-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug145572-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1474-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug149275-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug14929-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug15247-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug154780-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug15544-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug159108-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug15933-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug16252-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17130-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17130-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17168-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug175455-4-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17548-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug17587-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1800-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1802-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1802s-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1809-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1818-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1818-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1818-4-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1818-5-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug1828-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18440-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18558-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18664-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug18955-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19061-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19061-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19356-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug194024-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2050-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug20579-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2065-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug20804-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2123-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug21299-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug215629-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug21918-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug219693-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug219693-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22019-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug220536-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug221784-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug221784-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-2a-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug22246-3a-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug222846-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2267-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug227123-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2296-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23072-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23235-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23299-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug23994-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug24503-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug24627-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug24661-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2469-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug24880-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug25004-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug25074-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug25086-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2509-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2516-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug25367-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug25663-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2585-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug26178-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2684-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27038-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27038-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27038-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug275625-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2757-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2763-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2773-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug278266-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug278385-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug27993-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug28341-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2886-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29058-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29058-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29157-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29326-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug29429-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2947-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2962-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2973-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2981-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2981-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug2997-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30273-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30332-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30332-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3037-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3037-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30418-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30692-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug30985-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3103-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3191-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32205-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32205-5-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32447-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3260-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3263-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug32841-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3309-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3309-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug33137-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug34176-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug34538-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3454-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug35662-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3681-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3681-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3718-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug38916-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug39209-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug3977-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug40828-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4093-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug41890-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug42187-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug42443-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4284-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43039-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43204-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4382-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4385-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43854-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug43854-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4429-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug44523-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4501-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45055-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45055-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4520-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4523-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45350-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug45486-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4576-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46268-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46268-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46268-3-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46268-5-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46268-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46368-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46480-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46480-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46623-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46924-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug46944-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4739-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug47432-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug48028-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug48028-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4803-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4849-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug4849-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug48827-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug50695-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug51140-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5188-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug53690-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug53690-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug53891-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug54450-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5538-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug55527-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug55545-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug55789-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug56201-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug56405-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug56563-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug57300-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug57378-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug57828-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug57828-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5797-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5798-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5799-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5835-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug5838-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug58402-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug60013-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug60804-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug60807-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug60992-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6184-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug625-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6304-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug63785-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6404-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug641-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug641-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug647-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug650-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug6674-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug67864-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug67915-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug68912-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug68998-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69187-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69382-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug69382-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug709-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7112-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7112-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7121-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug72359-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug727-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug73321-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7471-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug75250-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug7714-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8032-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug80762-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug81934-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug82946-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug82946-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8361-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8381-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8411-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug86220-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug88035-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug88035-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug88524-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8858-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug8950-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug9072-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug9123-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug9123-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug92647-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug9271-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug9271-2-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug92868-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug93363-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug963-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug96343-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug965-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug97138-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug97383-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug98196-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug9879-1-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug99923-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug99948-expected.txt:
        * platform/wpe/tables/mozilla/collapsing_borders/bug127040-expected.txt:
        * platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
        * platform/wpe/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
        * platform/wpe/tables/mozilla/core/borders-expected.txt:
        * platform/wpe/tables/mozilla/core/box_sizing-expected.txt:
        * platform/wpe/tables/mozilla/core/captions-expected.txt:
        * platform/wpe/tables/mozilla/core/cell_heights-expected.txt:
        * platform/wpe/tables/mozilla/core/col_span-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_auto-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_autoPer-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_fix-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_fixPer-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_auto_per-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_auto-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_autoFix-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_autoPer-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_fix-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
        * platform/wpe/tables/mozilla/core/col_widths_fix_per-expected.txt:
        * platform/wpe/tables/mozilla/core/margins-expected.txt:
        * platform/wpe/tables/mozilla/core/misc-expected.txt:
        * platform/wpe/tables/mozilla/core/nested1-expected.txt:
        * platform/wpe/tables/mozilla/core/one_row-expected.txt:
        * platform/wpe/tables/mozilla/core/row_span-expected.txt:
        * platform/wpe/tables/mozilla/core/table_frame-expected.txt:
        * platform/wpe/tables/mozilla/core/table_heights-expected.txt:
        * platform/wpe/tables/mozilla/core/table_rules-expected.txt:
        * platform/wpe/tables/mozilla/core/table_widths-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendCol2-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendRowsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCellsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCol1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCol2-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteCol3-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteColGroup1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteColGroup2-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsExpand2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertColGroups1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertColGroups2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCols1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCols2-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCols3-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCols4-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertCols5-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertRowsExpand1-expected.txt:
        * platform/wpe/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_position-table-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_simple-table-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
        * platform/wpe/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
        * platform/wpe/tables/mozilla/marvin/body_col-expected.txt:
        * platform/wpe/tables/mozilla/marvin/body_tbody-expected.txt:
        * platform/wpe/tables/mozilla/marvin/body_tfoot-expected.txt:
        * platform/wpe/tables/mozilla/marvin/body_thead-expected.txt:
        * platform/wpe/tables/mozilla/marvin/col_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/colgroup_width_px-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_frame_border-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_frame_box-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_row_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_row_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_row_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_rules_all-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_rules_groups-expected.txt:
        * platform/wpe/tables/mozilla/marvin/table_rules_none-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_black-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_green-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_red-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_white-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_border_0-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_border_1-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_border_2-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_border_3-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_default-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_td_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_th_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_width_percent-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tables_width_px-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tbody_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/td_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/th_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/thead_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/tr_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_caption_align_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_caption_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_caption_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_caption_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_width_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_width_px-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_span-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_width_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_border-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_border_none-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_border_px-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_cellpadding-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_cellspacing-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_frame_void-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_rules_groups-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_rules_none-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_width_pct-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_table_width_px-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_nowrap-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_td_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_colspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_height-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_th_width-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_align_center-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_align_char-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_align_justify-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_align_left-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_align_right-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_class-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_id-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_style-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
        * platform/wpe/tables/mozilla/other/body_col-expected.txt:
        * platform/wpe/tables/mozilla/other/cell_widths-expected.txt:
        * platform/wpe/tables/mozilla/other/cellspacing-expected.txt:
        * platform/wpe/tables/mozilla/other/move_row-expected.txt:
        * platform/wpe/tables/mozilla/other/nested2-expected.txt:
        * platform/wpe/tables/mozilla/other/nestedTables-expected.txt:
        * platform/wpe/tables/mozilla/other/padding-expected.txt:
        * platform/wpe/tables/mozilla/other/test3-expected.txt:
        * platform/wpe/tables/mozilla/other/test6-expected.txt:
        * platform/wpe/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
        * platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/97619-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug101759-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug104898-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug106336-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug106966-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1164-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug11945-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug14159-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug14489-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug178855-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug220653-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug24880-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug25707-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug27993-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3105-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-10-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-11-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-12-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-13-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-14-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-15-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-16-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-17-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-18-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-3-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-4-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-5-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-6-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-7-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-8-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug3166-9-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug33784-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug42043-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug4294-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug45621-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug46268-4-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug47163-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug51000-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug61042-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug61042-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug67915-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug7113-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug7121-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug73629-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/backgrounds-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/captions3-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/cols1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/columns-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/conflicts-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/core/standards1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_above-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_below-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_hsides-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_void-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_vsides-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/table_rules_rows-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_above-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_below-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_border-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_box-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_hsides-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_lhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_rhs-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_frame_vsides-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_rules_all-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_rules_cols-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/marvin/x_table_rules_rows-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
        * platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
        * platform/wpe/transforms/2d/compound-transforms-vs-containers-expected.txt:
        * platform/wpe/transforms/2d/hindi-rotated-expected.txt:
        * platform/wpe/transforms/2d/transform-borderbox-expected.txt:
        * platform/wpe/transforms/2d/transform-fixed-container-expected.txt:
        * platform/wpe/transforms/2d/transform-origin-borderbox-expected.txt:
        * platform/wpe/transforms/2d/zoom-menulist-expected.txt:
        * platform/wpe/transforms/3d/general/perspective-non-layer-expected.txt:
        * platform/wpe/transforms/3d/general/perspective-units-expected.txt:
        * platform/wpe/transforms/3d/hit-testing/backface-hit-test-expected.txt:
        * platform/wpe/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
        * platform/wpe/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
        * platform/wpe/transforms/svg-vs-css-expected.txt:

2017-09-11  Per Arne Vollan  <pvollan@apple.com>

        Remove web platform test expectations since they are currently skipped on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-11  Per Arne Vollan  <pvollan@apple.com>

        Mark storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176693

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-11  Tomas Popela  <tpopela@redhat.com>

        [GTK] DOM operations could behave unexpectedly with certain fonts or font sizes
        https://bugs.webkit.org/show_bug.cgi?id=149703

        Reviewed by Michael Catanzaro.

        Before r221670 (FreeType rebase) this test case would fail due to
        bug in FreeType where it was providing wrong font extents for specific
        fonts and sizes. Before the rebase the selection was incorrectly
        restored on the end of the first line. Adding this new test to catch
        any possible regression in the FreeType.

        * fast/dom/Document/CaretRangeFromPoint/restore-selection-from-point-expected.txt: Added.
        * fast/dom/Document/CaretRangeFromPoint/restore-selection-from-point.html: Added.

2017-09-08  Dean Jackson  <dino@apple.com>

        gl.detachShader breaks shader program
        https://bugs.webkit.org/show_bug.cgi?id=137689
        <rdar://problem/34025056>

        Reviewed by Sam Weinig.

        Test that detaches and deletes shaders after linking, but before
        asking for uniform locations.

        * fast/canvas/webgl/detachShader-before-accessing-uniform-expected.txt: Added.
        * fast/canvas/webgl/detachShader-before-accessing-uniform.html: Added.

2017-09-09  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176661

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-09  Per Arne Vollan  <pvollan@apple.com>

        Mark svg/animations/animations-paused-in-background-page-iframe.html as a flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=176660

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-09  Per Arne Vollan  <pvollan@apple.com>

        Skip web platform tests on Windows since many of them are very slow.
        https://bugs.webkit.org/show_bug.cgi?id=176657

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-09  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/security/canvas-remote-read-remote-video-allowed-with-credentials.html as a flaky crash.
        https://bugs.webkit.org/show_bug.cgi?id=176653

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-09  Per Arne Vollan  <pvollan@apple.com>

        Mark web platform tests as slow on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-09  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        Added failure expectation for the HTTP test introduced in r221633,
        and updated baselines for the editing/execCommand/print.html test.

        * platform/gtk/TestExpectations:
        * platform/gtk/editing/execCommand/print-expected.png:
        * platform/gtk/editing/execCommand/print-expected.txt:

2017-09-09  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Adding ImageOnlyFailure expectations
        for reference tests failing after Freetype changes in r221670
        and r221724.

        * platform/gtk/TestExpectations:

2017-09-08  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Implement HTMLImageElement.decoode() method
        https://bugs.webkit.org/show_bug.cgi?id=176016

        Reviewed by Simon Fraser.

        * fast/images/decode-animated-image-expected.html: Added.
        * fast/images/decode-animated-image.html: Added.
        * fast/images/decode-render-animated-image-expected.html: Added.
        * fast/images/decode-render-animated-image.html: Added.
        * fast/images/decode-render-static-image-expected.html: Added.
        * fast/images/decode-render-static-image.html: Added.
        * fast/images/decode-static-image-reject-expected.txt: Added.
        * fast/images/decode-static-image-reject.html: Added.
        * fast/images/decode-static-image-resolve-expected.html: Added.
        * fast/images/decode-static-image-resolve.html: Added.

2017-09-08  Joseph Pecoraro  <pecoraro@apple.com>

        Fetch's Response.statusText is unexpectedly the full http status line for HTTP/2 responses
        https://bugs.webkit.org/show_bug.cgi?id=176479

        Reviewed by Alex Christensen.

        * http/wpt/fetch/resources/status-garbage.asis: Added.
        * http/wpt/fetch/resources/status-normal.txt: Added.
        * http/wpt/fetch/resources/status-with-message.asis: Added.
        * http/wpt/fetch/resources/status-without-message.asis: Added.
        Various text HTTP responses with different status lines.

        * http/wpt/fetch/response-status-text-expected.txt: Added.
        * http/wpt/fetch/response-status-text.html: Added.
        Test the Fetch Response's status / statusText for different HTTP status lines.
        The status without a message is similiar to HTTP/2 because HTTP/2 only
        has a :status pseudo-header and lacks a reason phrase.

2017-09-08  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Implement the attribute HTMLImageElement.async 
        https://bugs.webkit.org/show_bug.cgi?id=176204

        Reviewed by Darin Adler.

        * fast/images/async-attribute-with-small-image-expected.html: Added.
        * fast/images/async-attribute-with-small-image.html: Added.

2017-09-08  Per Arne Vollan  <pvollan@apple.com>

        Fix duplicate entry warnings on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-08  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/websocket/tests/hybi/websocket-pending-activity.html as a flaky crash.
        https://bugs.webkit.org/show_bug.cgi?id=176632

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-08  Matt Lewis  <jlewis3@apple.com>

        Added timeout expectation to imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html on mac.
        https://bugs.webkit.org/show_bug.cgi?id=173487

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-09-08  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/security/canvas-remote-read-remote-video-allowed-anonymous.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176626.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-08  Per Arne Vollan  <pvollan@apple.com>

        Mark imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element.html as slow.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-08  Antti Koivisto  <antti@apple.com>

        Remove support for >> descendant combinator syntax
        https://bugs.webkit.org/show_bug.cgi?id=175765

        Reviewed by Sam Weinig.

        * fast/css/ancestor-of-hovered-element-removed.html:
        * 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/currentColor-value-style-update.html:
        * fast/css/descendant-combinator-doubled-child-syntax-styling-expected.html: Removed.
        * fast/css/descendant-combinator-doubled-child-syntax-styling.html: Removed.
        * fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
        * fast/css/parsing-css-attribute-case-insensitive-value-1.html:
        * fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt:
        * fast/css/parsing-css-attribute-case-insensitive-value-4.html:
        * fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
        * fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html: Removed.
        * fast/selectors/case-insensitive-attribute-register-requirement-2.html:
        * fast/selectors/element-closest-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
        * fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html: Removed.
        * fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html:
        * fast/selectors/element-matches-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
        * fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html: Removed.
        * fast/selectors/id-attribute-querySelector-used-as-id-selector-quirks.html:
        * fast/selectors/id-attribute-querySelector-used-as-id-selector.html:
        * fast/selectors/nth-child-matching-first.html:
        * fast/selectors/nth-last-child-matching-first.html:
        * fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html:
        * fast/selectors/querySelector-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
        * fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html: Removed.

2017-09-08  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/websocket/tests/hybi/close-code-and-reason.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176609.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-08  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/preload/single_download_preload_headers.php as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176606.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-08  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176598.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-07  Michael Saboff  <msaboff@apple.com>

        Add support for RegExp named capture groups
        https://bugs.webkit.org/show_bug.cgi?id=176435

        Reviewed by Filip Pizlo.

        New regression tests.

        * js/regexp-named-capture-groups-expected.txt: Added.
        * js/regexp-named-capture-groups.html: Added.
        * js/script-tests/regexp-named-capture-groups.js: Added.

2017-09-07  Joseph Pecoraro  <pecoraro@apple.com>

        Augmented Inspector: Provide a way to inspect a DOM Node (DOM.inspect)
        https://bugs.webkit.org/show_bug.cgi?id=176563
        <rdar://problem/19639583>

        Reviewed by Matt Baker.

        * inspector/dom/inspect-expected.txt: Added.
        * inspector/dom/inspect.html: Added.
        Test the frontend on receiving DOM.inspect events.

2017-09-07  Per Arne Vollan  <pvollan@apple.com>

        Marked http/tests/misc/delete-frame-during-readystatechange.html as flaky on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=176564

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-06  Dean Jackson  <dino@apple.com>

        [WebGL] accelerated texImage2D for video doesn't respect flipY
        https://bugs.webkit.org/show_bug.cgi?id=176491
        <rdar://problem/33833511>

        Reviewed by Jer Noble.

        Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
        path.

        * fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
        * fast/canvas/webgl/resources/orientation-normal.mp4: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
        * fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
        * platform/ios/TestExpectations:

2017-09-07  Per Arne Vollan  <pvollan@apple.com>

        Mark imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.html as slow.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-07  Matt Lewis  <jlewis3@apple.com>

        Marked media/video-controls-drop-and-restore-timeline.html as flaky on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=176122

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-09-07  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html as flaky on El Capitan.
        https://bugs.webkit.org/show_bug.cgi?id=176229

        Unreviewed test gardening.

        * platform/mac-elcapitan/TestExpectations:

2017-09-07  Per Arne Vollan  <pvollan@apple.com>

        [Win] tests/security/contentSecurityPolicy/report-only.php is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176541

        Reviewed by Brent Fulgham.

        The function call rename will sometimes fail on Windows because one of the files is
        opened by another process. If rename fails, wait, and try again.

        * http/tests/security/contentSecurityPolicy/resources/save-report.php:

2017-09-07  Chris Dumez  <cdumez@apple.com>

        [WK2] Notify client when downloads are redirected
        https://bugs.webkit.org/show_bug.cgi?id=176481
        <rdar://problem/34309065>

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * http/tests/download/anchor-download-redirect-expected.txt: Added.
        * http/tests/download/anchor-download-redirect.html: Added.
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2017-09-07  Per Arne Vollan  <pvollan@apple.com>

        Marked imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.html as slow.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-07  Matt Lewis  <jlewis3@apple.com>

        Marked svg/animations/smil-leak-elements.svg as flaky on macOS WK1.
        https://bugs.webkit.org/show_bug.cgi?id=174180

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-09-07  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r221716.

        This change caused assertion failures on macOS Debug WK2.

        Reverted changeset:

        "Fetch's Response.statusText is unexpectedly the full http
        status line for HTTP/2 responses"
        https://bugs.webkit.org/show_bug.cgi?id=176479
        http://trac.webkit.org/changeset/221716

2017-09-07  Per Arne Vollan  <pvollan@apple.com>

        Update test expectations for failing tests on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Bump libxml2 version to 1.9.5
        https://bugs.webkit.org/show_bug.cgi?id=176502

        Reviewed by Carlos Alberto Lopez Perez.

        Rebaselines several tests where only the line number changed in error messages.

        * platform/gtk/fast/dom/adopt-attribute-crash-expected.txt:
        * platform/gtk/fast/parser/xml-colon-entity-expected.txt: Added.
        * platform/gtk/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
        * platform/gtk/fast/xsl/xslt-extra-content-at-end-expected.txt:
        * platform/gtk/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
        * platform/gtk/svg/custom/bug78807-expected.txt: Added.
        * 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:

2017-09-07  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Marking some service-worker related tests as crashing.

        * platform/gtk/TestExpectations:

2017-09-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r221724.

2017-09-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline more tests after Freetype version bump in r221670.

        * platform/gtk/editing/execCommand/print-expected.png:
        * platform/gtk/editing/execCommand/print-expected.txt:
        * platform/gtk/fast/forms/large-toggle-elements-expected.png:
        * platform/gtk/fast/forms/large-toggle-elements-expected.txt:
        * platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.png:
        * platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.txt:
        * platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.png:
        * platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.txt:
        * platform/gtk/fonts/complex-text-shadows-expected.png:
        * platform/gtk/fonts/complex-text-shadows-expected.txt:
        * platform/gtk/fonts/custom-font-missing-glyphs-expected.png:
        * platform/gtk/fonts/custom-font-missing-glyphs-expected.txt:
        * platform/gtk/fonts/font-face-with-complex-text-expected.png:
        * platform/gtk/fonts/font-face-with-complex-text-expected.txt:
        * platform/gtk/fonts/font-with-no-valid-encoding-expected.png:
        * platform/gtk/fonts/font-with-no-valid-encoding-expected.txt:
        * platform/gtk/fonts/fontconfig-aliasing-settings-expected.png:
        * platform/gtk/fonts/fontconfig-aliasing-settings-expected.txt:
        * platform/gtk/fonts/non-bmp-characters-expected.png:
        * platform/gtk/fonts/non-bmp-characters-expected.txt:
        * platform/gtk/fonts/xsettings_antialias_settings-expected.png:
        * platform/gtk/fonts/xsettings_antialias_settings-expected.txt:
        * platform/gtk/fonts/zero-pixel-sized-fonts-expected.png:
        * platform/gtk/fonts/zero-pixel-sized-fonts-expected.txt:
        * platform/gtk/transitions/svg-text-shadow-transition-expected.png:
        * platform/gtk/transitions/svg-text-shadow-transition-expected.txt:

2017-09-06  Joseph Pecoraro  <pecoraro@apple.com>

        Fetch's Response.statusText is unexpectedly the full http status line for HTTP/2 responses
        https://bugs.webkit.org/show_bug.cgi?id=176479

        Reviewed by Alexey Proskuryakov.

        * http/wpt/fetch/resources/status-garbage.asis: Added.
        * http/wpt/fetch/resources/status-normal.txt: Added.
        * http/wpt/fetch/resources/status-with-message.asis: Added.
        * http/wpt/fetch/resources/status-without-message.asis: Added.
        Various text HTTP responses with different status lines.

        * http/wpt/fetch/response-status-text-expected.txt: Added.
        * http/wpt/fetch/response-status-text.html: Added.
        Test the Fetch Response's status / statusText for different HTTP status lines.
        The status without a message is similiar to HTTP/2 because HTTP/2 only
        has a :status pseudo-header and lacks a reason phrase.

2017-09-06  Youenn Fablet  <youenn@apple.com>

        NetworkProcess Cache and Caches should be cleared when the last related WebProcess Cache or CacheStorage is destroyed
        https://bugs.webkit.org/show_bug.cgi?id=176249

        Reviewed by Alex Christensen.

        * http/tests/cache-storage/cache-representation.https-expected.txt: Added.
        * http/tests/cache-storage/cache-representation.https.html: Added.
        * http/tests/cache-storage/resources/cache-persistency-iframe.html:

2017-09-06  Matt Lewis  <jlewis3@apple.com>

        Marked media/video-main-content-allow-then-scroll.html as flaky on macOS and failing on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=161491

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-09-06  Youenn Fablet  <youenn@apple.com>

        Support caching of Response with a ReadableStream body
        https://bugs.webkit.org/show_bug.cgi?id=176462

        Reviewed by Alex Christensen.

        * TestExpectations: Removing flakiness expectation for cache-put tests.
        * http/wpt/cache-storage/cache-put-stream.https.any-expected.txt: Added.
        * http/wpt/cache-storage/cache-put-stream.https.any.html: Added.
        * http/wpt/cache-storage/cache-put-stream.https.any.js: Added.
        (cache_test.):
        (cache_test):
        (string_appeared_here.cache_test.return.reader.read.then.):
        (string_appeared_here.cache_test):
        * http/wpt/cache-storage/cache-put-stream.https.any.worker-expected.txt: Added.
        * http/wpt/cache-storage/cache-put-stream.https.any.worker.html: Added.

2017-09-06  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r221461.

        The LayoutTest added with this change crashes under
        GuardMalloc.

        Reverted changeset:

        "Add (entirely incorrect) fetching of ServiceWorker scripts."
        https://bugs.webkit.org/show_bug.cgi?id=176179
        http://trac.webkit.org/changeset/221461

2017-09-06  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Support overloaded CanvasRenderingContext2D actions with identical parameter counts
        https://bugs.webkit.org/show_bug.cgi?id=176178
        <rdar://problem/34192229>

        Reviewed by Matt Baker.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-webgl-expected.txt:
        * inspector/canvas/recording-webgl-snapshots-expected.txt:
        * inspector/model/recording-expected.txt:
        * inspector/model/recording.html:

2017-09-06  Sam Weinig  <sam@webkit.org>

        REGRESSION (r221598): Legacy "round" and "bevel" options can no longer be used with the legacy CanvasRenderingContext2D setLineJoin operation
        https://bugs.webkit.org/show_bug.cgi?id=176461

        Reviewed by Alex Christensen.

        Add tests showing that the legacy setLineJoin and setLineCap operations are correct
        and match the corresponding standard attributes.

        * fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute-expected.html: Added.
        * fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute.html: Added.
        * fast/canvas/canvas-strokePath-cap-join-legacy-expected.txt: Added.
        * fast/canvas/canvas-strokePath-cap-join-legacy.html: Added.

2017-09-06  Per Arne Vollan  <pvollan@apple.com>

        Rebaseline printing/width-overflow.html after r219121.

        Unreviewed test gardening.

        * platform/win/printing/width-overflow-expected.txt:

2017-09-06  Matt Lewis  <jlewis3@apple.com>

        Marked js/arraybuffer-wrappers.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=155092

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-09-06  Brent Fulgham  <bfulgham@apple.com>

        Deny third-party cookie creation for prevalent resources without interaction
        https://bugs.webkit.org/show_bug.cgi?id=175232
        <rdar://problem/33709386>

        Reviewed by Alex Christensen.

        * http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Added.
        * platform/mac-highsierra-wk2/TestExpectations: Add new test expectation.

2017-09-06  Per Arne Vollan  <pvollan@apple.com>

        Layout Test http/tests/preload/single_download_preload.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=176465.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-06  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Add missing test expectations
        https://bugs.webkit.org/show_bug.cgi?id=176453

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:
        * platform/wpe/fast/events/context-no-deselect-expected.txt: Added.
        * platform/wpe/fast/events/event-listener-on-link-expected.txt: Added.
        * platform/wpe/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
        * platform/wpe/fast/events/onload-re-entry-expected.txt: Added.
        * platform/wpe/fast/events/pointer-events-2-expected.txt: Added.
        * platform/wpe/fast/events/resize-events-expected.txt: Added.
        * platform/wpe/fast/events/reveal-link-when-focused-expected.txt: Added.
        * platform/wpe/fast/events/updateLayoutForHitTest-expected.txt: Added.
        * platform/wpe/fast/inspector-support/matchedrules-expected.txt: Added.

2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 7.

2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 6.

2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 5.

2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 4.

2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 3.

2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 2.

2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 1.

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

        [css-grid] grid shorthand should not reset the gutter properties
        https://bugs.webkit.org/show_bug.cgi?id=176375

        Reviewed by Sergio Villar Senin.

        Update the test to check the new behavior.

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

2017-09-06  Zan Dobersek  <zdobersek@igalia.com>

        [WebGL2] Implement getActiveUniforms()
        https://bugs.webkit.org/show_bug.cgi?id=175203

        Reviewed by Darin Adler.

        Add a basic gl.getActiveUniforms() test that checks proper return values
        for a mat4 uniform in the simple vertex shader that's used when creating
        the 'standard' program through webgl-test.js utilities. The test remains
        skipped on GTK+ and Windows (WebGL 2.0 disabled). Mac port skips it as
        well since the shader can't be compiled properly. WPE and iOS run the
        test and are passing it.

        * fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt: Added.
        * fast/canvas/webgl/webgl2-getActiveUniforms.html: Added.
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:

2017-09-05  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline test after r221639.

        * fast/forms/file/entries-api/drag-folder-webkitEntries-expected.txt:
        * fast/forms/file/entries-api/drag-folder-webkitEntries.html:

2017-09-05  Darin Adler  <darin@apple.com>

        Fix a few minor problems found while working toward removing unneeded calls to updateStyle
        https://bugs.webkit.org/show_bug.cgi?id=176279

        Reviewed by Antti Koivisto.

        * svg/hittest/svg-tooltip.svg: Made this test easier to run outside of WebKitTestRunnner,
        by removing some overzealous checks.

2017-09-05  Chris Dumez  <cdumez@apple.com>

        Add support for input.webkitEntries
        https://bugs.webkit.org/show_bug.cgi?id=176257
        <rdar://problem/34218671>

        Reviewed by Andreas Kling.

        Add layout test coverage.

        * fast/forms/file/entries-api/drag-folder-webkitEntries-expected.txt: Added.
        * fast/forms/file/entries-api/drag-folder-webkitEntries.html: Added.
        * fast/forms/file/entries-api/webkitdirectory-drag-folder-webkitEntries-expected.txt: Added.
        * fast/forms/file/entries-api/webkitdirectory-drag-folder-webkitEntries.html: Added.
        * http/wpt/entries-api/interfaces-expected.txt:
        * platform/wk2/TestExpectations:

2017-09-05  Per Arne Vollan  <pvollan@apple.com>

        Marked imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/joint_session_history/001.html as slow.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-05  Chris Dumez  <cdumez@apple.com>

        FileSystemEntry API should ignore hidden files
        https://bugs.webkit.org/show_bug.cgi?id=176292
        <rdar://problem/34257666>

        Reviewed by Andreas Kling.

        Add layout test coverage.

        * editing/pasteboard/enties-api/datatransfer-items-drop-getAsEntry-expected.txt:
        * editing/pasteboard/enties-api/datatransfer-items-drop-getAsEntry.html:
        * editing/pasteboard/enties-api/datatransfer-items-drop-hidden-file-expected.txt: Added.
        * editing/pasteboard/enties-api/datatransfer-items-drop-hidden-file.html: Added.
        * fast/forms/file/entries-api/resources/testFiles/.hidden.txt: Added.
        * fast/forms/file/entries-api/resources/testFiles/.hidden/hidden.txt: Added.
        * platform/win/TestExpectations:

2017-09-05  Matt Lewis  <jlewis3@apple.com>

        Marked svg/as-image/svg-image-with-data-uri-background.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172877

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-09-05  Per Arne Vollan  <pvollan@apple.com>

        DataTransferItem tests are timing out on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=176423.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-05  Youenn Fablet  <youenn@apple.com>

        Cache Storage Engine should not mix different origin caches
        https://bugs.webkit.org/show_bug.cgi?id=176394

        Reviewed by Alex Christensen.

        * http/tests/cache-storage/cache-origins.https-expected.txt: Added.
        * http/tests/cache-storage/cache-origins.https.html: Added.
        * http/tests/cache-storage/resources/cache-persistency-iframe.html:

2017-09-05  Per Arne Vollan  <pvollan@apple.com>

        Unskip two tests which was skipped by mistake.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Update font selection algorithm to match latest CSS spec
        https://bugs.webkit.org/show_bug.cgi?id=175236

        Reviewed by Darin Adler.

        * fast/text/variations/font-selection-font-weight-expected.html: Added.
        * fast/text/variations/font-selection-font-weight.html: Added.

2017-09-05  Matt Lewis  <jlewis3@apple.com>

        Marked media/W3C/video/events/event_progress.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175678

        Unreviewed test gardening.
        * platform/wk2/TestExpectations:

2017-09-05  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r221603.

        This caused accessibility/mac/select-element-selection-with-
        optgroups.html to consistently timeout on macOS

        Reverted changeset:

        "Fix a few minor problems found while working toward removing
        unneeded calls to updateStyle"
        https://bugs.webkit.org/show_bug.cgi?id=176279
        http://trac.webkit.org/changeset/221603

2017-09-05  Joseph Pecoraro  <pecoraro@apple.com>

        test262: Completion values for control flow do not match the spec
        https://bugs.webkit.org/show_bug.cgi?id=171265

        Reviewed by Saam Barati.

        * js/eval-throw-return-expected.txt:
        * js/kde/completion-expected.txt:
        * js/kde/script-tests/completion.js:
        * js/script-tests/eval-throw-return.js:
        * sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A9-expected.txt:
        * sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A9.1-expected.txt:
        Rebaseline expectations. These are all outdated. In fact the sputnik
        tests were imported into test262 and modified for ES2015.
        
        * js/script-tests/function-toString-vs-name.js:
        ClassDeclarations on their own don't produce a value. So output
        the class value so the test behaves as expected.

2017-09-05  Charlie Turner  <cturner@igalia.com>

        [WPE] Test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=176370

        Unreviewed test gardening.

        * platform/wpe/TestExpectations: Updated accordingly.
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt: Rebaselined

2017-09-05  Per Arne Vollan  <pvollan@apple.com>

        Skip service workers tests on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-05  Frederic Wang  <fwang@igalia.com>

        Use TilesBacking for iframes when async frame scrolling is enabled
        https://bugs.webkit.org/show_bug.cgi?id=173644

        Reviewed by Simon Fraser.

        This patch adds a test to verify the graphic layers created for frames when async scrolling
        is enabled. On iOS and macOS and WK2, new layers appear for the tiled content, scroll bars...

        * compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Added.
        * compositing/tiling/tiled-drawing-async-frame-scrolling.html: Added.
        * platform/ios-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Added.
        * platform/mac-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Added.

2017-09-04  Yoav Weiss  <yoav@yoav.ws>

        [iOS Simulator] http/tests/preload/viewport/meta-viewport-link-headers.php is a flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=172518

        This unflakes the test by downloading a "timer" image and kicking off the timer that runs the
        test only once that image was downloaded, while potentially waiting for the preloaded images to arrive,
        up to 1 second.
        That means that slow test environments would have a longer timer than today, avoiding flakiness.

        Reviewed by Youenn Fablet.

        * http/tests/preload/viewport/meta-viewport-link-headers.php: Add a "timer" image, which load event starts the test.
        * platform/ios/TestExpectations: Unflake the test in expectations.

2017-09-03  Darin Adler  <darin@apple.com>

        Fix a few minor problems found while working toward removing unneeded calls to updateStyle
        https://bugs.webkit.org/show_bug.cgi?id=176279

        Reviewed by Antti Koivisto.

        * svg/hittest/svg-tooltip.svg: Made this test easier to run outside of WebKitTestRunnner,
        by removing some overzealous checks.

2017-09-04  Sam Weinig  <sam@webkit.org>

        [Canvas] Split CanvasRenderingContext2D.idl into separate IDLs to match current HTML spec
        https://bugs.webkit.org/show_bug.cgi?id=176276

        Reviewed by Dean Jackson.

        * fast/canvas/canvas-clip-path-expected.txt:
        * fast/canvas/canvas-fill-path-expected.txt:
        * fast/canvas/canvas-path-addPath-expected.txt:
        * fast/canvas/canvas-path-isPointInPath-expected.txt:
        * fast/canvas/canvas-path-isPointInStroke-expected.txt:
        * fast/canvas/canvas-stroke-path-expected.txt:
        * fast/canvas/winding-enumeration-expected.txt:
        * inspector/canvas/recording-2d-expected.txt:
        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        
            Update results.

2017-09-04  Ms2ger  <Ms2ger@igalia.com>

        Loosen the check in video-canvas-drawing-output.html.
        https://bugs.webkit.org/show_bug.cgi?id=127106

        Reviewed by Xabier Rodriguez-Calvar.

        GStreamer needs the extra tolerance since version 1.2.1.

        * media/video-canvas-drawing-output.html:
        * platform/gtk/TestExpectations:

2017-09-03  Chris Dumez  <cdumez@apple.com>

        Consolidate entries-api tests under entries-api/ folders
        https://bugs.webkit.org/show_bug.cgi?id=176315

        Reviewed by Darin Adler.

        Consolidate entries-api tests under entries-api/ folders, for clarity.
        Also drop an older test for directory upload which did not pass because
        it was missing its resources. We now have good coverage for this feature
        so this test is not needed.

        * editing/pasteboard/enties-api/datatransfer-items-drop-directoryReader-error-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-directoryReader-error-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-directoryReader-error.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-directoryReader-error.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-directoryReader-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-directoryReader-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-directoryReader-root-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-directoryReader-root-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-directoryReader-root.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-directoryReader-root.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-directoryReader.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-directoryReader.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-fileEntry-file-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-fileEntry-file-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-fileEntry-file.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-fileEntry-file.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getAsEntry-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getAsEntry-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getAsEntry.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getAsEntry.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getDirectory-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getDirectory-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getDirectory.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getDirectory.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getFile-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getFile-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getFile.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getFile.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getParent-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getParent-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getParent-root-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getParent-root-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getParent-root.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getParent-root.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getParent.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getParent.html.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getParent2-expected.txt: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getParent2-expected.txt.
        * editing/pasteboard/enties-api/datatransfer-items-drop-getParent2.html: Renamed from LayoutTests/editing/pasteboard/datatransfer-items-drop-getParent2.html.
        * fast/forms/file/entries-api/resources/testFiles/file1.txt: Renamed from LayoutTests/fast/forms/file/resources/testFiles/file1.txt.
        * fast/forms/file/entries-api/resources/testFiles/file2.txt: Renamed from LayoutTests/fast/forms/file/resources/testFiles/file2.txt.
        * fast/forms/file/entries-api/resources/testFiles/subfolder1/file3.txt: Renamed from LayoutTests/fast/forms/file/resources/testFiles/subfolder1/file3.txt.
        * fast/forms/file/entries-api/resources/testFiles/subfolder2/file4.txt: Renamed from LayoutTests/fast/forms/file/resources/testFiles/subfolder2/file4.txt.
        * fast/forms/file/entries-api/resources/testFiles/subfolder2/subfolder2a/file5.txt: Renamed from LayoutTests/fast/forms/file/resources/testFiles/subfolder2/subfolder2a/file5.txt.
        * fast/forms/file/entries-api/webkitdirectory-drag-folder-expected.txt: Renamed from LayoutTests/fast/forms/file/webkitdirectory-drag-folder-expected.txt.
        * fast/forms/file/entries-api/webkitdirectory-drag-folder.html: Renamed from LayoutTests/fast/forms/file/webkitdirectory-drag-folder.html.
        * fast/forms/file/entries-api/webkitdirectory-open-panel-expected.txt: Renamed from LayoutTests/fast/forms/file/webkitdirectory-open-panel-expected.txt.
        * fast/forms/file/entries-api/webkitdirectory-open-panel.html: Renamed from LayoutTests/fast/forms/file/webkitdirectory-open-panel.html.
        * fast/forms/file/input-file-directory-upload-expected.txt: Removed.
        * fast/forms/file/input-file-directory-upload.html: Removed.
        * platform/ios/TestExpectations:
        * platform/mac-wk1/fast/forms/file/entries-api/webkitdirectory-open-panel-expected.txt: Renamed from LayoutTests/platform/mac-wk1/fast/forms/file/webkitdirectory-open-panel-expected.txt.
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wk2/TestExpectations:

2017-09-02  Chris Dumez  <cdumez@apple.com>

        Implement FileSystemFileEntry.file()
        https://bugs.webkit.org/show_bug.cgi?id=176166
        <rdar://problem/34187756>

        Reviewed by Sam Weinig.

        Add layout test coverage. I have verified that this test passes in Chrome as well.

        * editing/pasteboard/datatransfer-items-drop-fileEntry-file-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-fileEntry-file.html: Added.
        * platform/wk2/TestExpectations:

2017-09-02  Chris Dumez  <cdumez@apple.com>

        Implement FileSystemDirectoryEntry.getDirectory()
        https://bugs.webkit.org/show_bug.cgi?id=176168
        <rdar://problem/34187787>

        Reviewed by Darin Adler.

        Add layout test coverage.

        * editing/pasteboard/datatransfer-items-drop-getDirectory-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-getDirectory.html: Added.
        * platform/wk2/TestExpectations:

2017-09-01  Sam Weinig  <sam@webkit.org>

        DOMMatrix and DOMMatrixReadOnly should be available in workers
        https://bugs.webkit.org/show_bug.cgi?id=176255

        Reviewed by Simon Fraser.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-dedicated-worker-expected.txt
        * platform/wpe/js/dom/global-constructors-attributes-dedicated-worker-expected.txt

2017-09-01  Chris Dumez  <cdumez@apple.com>

        Implement FileSystemDirectoryEntry.getFile()
        https://bugs.webkit.org/show_bug.cgi?id=176167
        <rdar://problem/34187775>

        Reviewed by Andreas Kling.

        Add layout test coverage.

        * editing/pasteboard/datatransfer-items-drop-getFile-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-getFile.html: Added.

2017-09-01  Matt Lewis  <jlewis3@apple.com>

        Skipped multiple webgl tests.
        <rdar://problem/34209038>

        Unreviewed test gardening.

        * platform/ios-11/TestExpectations:

2017-09-01  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Add support for consuming a Request ReadableStream body
        https://bugs.webkit.org/show_bug.cgi?id=176182

        Reviewed by Alex Christensen.

        * http/wpt/fetch/request-stream-disturbed-1-expected.txt:
        * http/wpt/fetch/request-stream-disturbed-2-expected.txt:
        * http/wpt/fetch/request-stream-disturbed-3-expected.txt:
        * http/wpt/fetch/request-stream-empty-expected.txt: Added.
        * http/wpt/fetch/request-stream-empty.html: Added.
        * http/wpt/fetch/request-stream-error-expected.txt: Added.
        * http/wpt/fetch/request-stream-error.html: Added.

2017-09-01  Per Arne Vollan  <pvollan@apple.com>

        http/tests/misc/slow-loading-animated-image.html is flaky on iOS simulator and Windows.
        https://bugs.webkit.org/show_bug.cgi?id=157916

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-09-01  Simon Fraser  <simon.fraser@apple.com>

        transformCanLikelyUseFastPath() can read off the end of a string
        https://bugs.webkit.org/show_bug.cgi?id=176232
        rdar://problem/33851237

        Reviewed by Tim Horton.

        * fast/css/transform-fast-paths-expected.txt: Added.
        * fast/css/transform-fast-paths.html: Added.

2017-09-01  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/datachannel/bufferedAmountLowThreshold.html as flaky on Mac WK1.
        https://bugs.webkit.org/show_bug.cgi?id=172334

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-09-01  Chris Dumez  <cdumez@apple.com>

        Implement FileSystemEntry.getParent()
        https://bugs.webkit.org/show_bug.cgi?id=176165
        <rdar://problem/34187743>

        Reviewed by Andreas Kling.

        * editing/pasteboard/datatransfer-items-drop-getParent-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-getParent-root-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-getParent-root.html: Added.
        * editing/pasteboard/datatransfer-items-drop-getParent.html: Added.
        * editing/pasteboard/datatransfer-items-drop-getParent2-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-getParent2.html: Added.
        Add layout test coverage for FileSystemEntry.getParent().

        * http/wpt/entries-api/interfaces-expected.txt:
        Rebaseline test now that one more check is passing.

        * platform/wk2/TestExpectations:
        Skip new tests on WK2 since they rely on beginDragWithFiles.

2017-09-01  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Mark audio-mpeg-supported.html as passing.
        https://bugs.webkit.org/show_bug.cgi?id=131535

        Unreviewed test gardening.

        The last time it intermittently timed out was on r194436.
        (It also timed out between r200951 and r201016, but that was consistent
        and unrelated.)

        * platform/gtk/TestExpectations:

2017-09-01  Ms2ger  <Ms2ger@igalia.com>

        Mark media-ended.html as passing.
        https://bugs.webkit.org/show_bug.cgi?id=131534

        Unreviewed test gardening.

        The test needs to run through the entire audio file twice, so it will
        take several seconds by design. GTK used to have a shorter timeout,
        which was extended in r218270. The test hasn't timed out since.

        * platform/gtk/TestExpectations:

2017-08-31  Sam Weinig  <sam@webkit.org>

        Implement DOMMatrix2DInit for setTransform()/addPath()
        https://bugs.webkit.org/show_bug.cgi?id=176048

        Reviewed by Simon Fraser.

        * fast/canvas/canvas-path-addPath-expected.txt:
        * fast/canvas/canvas-path-addPath.html:
        Update test / results now that the transform is for the path is an optional dictionary.
        Mostly this means we throw a little less.

2017-08-31  Brady Eidson  <beidson@apple.com>

        Add (entirely incorrect) fetching of ServiceWorker scripts.
        https://bugs.webkit.org/show_bug.cgi?id=176179

        Reviewed by Andy Estes.

        * http/tests/workers/service/basic-register-expected.txt:
        * http/tests/workers/service/resources/basic-register.js:
        * http/tests/workers/service/resources/registration-task-queue-scheduling-1.js:

2017-08-31  Antti Koivisto  <antti@apple.com>

        Remove newBlockInsideInlineModel and anonymous inline block
        https://bugs.webkit.org/show_bug.cgi?id=176181

        Reviewed by Zalan Bujtas.

        * TestExpectations:
        * fast/block/inside-inlines/crash-on-first-line-change.html:

            Don't set newBlockInsideInlineModel.

        * fast/block/inside-inlines/new-model: Removed.
        * fast/block/inside-inlines/new-model/basic-float-intrusion-expected.html: Removed.
        * fast/block/inside-inlines/new-model/basic-float-intrusion.html: Removed.
        * fast/block/inside-inlines/new-model/block-width-check-expected.html: Removed.
        * fast/block/inside-inlines/new-model/block-width-check.html: Removed.
        * fast/block/inside-inlines/new-model/breaking-behavior-expected.html: Removed.
        * fast/block/inside-inlines/new-model/breaking-behavior.html: Removed.
        * fast/block/inside-inlines/new-model/empty-block-expected.html: Removed.
        * fast/block/inside-inlines/new-model/empty-block.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/001-expected.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/001.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/002-expected.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/002.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/003-expected.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/003.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/004-expected.html: Removed.
        * fast/block/inside-inlines/new-model/margin-collapse/004.html: Removed.
        * fast/block/inside-inlines/new-model/margins-pushing-below-float-expected.html: Removed.
        * fast/block/inside-inlines/new-model/margins-pushing-below-float.html: Removed.
        * fast/block/inside-inlines/new-model/paint-order-expected.html: Removed.
        * fast/block/inside-inlines/new-model/paint-order.html: Removed.
        * fast/block/inside-inlines/new-model/self-collapsing-test-expected.html: Removed.
        * fast/block/inside-inlines/new-model/self-collapsing-test.html: Removed.

            These are reftests comparing newBlockInsideInlineModel and the current model and don't have value anymore.

        * fast/block/inside-inlines/opacity-on-inline.html:

            Don't set newBlockInsideInlineModel.
            Marked this as failing since it only worked with newBlockInsideInlineModel enabled.
            The test passes in Firefox and fails in Chrome.

2017-08-31  Youenn Fablet  <youenn@apple.com>

        Add support for Request body stream cloning
        https://bugs.webkit.org/show_bug.cgi?id=176148

        Reviewed by Alex Christensen.

        * http/wpt/fetch/request-clone-expected.txt: Added.
        * http/wpt/fetch/request-clone.html: Added.
        * http/wpt/fetch/request-consume-stream-expected.txt: Added.
        * http/wpt/fetch/request-consume-stream.html: Added.
        * http/wpt/fetch/request-stream-disturbed-1-expected.txt: Added.
        * http/wpt/fetch/request-stream-disturbed-1.html: Added.
        * http/wpt/fetch/request-stream-disturbed-2-expected.txt: Added.
        * http/wpt/fetch/request-stream-disturbed-2.html: Added.
        * http/wpt/fetch/request-stream-disturbed-3-expected.txt: Added.
        * http/wpt/fetch/request-stream-disturbed-3.html: Added.

2017-08-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK][WPE] Mark test media/event-queue-crash as flaky
        https://bugs.webkit.org/show_bug.cgi?id=176174

        Unreviewed gardening.

        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:

2017-08-31  Jonathan Bedard  <jbedard@apple.com>

        iOS should include both iPad and iPhone when running layout tests
        https://bugs.webkit.org/show_bug.cgi?id=176172
        <rdar://problem/34190219>

        Reviewed by Tim Horton.

        * resources/ui-helper.js:
        (window.UIHelper.isIOS): 

2017-08-31  Youenn Fablet  <youenn@apple.com>

        Take into account removed caches in Caches::remove assertion
        https://bugs.webkit.org/show_bug.cgi?id=176164

        Reviewed by Alex Christensen.

        * http/wpt/cache-storage/cache-remove-twice-expected.txt: Added.
        * http/wpt/cache-storage/cache-remove-twice.html: Added.
        * http/wpt/cache-storage/resources/cache-remove-twice-iframe.html: Added.

2017-08-31  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, remove crash expectation for hopefully-fixed test
        https://bugs.webkit.org/show_bug.cgi?id=175577

        * platform/gtk/TestExpectations:

2017-08-22  Darin Adler  <darin@apple.com>

        REGRESSION (r220052): ASSERTION FAILED: !frame().isMainFrame() || !needsStyleRecalcOrLayout()  in WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()
        https://bugs.webkit.org/show_bug.cgi?id=175270

        Reviewed by Simon Fraser and Antti Koivisto.

        * platform/mac-wk2/TestExpectations: Re-enable the disabled test.

2017-08-31  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Mark some tests as passing.
        https://bugs.webkit.org/show_bug.cgi?id=176156

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
          - fast/hidpi/percent-height-image-nested.html: passing since test change in r217943.
          - fast/ruby/bopomofo.html: passing since r216874.
          - fast/ruby/bopomofo-letter-spacing.html: passing since r216874.
          - fast/ruby/bopomofo-rl.html: passing since r216874.
          - fast/sub-pixel/sub-pixel-composited-layers.html: passing since r215179.
          - fast/text/font-weight-download-2.html: passing since r216944.
          - fast/text/justify-ideograph-vertical.html: passing since r216874.
          - fast/text/multiglyph-characters.html: passing since r216817.
          - http/tests/misc/will-send-request-returns-null-on-redirect.html: passing since r214245.
          - http/tests/security/contentSecurityPolicy/video-with-https-url-allowed-by-csp-media-src-star.html: passing since r211627.
          - imported/w3c/web-platform-tests/css/css-ui-3/text-overflow-005.html: has been passing all along on GTK.
          - imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.html: passing since r218269-r218276.
          - imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin.html: matching expectations since rebaseline in r215164.
          - imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html: matching expectations since rebaseline in r215164.
          - imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html: passing since r218248.

2017-08-31  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Use reifying system for "name" property of builtin JSFunction
        https://bugs.webkit.org/show_bug.cgi?id=175260

        Reviewed by Saam Barati.

        * js/dom/builtin-getter-name-expected.txt: Added.
        * js/dom/builtin-getter-name.html: Added.

2017-08-30  Chris Dumez  <cdumez@apple.com>

        Implement FileSystemDirectoryReader.readEntries()
        https://bugs.webkit.org/show_bug.cgi?id=176091
        <rdar://problem/34168015>

        Reviewed by Andreas Kling.

        Add layout test coverage.

        * editing/editing.js:
        (moveMouseToCenterOfElement):
        (dragFilesOntoElement):
        * editing/pasteboard/datatransfer-items-drop-directoryReader-error-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-directoryReader-error.html: Added.
        * editing/pasteboard/datatransfer-items-drop-directoryReader-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-directoryReader-root-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-directoryReader-root.html: Added.
        * editing/pasteboard/datatransfer-items-drop-directoryReader.html: Added.
        * editing/pasteboard/datatransfer-items-drop-getAsEntry.html:
        * platform/wk2/TestExpectations:

2017-08-30  Myles C. Maxfield  <mmaxfield@apple.com>

        Previous elements with lang= can affect fonts selected for subsequent elements
        https://bugs.webkit.org/show_bug.cgi?id=175959
        <rdar://problem/33785853>

        Reviewed by Zalan Bujtas.

        * fast/text/lang-font-selection-cache-expected.html: Added.
        * fast/text/lang-font-selection-cache.html: Added.

2017-08-30  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r221327.

        This change caused test262 failures.

        Reverted changeset:

        "[JSC] Use reifying system for "name" property of builtin
        JSFunction"
        https://bugs.webkit.org/show_bug.cgi?id=175260
        http://trac.webkit.org/changeset/221327

2017-08-30  Youenn Fablet  <youenn@apple.com>

        [Cache API] Support cache names persistency
        https://bugs.webkit.org/show_bug.cgi?id=175995

        Reviewed by Alex Christensen.

        Putting these tests in http/tests folder so that they run in a different origin and so a different Caches than other tests.
        Testing private browsing caching and clearing the memory representation would probably affect other cache+prviate browsing tests that would run in parallel.

        * http/tests/cache-storage/cache-persistency.https-expected.txt: Added.
        * http/tests/cache-storage/cache-persistency.https.html: Added.
        * http/tests/cache-storage/resources/cache-persistency-iframe.html: Added.
        * platform/ios-wk1/TestExpectations: Skipping new test on WK1.
        * platform/mac-wk1/TestExpectations: Ditto.

2017-08-30  Per Arne Vollan  <pvollan@apple.com>

        Update expectations for CSS regions tests after r220870.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-08-30  Brady Eidson  <beidson@apple.com>

        Implement all of "Register" right up until where the script is fetched.
        https://bugs.webkit.org/show_bug.cgi?id=176082

        Reviewed by Andy Estes.

        * http/tests/workers/service/basic-register-exceptions-expected.txt: Added.
        * http/tests/workers/service/basic-register-exceptions.html: Added.
        * http/tests/workers/service/resources/basic-register-exceptions.js: Added.

2017-08-22  Matt Rajca  <mrajca@apple.com>

        Opt all Mac clients into document-level media user gesture quirks.
        https://bugs.webkit.org/show_bug.cgi?id=175831

        Reviewed by Eric Carlson.

        * media/document-level-media-user-gesture-quirk-expected.txt: Added.
        * media/document-level-media-user-gesture-quirk.html: Added.

2017-08-30  Matt Lewis  <jlewis3@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for High Sierra after r221302.

        Unreviewed test gardening.

        * platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra-wk2/js/dom/global-constructors-attributes-expected.txt: Copied from LayoutTests/platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt.

2017-08-30  Alicia Boya García  <aboya@igalia.com>

        Unreviewed GTK test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=176111

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/ios-wk2/TestExpectations:

2017-08-30  Antti Koivisto  <antti@apple.com>

        RenderMultiColumnFlowThread - Avoid render tree mutation during layout
        https://bugs.webkit.org/show_bug.cgi?id=176026
        <rdar://problem/33402891>

        Reviewed by Zalan Bujtas.

        * imported/blink/fast/pagination/first-letter-inherit-all-crash-expected.txt:

2017-08-30  Matt Lewis  <jlewis3@apple.com>

        Creation of missing expectation folders and rebaseline for js/dom/global-constructors-attributes-expected.txt after r221302.

        * platform/mac-sierra-wk2/js/dom/global-constructors-attributes-expected.txt: Added.

2017-08-30  Said Abou-Hallawa  <sabouhallawa@apple.com>

        The SVG fragment identifier is not respected if it is a part of an HTTP URL
        https://bugs.webkit.org/show_bug.cgi?id=163811

        Reviewed by Darin Adler.

        * http/tests/svg/resources/rgb-icons-1.svg: Added.
        * http/tests/svg/resources/rgb-icons-2.svg: Added.
        * http/tests/svg/resources/rgb-icons-3.svg: Added.
        * http/tests/svg/svg-fragment-background-expected.html: Added.
        * http/tests/svg/svg-fragment-background.html: Added.
        * http/tests/svg/svg-fragment-image-expected.html: Added.
        * http/tests/svg/svg-fragment-image.html: Added.

2017-08-30  Per Arne Vollan  <pvollan@apple.com>

        The test imported/w3c/web-platform-tests/dom/traversal/NodeFilter-constants.html is slow on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-08-30  Per Arne Vollan  <pvollan@apple.com>

        The test imported/w3c/web-platform-tests/encoding/api-basics.html is slow on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-08-30  Zan Dobersek  <zdobersek@igalia.com>

        [WebCrypto] Add layout tests covering EC P-521
        https://bugs.webkit.org/show_bug.cgi?id=175659

        Reviewed by Jiewen Tan.

        Add layout tests that cover operations with 521-bit elliptic curves.
        The newly-introduced tests are skipped on all platforms for now since
        no implementation provides support just yet. The already-existing tests
        are modified in a way that only tests the EC P-521 capability optionally,
        if e.g. P-521 key imports are successful, without affecting the tests for
        P-256 and P-384 operations.

        The newly-introduced tests are mirros of existing P-256 and P-384 tests,
        but they specifically test the P-521 capabilities and use appropriate
        curve information (X and Y coordinates for the EC public key, D for the
        EC private key) for that type of elliptic curve.

        * crypto/subtle/ec-import-pkcs8-key-export-pkcs8-key-p521-expected.txt: Added.
        * crypto/subtle/ec-import-pkcs8-key-export-pkcs8-key-p521.html: Added.
        * crypto/subtle/ec-import-spki-key-export-spki-key-p521-expected.txt: Added.
        * crypto/subtle/ec-import-spki-key-export-spki-key-p521.html: Added.
        * crypto/subtle/ecdh-derive-bits-length-limits-expected.txt:
        * crypto/subtle/ecdh-derive-bits-length-limits.html:
        * crypto/subtle/ecdh-generate-export-jwk-key-p521-expected.txt: Added.
        * crypto/subtle/ecdh-generate-export-jwk-key-p521.html: Added.
        * crypto/subtle/ecdh-generate-export-key-pkcs8-p521-expected.txt: Added.
        * crypto/subtle/ecdh-generate-export-key-pkcs8-p521.html: Added.
        * crypto/subtle/ecdh-generate-export-key-raw-p521-expected.txt: Added.
        * crypto/subtle/ecdh-generate-export-key-raw-p521.html: Added.
        * crypto/subtle/ecdh-generate-export-key-spki-p521-expected.txt: Added.
        * crypto/subtle/ecdh-generate-export-key-spki-p521.html: Added.
        * crypto/subtle/ecdh-generate-key-p521-expected.txt: Added.
        * crypto/subtle/ecdh-generate-key-p521.html: Added.
        * crypto/subtle/ecdh-import-jwk-private-key-p521-expected.txt: Added.
        * crypto/subtle/ecdh-import-jwk-private-key-p521.html: Added.
        * crypto/subtle/ecdh-import-jwk-public-key-p521-expected.txt: Added.
        * crypto/subtle/ecdh-import-jwk-public-key-p521.html: Added.
        * crypto/subtle/ecdh-import-pkcs8-key-p521-expected.txt: Added.
        * crypto/subtle/ecdh-import-pkcs8-key-p521-validate-ecprivatekey-parameters-publickey-expected.txt: Added.
        * crypto/subtle/ecdh-import-pkcs8-key-p521-validate-ecprivatekey-parameters-publickey.html: Added.
        * crypto/subtle/ecdh-import-pkcs8-key-p521.html: Added.
        * crypto/subtle/ecdh-import-raw-key-p521-expected.txt: Added.
        * crypto/subtle/ecdh-import-raw-key-p521.html: Added.
        * crypto/subtle/ecdh-import-spki-key-ecdh-identifier-expected.txt:
        * crypto/subtle/ecdh-import-spki-key-ecdh-identifier.html:
        * crypto/subtle/ecdh-import-spki-key-p521-expected.txt: Added.
        * crypto/subtle/ecdh-import-spki-key-p521.html: Added.
        * crypto/subtle/ecdsa-generate-key-sign-verify-p521-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-key-sign-verify-p521.html: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key-alg-521-expected.txt: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key-alg-521.html: Added.
        * crypto/subtle/ecdsa-import-key-sign-p521-expected.txt: Added.
        * crypto/subtle/ecdsa-import-key-sign-p521.html: Added.
        * crypto/subtle/ecdsa-import-key-verify-p521-expected.txt: Added.
        * crypto/subtle/ecdsa-import-key-verify-p521.html: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key-p521-validate-ecprivatekey-parameters-publickey-expected.txt: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key-p521-validate-ecprivatekey-parameters-publickey.html: Added.
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:

2017-08-29  Wenson Hsieh  <wenson_hsieh@apple.com>

        REGRESSION(r210287) On drop, event.dataTransfer.getData("text") returns an empty string when dragging an image
        https://bugs.webkit.org/show_bug.cgi?id=170637
        <rdar://problem/31347248>

        Reviewed by Ryosuke Niwa.

        Adds a new test to verify that upon dropping an image enclosed within an anchor, DataTransfer.getData() can be
        used to grab the href of the enclosing anchor.

        * TestExpectations:
        * editing/pasteboard/drag-drop-href-as-text-data-expected.txt: Added.
        * editing/pasteboard/drag-drop-href-as-text-data.html: Added.
        * platform/mac-wk1/TestExpectations:

2017-08-29  Devin Rousso  <webkit@devinrousso.com>

        CallTracingCallback should ignore `readonly attribute`
        https://bugs.webkit.org/show_bug.cgi?id=176070

        Reviewed by Matt Baker.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:
        * inspector/canvas/recording-webgl-expected.txt:
        * inspector/canvas/recording-webgl.html:
        Remove calls to existing readonly attributes.

2017-08-29  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Assertion failure when opening a file with a missing tag closing bracket
        https://bugs.webkit.org/show_bug.cgi?id=176061

        Reviewed by Darin Adler.

        * fast/tokenizer/missing-script-tag-closing-bracket-expected.txt: Added.
        * fast/tokenizer/missing-script-tag-closing-bracket.html: Added.

2017-08-29  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Use reifying system for "name" property of builtin JSFunction
        https://bugs.webkit.org/show_bug.cgi?id=175260

        Reviewed by Saam Barati.

        * js/dom/builtin-getter-name-expected.txt: Added.
        * js/dom/builtin-getter-name.html: Added.

2017-08-29  Per Arne Vollan  <pvollan@apple.com>

        Rebaseline editing/style/5084241.html after r220706.

        Unreviewed test gardening.

        * platform/win/editing/style/5084241-expected.txt:

2017-08-29  Matt Lewis  <jlewis3@apple.com>

        Rebaselined http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl for ios-11.

        Unreviewed test gardening.

        * http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt:

2017-08-29  Matt Lewis  <jlewis3@apple.com>

        Rebaselined js/dom/global-constructors-attributes.html after r221258.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-08-29  Per Arne Vollan  <pvollan@apple.com>

        Rebaseline editing/style/5065910.html after r220706.

        Unreviewed test gardening.

        * platform/win/editing/style/5065910-expected.txt:

2017-08-29  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Optimize View.prototype.removeSubview
        https://bugs.webkit.org/show_bug.cgi?id=176041

        Reviewed by Matt Baker.

        Split Array.prototype.remove(value, onlyFirst) into Array.prototype.removeAll(value) and Array.prototype.remove(value).

        * inspector/unit-tests/array-utilities-expected.txt:
        * inspector/unit-tests/array-utilities.html:

2017-08-29  Youenn Fablet  <youenn@apple.com>

        CanvasCaptureMediaStreamTrack clone is not a CanvasCaptureMediaStreamTrack
        https://bugs.webkit.org/show_bug.cgi?id=176036

        Reviewed by Eric Carlson.

        * fast/mediacapturefromelement/CanvasCaptureMediaStream-clone-track-expected.txt:
        * fast/mediastream/captureStream/canvas2d.html:
        * fast/mediastream/captureStream/canvas2d-expected.txt:

2017-08-29  Per Arne Vollan  <pvollan@apple.com>

        Skip editing/pasteboard/paste-empty-startcontainer.html on Windows.
        It is skipped on all other platforms.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-08-29  Matt Lewis  <jlewis3@apple.com>

        Marked fast/events/mouse-cursor-no-mousemove.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169238

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-29  Chris Dumez  <cdumez@apple.com>

        Add initial support for dataTransferItem.webkitGetAsEntry()
        https://bugs.webkit.org/show_bug.cgi?id=176038
        <rdar://problem/34121095>

        Reviewed by Wenson Hsieh.

        * editing/pasteboard/datatransfer-items-drop-getAsEntry-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-getAsEntry.html: Added.
        Add layout test coverage.

        * http/wpt/entries-api/interfaces-expected.txt:
        Rebaseline test now that we support more of the API.

        * platform/wk2/TestExpectations:
        Skip new test on WK2 because it relies on beginDragWithFiles().

2017-08-29  Matt Lewis  <jlewis3@apple.com>

         Marked media/video-controls-no-display-with-text-track.html and media/video-controls-in-media-document.html as flaky.
         https://bugs.webkit.org/show_bug.cgi?id=176054

         Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-29  Per Arne Vollan  <pvollan@apple.com>

        Rebaseline fast/doctypes/002.html after r220858.

        Unreviewed test gardening.

        * platform/win/fast/doctypes/002-expected.txt:

2017-08-29  Per Arne Vollan  <pvollan@apple.com>

        Rebaseline fast/lists/marker-before-empty-inline.html after r220858.

        Unreviewed test gardening.

        * platform/win/fast/lists/marker-before-empty-inline-expected.txt:

2017-08-29  Per Arne Vollan  <pvollan@apple.com>

        Rebaseline css2.1/t0805-c5520-brdr-b-01-e.html after r220858.

        Unreviewed test gardening.

        * platform/win/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:

2017-08-29  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Remove some obsolete expectations.
        https://bugs.webkit.org/show_bug.cgi?id=176051

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
          - fast/animation/request-animation-frame-throttling-detached-iframe.html: passing since r215259.
          - fast/animation/request-animation-frame-throttling-lowPowerMode.html: passing since r215259.
          - fast/events/drag-parent-node.html: passing since r217670-r217679.
          - fast/events/keydown-leftright-keys.html: passing since r210504.
          - fast/events/selectionchange-iframe.html: passing since r205908-r205913.


2017-08-19  Sergio Villar Senin  <svillar@igalia.com>

        [SVG] Leak in SVGAnimatedListPropertyTearOff
        https://bugs.webkit.org/show_bug.cgi?id=172545

        Reviewed by Darin Adler.

        The list of new added tests includes the one for the original bug, a new test for the
        regression and a couple of tests imported from Blink which verify that
        SVGAnimatedListPropertyTearOff does not crash after the context element goes out of scope.

        * svg/animations/animation-leak-list-property-instances-expected.txt: Added.
        * svg/animations/animation-leak-list-property-instances.html: Added.
        * svg/dom/SVGAnimatedListPropertyTearOff-crash-2-expected.txt: Added. Imported from Blink.
        * svg/dom/SVGAnimatedListPropertyTearOff-crash-2.html: Added. Imported from Blink.
        * svg/dom/SVGAnimatedListPropertyTearOff-crash-expected.txt: Added. Imported from Blink.
        * svg/dom/SVGAnimatedListPropertyTearOff-crash.html: Added. Imported from Blink.
        * svg/dom/SVGAnimatedListPropertyTearOff-leak-expected.txt: Added.
        * svg/dom/SVGAnimatedListPropertyTearOff-leak.html: Added.

2017-08-28  Per Arne Vollan  <pvollan@apple.com>

        Rebaseline accessibility/menu-list-crash2.html after r220930.

        Unreviewed test gardening.

        * platform/win/accessibility/menu-list-crash2-expected.txt:

2017-08-28  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl.

        Unreviewed test gardening.

        * http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt:
        * platform/mac-highsierra/http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt: Copied from LayoutTests/http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt.

2017-08-28  Matt Lewis  <jlewis3@apple.com>

        Unreviewed test gardening. <rdar://problem/34051745>

        * platform/ios-11/TestExpectations:

2017-08-28  Youenn Fablet  <youenn@apple.com>

        WebRTC MediaStream created without tracks does not update active state after tracks are added
        https://bugs.webkit.org/show_bug.cgi?id=175434

        Reviewed by Eric Carlson.

        * fast/mediacapturefromelement/CanvasCaptureMediaStream-clone-track-expected.txt:
        * fast/mediacapturefromelement/CanvasCaptureMediaStream-creation-expected.txt:
        * fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
        * fast/mediastream/MediaStream-add-remove-tracks.html:

2017-08-28  Brent Fulgham  <bfulgham@apple.com>

        Disable access to secure cookies if an HTTPS site loads mixed content (Part 2: Header Requests)
        https://bugs.webkit.org/show_bug.cgi?id=175992
        <rdar://problem/34086613>

        Reviewed by Daniel Bates.

        * http/tests/websocket/tests/hybi/secure-cookie-insecure-connection-expected.txt: Added.
        * http/tests/websocket/tests/hybi/secure-cookie-insecure-connection.pl: Added.
        * http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt: Added.
        * http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl: Added.

2017-08-28  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, remove duplicated TestExpectation entry.

        * platform/mac-highsierra-wk2/TestExpectations:

2017-08-28  Per Arne Vollan  <pvollan@apple.com>

        Before r220970, these ssl tests were failing. Now they are timing out.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-08-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172544

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-28  Matt Lewis  <jlewis3@apple.com>

        Marked svg/in-html/by-reference.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175781

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-28  Per Arne Vollan  <pvollan@apple.com>

        Skip service workers tests on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-08-28  Matt Lewis  <jlewis3@apple.com>

        Fixed expectations for http/tests/loading/basic-auth-remove-credentials.html by removing double expectations

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-28  Ms2ger  <Ms2ger@igalia.com>

        Fix document-create-touch.html.
        https://bugs.webkit.org/show_bug.cgi?id=172813

        Reviewed by Michael Catanzaro.

        The document.createTouch() call is supposed to throw an exception (as
        defined by WebIDL). It has been doing this since r203941, but this
        wasn't noticed because the entire fast/events/touch folder is skipped
        on mac, ios and win.

        * fast/events/touch/document-create-touch-expected.txt:
        * fast/events/touch/document-create-touch.html:
        * platform/gtk/TestExpectations:
        * platform/gtk/fast/events/touch/document-create-touch-expected.txt: Removed.
        * platform/wpe/TestExpectations:

2017-08-28  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html after r221209.

        Unreviewed test gardening..

        * platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra/js/dom/global-constructors-attributes-expected.txt:

2017-08-28  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html after r221209.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK/WPE test gardening

        * platform/gtk/TestExpectations:
        * platform/gtk/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>

        New baseline for insecure-audio-video-in-main-frame.html should apply to all ports

        The global baseline was never updated because the test has been failing on macOS.

        * http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt:
        * platform/gtk/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Removed.

2017-08-28  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Rebaseline insecure-audio-video-in-main-frame.html.
        https://bugs.webkit.org/show_bug.cgi?id=142482

        Unreviewed test gardening.

        The test is failing due to a different console message. It seems better
        to add a platform-specific baseline so we can catch actual failures.

        * platform/gtk/TestExpectations:
        * platform/gtk/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Added.

2017-08-28  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Enable userAgentShadowDOM tests.
        https://bugs.webkit.org/show_bug.cgi?id=176015

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>

        Picking an emoji via the emoji dialog (Ctrl+Cmd+Space) fires inconsistent beforeinput events.
        https://bugs.webkit.org/show_bug.cgi?id=170955
        <rdar://problem/31697653>

        Reviewed by Ryosuke Niwa.

        Augments two existing layout tests to check for additional cases of inserting text with replacement ranges.
        Also enables this test for WebKit1 on Mac. Both these tests are currently enabled only for WebKit2, and also only
        check the case where we're replacing an existing non-empty range of text.

        * fast/events/before-input-prevent-insert-replacement-expected.txt:
        * fast/events/before-input-prevent-insert-replacement.html:
        * fast/events/input-event-insert-replacement-expected.txt:
        * fast/events/input-event-insert-replacement.html:

        Tests for cases of replacing existing text ranges, and inserting text at a position.

        * platform/mac-wk1/TestExpectations:
        * resources/ui-helper.js:

        Add a new UIHelper function to insert text at a given replacement range. This codepath is taken when selecting
        an emoji using the emoji picker menu on Mac, and also when selecting a dead key option after holding down on a
        vowel key.

        (window.UIHelper.replaceTextAtRange):

2017-08-27  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Record actions performed on WebGLRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=174483
        <rdar://problem/34040722>

        Reviewed by Matt Baker.

        * inspector/canvas/recording-webgl-expected.txt: Added.
        * inspector/canvas/recording-webgl.html: Added.

        * inspector/canvas/recording-webgl-snapshots-expected.txt: Added.
        * inspector/canvas/recording-webgl-snapshots.html: Added.
        Created separate test for checking that snapshots differ so that each test doesn't interfere
        with the results of the other tests.

        * inspector/canvas/recording-2d-expected.html:
        * inspector/canvas/recording-2d.html:
        Drive by: change naming to match inspector/canvas/recording-webgl.html.

2017-08-26  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed gardening, mark a test as still failing

        * platform/gtk/TestExpectations:

2017-08-26  Michael Catanzaro  <mcatanzaro@igalia.com>

        [SOUP] Update cookie jar implementation to filter out secure cookies
        https://bugs.webkit.org/show_bug.cgi?id=175850

        Reviewed by Brent Fulgham.

        Unskip newly-passing tests.

        * platform/gtk/TestExpectations:

2017-08-25  Chris Dumez  <cdumez@apple.com>

        Land stubs for File and Directory Entries API interfaces
        https://bugs.webkit.org/show_bug.cgi?id=175993
        <rdar://problem/34087477>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * http/wpt/entries-api/interfaces-expected.txt: Added.
        * http/wpt/entries-api/interfaces.html: Added.

2017-08-25  Youenn Fablet  <youenn@apple.com>

        Add support for ReadableStream storage in FetchBody
        https://bugs.webkit.org/show_bug.cgi?id=175866

        Reviewed by Sam Weinig.

        * http/wpt/beacon/beacon-readablestream-expected.txt: Added.
        * http/wpt/beacon/beacon-readablestream.html: Added.

2017-08-25  Wenson Hsieh  <wenson_hsieh@apple.com>

        Using the touchbar, both align left and align justify send a beforeinput event with the 'formatJustifyLeft' inputType.
        https://bugs.webkit.org/show_bug.cgi?id=168669
        <rdar://problem/30639155>

        Reviewed by Beth Dakin.

        Adds a new LayoutTest checking that the text alignment editor commands, "Align{Right|Center|Left|Justify}",
        correctly propagate input events and beforeinput events of inputType "formatJustify{Right|Center|Left|Justify}",
        and that these text alignment style changes can be prevented by calling preventDefault() on the dispatched
        beforeinput event.

        * fast/events/input-events-text-alignment-expected.txt: Added.
        * fast/events/input-events-text-alignment.html: Added.

2017-08-25  Brady Eidson  <beidson@apple.com>

        Introduce ServerWorkerRegistration task queues.
        https://bugs.webkit.org/show_bug.cgi?id=175851

        Reviewed by Andy Estes.

        * http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt: Added.
        * http/tests/workers/service/registration-task-queue-scheduling-1.html: Added.
        * http/tests/workers/service/resources/registration-task-queue-scheduling-1-second-window.html: Added.
        * http/tests/workers/service/resources/registration-task-queue-scheduling-1.js: Added.

2017-07-25  Frederic Wang  <fwang@igalia.com>

        Add flag allow-modals to iframe sandbox
        https://bugs.webkit.org/show_bug.cgi?id=171321

        Reviewed by Brent Fulgham.

        The allow-modals flag is added to tests trying to open modal dialogs in sandboxed frames, now
        that the default behavior has changed. New tests are also added to verify that the dialogs
        are allowed or blocked according to the value of the allow-modals flag.

        * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: Add allow-modals.
        * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: Ditto.
        * fast/forms/autofocus-in-sandbox-with-allow-scripts.html: Ditto.
        * fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html: Ditto.
        * fast/frames/sandboxed-iframe-parsing-space-characters.html: Ditto.
        * fast/frames/sandboxed-iframe-scripting-02.html: Ditto.
        * http/tests/security/contentSecurityPolicy/resources/sandboxed-eval.php: Ditto.
        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-control.html: Ditto.
        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header.html: Ditto.
        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header2.php: Ditto.
        * http/tests/security/drag-drop-same-unique-origin.html: Ditto.
        * http/tests/security/no-indexeddb-from-sandbox.html: Ditto.
        * http/tests/security/no-popup-from-sandbox-top.html: Ditto.
        * http/tests/security/no-popup-from-sandbox.html: Ditto.
        * http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html: Ditto.
        * http/tests/security/popup-allowed-by-sandbox-when-allowed.html: Ditto.
        * http/tests/security/xss-DENIED-window-name-alert.html: Ditto.
        * http/tests/security/sandboxed-iframe-ALLOWED-modals.html: Added. Verify that alert,
        confirm, prompt and print dialogs are allowed when the allow-modals flag is set.
        * http/tests/security/sandboxed-iframe-ALLOWED-modals-expected.txt: Added.
        * http/tests/security/sandboxed-iframe-DENIED-modals.html: Added. Verify that alert,
        confirm, prompt and print dialogs are denied when the allow-modals flag not set. The returned
        values are also verified.
        * http/tests/security/sandboxed-iframe-DENIED-modals-expected.txt: Added.
        * http/tests/misc/iframe-beforeunload-dialog-allow-modals.html: Added. Verify that the
        confirm dialog for beforeunload is displayed when allow-modals is set.
        * http/tests/misc/iframe-beforeunload-dialog-allow-modals-expected.txt: Added.
        * http/tests/misc/iframe-beforeunload-dialog-block-modals.html: Added. Verify that the
        confirm dialog for beforeunload is not displayed when allow-modals is unset.
        * http/tests/misc/iframe-beforeunload-dialog-block-modals-expected.txt: Added.

2017-08-25  Jonathan Bedard  <jbedard@apple.com>

        Moving iOS 11 test expectations
        <rdar://problem/31587826>

        Unreviewed test gardening.

        These iOS 11 test expectations were for Simulator, but on-device
        testing has the same failures.

        * platform/ios-11/TestExpectations:

2017-08-25  Jonathan Bedard  <jbedard@apple.com>

        Manage tests which require different device types better
        <https://bugs.webkit.org/show_bug.cgi?id=175987>
        <rdar://problem/34082632>

        Unreviewed test gardening.

        * platform/ios-device/TestExpectations: Skip tests requiring a device type.

2017-08-25  Ms2ger  <Ms2ger@gmail.com>

        Import track-element/cloneNode.html from web-platform-tests.
        https://bugs.webkit.org/show_bug.cgi?id=175984

        Reviewed by Youenn Fablet.

        We already had an older copy in LayoutTests/media/track/opera/track/;
        remove that in favour of the new and maintained copy.

        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2017-08-25  Antti Koivisto  <antti@apple.com>

        Mark bunch of disk cache tests non-flaky on release
        https://bugs.webkit.org/show_bug.cgi?id=175982

        Unreviewed.

        According to https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fcache%2Fdisk-cache
        these are no longer flaky on release (after somewhat recent fixes).

        Only mark them flaky on debug builds.

        * platform/mac-wk2/TestExpectations:
        * platform/wk2/TestExpectations:

2017-08-24  Chris Dumez  <cdumez@apple.com>

        [Directory Upload] Add basic support for input.webkitdirectory
        https://bugs.webkit.org/show_bug.cgi?id=175950
        <rdar://problem/33951915>

        Reviewed by Geoffrey Garen.

        Add layout test coverage for input.webkitdirectory. It covers both
        the file picker and the drag and drop code paths.

        * fast/forms/file/resources/testFiles/file1.txt: Added.
        * fast/forms/file/resources/testFiles/file2.txt: Added.
        * fast/forms/file/resources/testFiles/subfolder1/file3.txt: Added.
        * fast/forms/file/resources/testFiles/subfolder2/file4.txt: Added.
        * fast/forms/file/resources/testFiles/subfolder2/subfolder2a/file5.txt: Added.
        * fast/forms/file/webkitdirectory-drag-folder-expected.txt: Added.
        * fast/forms/file/webkitdirectory-drag-folder.html: Added.
        * fast/forms/file/webkitdirectory-open-panel-expected.txt: Added.
        * fast/forms/file/webkitdirectory-open-panel.html: Added.
        * platform/mac-wk1/fast/forms/file/webkitdirectory-open-panel-expected.txt: Added.
        * platform/wk2/TestExpectations:

2017-08-24  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r221139.

        This change did not resolve the LayoutTest assertion failure.

        Reverted changeset:

        "REGRESSION (r220052): ASSERTION FAILED:
        !frame().isMainFrame() || !needsStyleRecalcOrLayout()  in
        WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()"
        https://bugs.webkit.org/show_bug.cgi?id=175270
        http://trac.webkit.org/changeset/221139

2017-08-24  Youenn Fablet  <youenn@apple.com>

        WPT harness errors on leaks and iOS-sim EWS bots
        https://bugs.webkit.org/show_bug.cgi?id=175269
        <rdar://problem/33902404>

        Unreviewed.

        * TestExpectations: Skipping a test that uses a python script run by WPT that makes a lot of noise in the log.

2017-08-24  Matt Lewis  <jlewis3@apple.com>

        Marked quicklook/multi-sheet-numbers-09.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175865

        Unreviewed test gardening.
        * platform/ios-simulator-wk2/TestExpectations:

2017-08-24  Michael Saboff  <msaboff@apple.com>

        Add support for RegExp "dotAll" flag
        https://bugs.webkit.org/show_bug.cgi?id=175924

        Reviewed by Keith Miller.

        * js/regexp-dotall-expected.txt: Added.
        * js/regexp-dotall.html: Added.
        * js/script-tests/Object-getOwnPropertyNames.js:
        * js/script-tests/regexp-dotall.js: Added.
        New tests.

        * js/Object-getOwnPropertyNames-expected.txt:
        Updated tests for new dotAll ('s' flag) changes.

2017-08-24  Kirill Ovchinnikov  <kirill.ovchinn@gmail.com>

        HTMLTrackElement behavior violates the standard
        https://bugs.webkit.org/show_bug.cgi?id=175888

        Reviewed by Eric Carlson.

        * media/track/text-track-src-change-expected.txt:
        * media/track/text-track-src-change.html:

2017-08-24  Jonathan Bedard  <jbedard@apple.com>

        Move imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm expectation.
        <rdar://problem/32826391>

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-wk2/TestExpectations:

2017-08-24  Jonathan Bedard  <jbedard@apple.com>

        Move imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html expectations.
        https://bugs.webkit.org/show_bug.cgi?id=173487

        Unreviewed test gardening.

        imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html is flakey on both
        iOS Simulator and iOS Device.

        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-wk2/TestExpectations:

2017-08-24  Jonathan Bedard  <jbedard@apple.com>

        Move http/tests/preload/viewport/meta-viewport-link-headers.php back to iOS.
        https://bugs.webkit.org/show_bug.cgi?id=172518

        Unreviewed test gardening.

        This test is flakey on both iOS device and iOS simulator. http/tests/preload/viewport
        should be marked as passing for iOS, but we should not re-mark it for iOS Simulator.

        * platform/ios-simulator/TestExpectations:
        * platform/ios/TestExpectations:

2017-08-24  Ryan Haddad  <ryanhaddad@apple.com>

        Skip editing/execCommand/forward-delete-read-write-canvas.html.
        https://bugs.webkit.org/show_bug.cgi?id=175939

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-08-22  Darin Adler  <darin@apple.com>

        REGRESSION (r220052): ASSERTION FAILED: !frame().isMainFrame() || !needsStyleRecalcOrLayout()  in WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()
        https://bugs.webkit.org/show_bug.cgi?id=175270

        Reviewed by Simon Fraser.

        * platform/mac-wk2/TestExpectations: Re-enable the disabled test.

2017-08-24  Ms2ger  <Ms2ger@igalia.com>

        Remove some duplicated media track tests.
        https://bugs.webkit.org/show_bug.cgi?id=175929

        Reviewed by Sam Weinig.

        All these tests have been submitted to web-platform-tests and are maintained
        there. A copy of them exists in
        imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/.
        Most of the retained tests also exist in web-platform-tests, but in the
        webvtt/ top-level directory, which is currently not imported.

        * media/track/opera/interfaces/TextTrack/activeCues.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/onenter.html: Removed.
        * media/track/opera/interfaces/TextTrackCue/onexit.html: Removed.
        * media/track/opera/interfaces/TextTrackCueList/getter.html: Removed.
        * media/track/opera/interfaces/TextTrackList/getter.html: Removed.
        * media/track/opera/interfaces/TrackEvent/constructor.html: Removed.
        * media/track/opera/interfaces/TrackEvent/createEvent.html: Removed.
        * media/track/opera/track/track-element/src-clear-cues.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2017-08-24  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests failing at r221132.

        * platform/gtk/TestExpectations:

2017-08-23  Wenson Hsieh  <wenson_hsieh@apple.com>

        DeleteSelectionCommand should be robust when starting and ending editable positions cannot be found
        https://bugs.webkit.org/show_bug.cgi?id=175914
        <rdar://problem/29792688>

        Reviewed by Ryosuke Niwa.

        Adds a new LayoutTest. This test passes if WebKit successfully loaded the page.

        * editing/execCommand/forward-delete-read-write-canvas-expected.txt: Added.
        * editing/execCommand/forward-delete-read-write-canvas.html: Added.

2017-08-23  Matt Lewis  <jlewis3@apple.com>

        Marked loader/stateobjects/replacestate-size.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172829

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-23  Michael Saboff  <msaboff@apple.com>

        REGRESSION (r221052): DumpRenderTree crashed in com.apple.JavaScriptCore: JSC::Yarr::YarrCodeBlock::execute + 137
        https://bugs.webkit.org/show_bug.cgi?id=175903

        Reviewed by Saam Barati.

        New regression test case.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:

2017-08-23  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/filtering-ice-candidate-after-reload.html a flaky.
        https://bugs.webkit.org/show_bug.cgi?id=174471

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-08-23  Jer Noble  <jer.noble@apple.com>

        Track VideoPlaybackQuality metrics when using WebCoreDecompressionSession.
        https://bugs.webkit.org/show_bug.cgi?id=175835
        <rdar://problem/34022234>

        Reviewed by Eric Carlson.

        * platform/mac/media/media-source/videoplaybackquality-decompressionsession-expected.txt: Added.
        * platform/mac/media/media-source/videoplaybackquality-decompressionsession.html: Added.

2017-08-23  Matt Lewis  <jlewis3@apple.com>

        Removed flaky timeout expectation for inspector/codemirror/prettyprinting-css.html.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-22  Dean Jackson  <dino@apple.com>

        Default passive touch event listeners on the root
        https://bugs.webkit.org/show_bug.cgi?id=175346
        <rdar://problem/33164597>

        Reviewed by Sam Weinig.

        * fast/events/touch/ios/passive-by-default-on-document-and-window-expected.txt: Added.
        * fast/events/touch/ios/passive-by-default-on-document-and-window.html: Added.
        * fast/events/touch/ios/passive-by-default-overridden-on-document-and-window-expected.txt: Added.
        * fast/events/touch/ios/passive-by-default-overridden-on-document-and-window.html: Added.
        * fast/events/touch/ios/tap-with-active-listener-on-window.html: Explicitly set passive to false.
        * fast/events/touch/ios/touch-event-regions/document.html: Ditto.

2017-08-23  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173780

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-23  Skachkov Oleksandr  <gskachkov@gmail.com>

        [ESNext] Async iteration - Implement Async Generator - runtime
        https://bugs.webkit.org/show_bug.cgi?id=175240

        Reviewed by Yusuke Suzuki.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2017-08-23  Brent Fulgham  <bfulgham@apple.com>

        Ensure media controls host exists before using it
        https://bugs.webkit.org/show_bug.cgi?id=175833
        <rdar://problem/34001219>

        Reviewed by Jer Noble.

        * media/track/track-display-before-controls-crash-expected.txt: Added.
        * media/track/track-display-before-controls-crash.html: Added.

2017-08-23  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [WPE] Some event handlers not working.
        https://bugs.webkit.org/show_bug.cgi?id=175864

        Reviewed by Michael Catanzaro.

        Remove expected failures for tests that now pass, add new expectation
        for a test that is failing also on GTK+ and rebaseline a test with
        the same expected result than on GTK+.

        * platform/wpe/TestExpectations:
        * platform/wpe/fast/events/focus-label-legend-elements-with-tab-expected.txt: Added.

2017-08-23  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Remove some flaky annotations for passing tests.
        https://bugs.webkit.org/show_bug.cgi?id=175881

        Unreviewed test gardening.

        None of these tests have had their alternative status in months.

        * platform/gtk/TestExpectations:

2017-08-23  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Unskipping tests under fast/canvas/, adding
        failure expectations for actual failures, and providing port-specific
        baselines for tests that require them.

        * platform/wpe/TestExpectations:
        * platform/wpe/fast/canvas: Added.
        * platform/wpe/fast/canvas/canvas-size-change-after-layout-expected.txt: Added.
        * platform/wpe/fast/canvas/canvas-zoom-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl: Added.
        * platform/wpe/fast/canvas/webgl/angle-instanced-arrays-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl/css-webkit-canvas-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl/css-webkit-canvas-repaint-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl/framebuffer-object-attachment-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl/glsl-conformance-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl/oes-texture-half-float-expected.txt: Added.
        * platform/wpe/fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.

2017-08-23  Ms2ger  <Ms2ger@igalia.com>

        [GTK][WPE] Unreviewed test gardening
        https://bugs.webkit.org/show_bug.cgi?id=175878

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
          - Mark fast/mediastream/captureStream/canvas2d-heavy-drawing.html as flaky.
          - Add crash annotations for cache-storage tests.
        * platform/gtk/http/wpt/beacon/beacon-async-error-logging-expected.txt:
          Added: logs a different error message to the console on GTK.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
          Update for the disabling of the CSS Regions code in r220870.
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:
          Update for the disabling of the CSS Regions code in r220870.

2017-08-23  Ms2ger  <Ms2ger@igalia.com>

        Disable intermittently crashing CSS Regions tests.
        https://bugs.webkit.org/show_bug.cgi?id=135051

        Unreviewed test gardening.

        They have been failing since the CSS Regions code was disabled in r220870.
        That commit also skipped these tests, but the older crash expectation
        overrode the skipping.

        * platform/gtk/TestExpectations:

2017-08-22  Ryosuke Niwa  <rniwa@webkit.org>

        Consolidate the code to normalize MIME type in DataTransfer
        https://bugs.webkit.org/show_bug.cgi?id=175810

        Rubber-stamped by Wenson Hsieh.

        Address the forgotten review comment by Wenson.

        * editing/pasteboard/datatransfer-getdata-plaintext-expected.txt:
        * editing/pasteboard/datatransfer-getdata-plaintext.html:

2017-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>

        [iOS WK2] WKWebView schedules nonstop layout after pressing cmb+b,i,u inside a contenteditable div
        https://bugs.webkit.org/show_bug.cgi?id=175116
        <rdar://problem/28279301>

        Reviewed by Darin Adler and Ryosuke Niwa.

        * platform/ios-wk2/editing/style/unbold-in-bold-expected.txt:
        * platform/mac-wk2/editing/style/unbold-in-bold-expected.txt:

        Rebaseline a WK2 LayoutTest expectations. This test currently expects an empty anonymous RenderBlock to be
        inserted into the render tree, but this is only a result of us adding and removing a temporary <span> when
        computing a RenderStyle in WebPage::editorState -- this patch removes these empty RenderBlocks, making these
        expectations' RenderTrees consistent with WebKit1.

2017-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>

        [WK2] EditorState updates should be rolled into the layer update lifecycle when possible
        https://bugs.webkit.org/show_bug.cgi?id=175370
        <rdar://problem/33799806>

        Reviewed by Ryosuke Niwa.

        Rebaseline and adjust LayoutTests.

        * editing/caret/ios/absolute-caret-position-after-scroll-expected.txt:
        * editing/caret/ios/absolute-caret-position-after-scroll.html:
        * editing/caret/ios/fixed-caret-position-after-scroll-expected.txt:
        * editing/caret/ios/fixed-caret-position-after-scroll.html:
        * editing/secure-input/password-input-changed-type.html:
        * editing/secure-input/password-input-focusing.html:
        * editing/secure-input/removed-password-input.html:
        * editing/secure-input/reset-state-on-navigation.html:
        * editing/selection/character-granularity-rect.html:

        Delay checking for secure input state and caret rects until after the next presentation update.

        * editing/selection/ios/absolute-selection-after-scroll-expected.txt:
        * editing/selection/ios/absolute-selection-after-scroll.html:
        * editing/selection/ios/fixed-selection-after-scroll-expected.txt:
        * editing/selection/ios/fixed-selection-after-scroll.html:

        Refactor and simplify these tests. These tests are not run on the OpenSource bots, since they depend on long
        press and tap gestures.

        * platform/ios-wk2/editing/inserting/insert-div-024-expected.txt:
        * platform/ios-wk2/editing/inserting/insert-div-026-expected.txt:
        * platform/ios-wk2/editing/style/5084241-expected.txt:

        Rebaselines these tests, removing an anonymous RenderBlock inserted as a result of inserting and removing a
        dummy span in order to compute a RenderStyle in WebPage::editorState. This is because editorState is no longer
        invoked immediately on page load; https://bugs.webkit.org/show_bug.cgi?id=175116 tracks preventing this render
        tree thrashing altogether.

        * platform/mac-wk2/TestExpectations:
        * platform/mac-wk2/editing/style/unbold-in-bold-expected.txt:
        * resources/ui-helper.js:

        Introduce new UIHelper functions.

        (window.UIHelper.ensurePresentationUpdate.return.new.Promise):
        (window.UIHelper.ensurePresentationUpdate):

        Returns a Promise, resolved after the next presentation update.

        (window.UIHelper.activateAndWaitForInputSessionAt.return.new.Promise.):
        (window.UIHelper.activateAndWaitForInputSessionAt.return.new.Promise):
        (window.UIHelper.activateAndWaitForInputSessionAt):

        Returns a Promise, resolved after tapping at the given location and waiting for the keyboard to appear on iOS.

        (window.UIHelper.getUICaretRect.return.new.Promise.):
        (window.UIHelper.getUICaretRect.return.new.Promise):
        (window.UIHelper.getUICaretRect):
        (window.UIHelper.getUISelectionRects.return.new.Promise.):
        (window.UIHelper.getUISelectionRects.return.new.Promise):
        (window.UIHelper.getUISelectionRects):

        Helpers to fetch selection and caret rect information in the UI process.

2017-08-21  Ryosuke Niwa  <rniwa@webkit.org>

        Consolidate the code to normalize MIME type in DataTransfer
        https://bugs.webkit.org/show_bug.cgi?id=175810

        Reviewed by Wenson Hsieh.

        Added a regression test. Some test cases were failing on some platforms.

        * editing/pasteboard/datatransfer-getdata-plaintext-expected.txt: Added.
        * editing/pasteboard/datatransfer-getdata-plaintext.html: Added.

2017-08-22  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r221033.

        This revision caused assertion failures on all Open Source
        Debug testers. See Radar for more information.

        Reverted changeset:

        "Ensure media controls host exists before using it"
        https://bugs.webkit.org/show_bug.cgi?id=175833
        http://trac.webkit.org/changeset/221033

2017-08-22  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/loading/basic-auth-remove-credentials.html as falky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=173500

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-22  Michael Saboff  <msaboff@apple.com>

        Implement Unicode RegExp support in the YARR JIT
        https://bugs.webkit.org/show_bug.cgi?id=174646

        Reviewed by Filip Pizlo.

        Updated tests.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:

2017-08-22  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test fix after r221017.

        I forgot to check-in the expected result!

        * http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies-expected.txt: Added.

2017-08-22  Brent Fulgham  <bfulgham@apple.com>

        Ensure media controls host exists before using it
        https://bugs.webkit.org/show_bug.cgi?id=175833
        <rdar://problem/34001219>

        Reviewed by Jer Noble.

        * media/track/track-display-before-controls-crash-expected.txt: Added.
        * media/track/track-display-before-controls-crash.html: Added.

2017-08-22  Chris Dumez  <cdumez@apple.com>

       Unreviewed, beacon/contentextensions is only expected to work on Sierra+.

        * platform/mac-wk2/TestExpectations:

2017-08-22  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: provide way for ShaderPrograms to be enabled/disabled
        https://bugs.webkit.org/show_bug.cgi?id=175400

        Reviewed by Matt Baker.

        * inspector/canvas/setShaderProgramDisabled-expected.txt: Added.
        * inspector/canvas/setShaderProgramDisabled.html: Added.

2017-08-22  Youenn Fablet  <youenn@apple.com>

        [Cache API] Add support for overwriting responses with put on an existing record
        https://bugs.webkit.org/show_bug.cgi?id=175825

        Reviewed by Geoffrey Garen.

        Adding update counter for response
        Skipping new test on WK1.

        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * http/wpt/cache-storage/cache-put-keys.https.any-expected.txt: Added.
        * http/wpt/cache-storage/cache-put-keys.https.any.html: Added.
        * http/wpt/cache-storage/cache-put-keys.https.any.js: Added.
        (cache_test):
        * http/wpt/cache-storage/cache-put-keys.https.any.worker-expected.txt: Added.
        * http/wpt/cache-storage/cache-put-keys.https.any.worker.html: Added.

2017-08-22  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/fetch/http-cache/invalidate.html as flaky on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=173672

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-22  Andy Estes  <aestes@apple.com>

        [Payment Request] Implement error checking for show(), abort(), and canMakePayment()
        https://bugs.webkit.org/show_bug.cgi?id=175789

        Reviewed by Brady Eidson.
        
        Stopped marking payment-request-abort-method.https.html and payment-request-show-method.https.html  as flaky.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-08-22  Chris Dumez  <cdumez@apple.com>

        Unreviewed, enable http/wpt/beacon/contentextensions on Mac WK2 only.

        It seems content extensions are not supported by WKTR on iOS.

        * TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-08-22  Brent Fulgham  <bfulgham@apple.com> and Pranjal Jumde  <pjumde@apple.com>

        Disable access to secure cookies if an HTTPS site loads mixed content
        https://bugs.webkit.org/show_bug.cgi?id=157053
        <rdar://problem/11290808>

        Reviewed by Dan Bates.

        * http/tests/security/mixedContent/insecure-css-with-secure-cookies-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-css-with-secure-cookies.html: Added.
        * http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies.html: Added.
        * http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-image-with-securecookie-block-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-image-with-securecookie-block.html: Added.
        * http/tests/security/mixedContent/insecure-image-with-securecookie-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-image-with-securecookie.html: Added.
        * http/tests/security/mixedContent/insecure-script-with-secure-cookies-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-script-with-secure-cookies.html: Added.
        * http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt: Added.
        * http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block.html: Added.
        * http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-expected.txt: Added.
        * http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-css-secure-cookies.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-executable-css-with-secure-cookies.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-image-secure-cookie-block.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-image-secure-cookie.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-insecure-script-secure-cookies.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-redirect-https-to-http-image-secure-cookie-block.html: Added.
        * http/tests/security/mixedContent/resources/frame-with-redirect-https-to-http-image-secure-cookie.html: Added.
        * http/tests/security/mixedContent/resources/insecure-executable.css: Added.
        * http/tests/security/mixedContent/resources/insecure.css: Added.
        * http/tests/security/resources/greenbox-hotspot5-4.cur: Added.

2017-08-22  Jer Noble  <jer.noble@apple.com>

        Autoplay Muted Videos Don't Play When Outside Viewport
        https://bugs.webkit.org/show_bug.cgi?id=175748
        <rdar://problem/33974383>

        Reviewed by Eric Carlson.

        * media/video-restricted-invisible-autoplay-not-allowed-source-expected.txt: Added.
        * media/video-restricted-invisible-autoplay-not-allowed-source.html: Added.

2017-08-21  Matt Rajca  <mrajca@apple.com>

        Call updateIsPlayingMedia whenever m_userHasInteractedWithMediaElement changes
        https://bugs.webkit.org/show_bug.cgi?id=175796

        Reviewed by Eric Carlson.

        Skip the test on iOS like all the other tests that use runWithKeyDown.

        * media/video-user-gesture-tracking-expected.txt: Added.
        * media/video-user-gesture-tracking.html: Added.

2017-08-21  Chris Dumez  <cdumez@apple.com>

        [Beacon] Content extensions should be able to intercept Beacon / Ping redirects
        https://bugs.webkit.org/show_bug.cgi?id=175746
        <rdar://problem/33946050>

        Reviewed by Alex Christensen.

        Add layout test coverage for blocking beacon loads via content extensions.

        * http/wpt/beacon/connect-src-beacon-redirect-blocked.sub-expected.txt:
        * http/wpt/beacon/connect-src-beacon-redirect-blocked.sub.html:
        * http/wpt/beacon/contentextensions/beacon-blocked-expected.txt: Added.
        * http/wpt/beacon/contentextensions/beacon-blocked.html: Added.
        * http/wpt/beacon/contentextensions/beacon-blocked.html.json: Added.
        * http/wpt/beacon/contentextensions/beacon-redirect-blocked-expected.txt: Added.
        * http/wpt/beacon/contentextensions/beacon-redirect-blocked.html: Added.
        * http/wpt/beacon/contentextensions/beacon-redirect-blocked.html.json: Added.

2017-08-21  Matt Lewis  <jlewis3@apple.com>

        Fixed expectations.

        Unreviewed test expectations.

        * platform/mac/TestExpectations:

2017-08-21  Ms2ger  <Ms2ger@gmail.com>

        Stop media/video-controls-toggling.html from timing out.
        https://bugs.webkit.org/show_bug.cgi?id=116266

        Reviewed by Dean Jackson.

        Use getComputedStyle to check the display property. Element::style only
        contains properties set in the style attribute, but the display property
        is set through CSS using the 'hidden' class.

        * media/video-controls-toggling-expected.txt:
        * media/video-controls-toggling.html:
        * platform/gtk/TestExpectations:
        * platform/gtk/media/video-controls-toggling-expected.txt:
          Copied from LayoutTests/media/video-controls-toggling-expected.txt.
          I'm not sure where the console message comes from, but it seems to
          be in the GTK-specific code.

2017-08-21  Dean Jackson  <dino@apple.com>

        Persistent WebGL Warning "vertex WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported" in Safari 10.1.2
        https://bugs.webkit.org/show_bug.cgi?id=175783
        <rdar://problem/33623867>

        Reviewed by Alex Christensen.

        * fast/canvas/webgl/no-info-log-for-simple-shaders-expected.txt: Added.
        * fast/canvas/webgl/no-info-log-for-simple-shaders.html: Added.

2017-08-21  Matt Lewis  <jlewis3@apple.com>

        Marked svg/animations/smil-leak-list-property-instances.svg as flaky on macOS WK1.
        https://bugs.webkit.org/show_bug.cgi?id=174218

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-08-21  Ms2ger  <Ms2ger@gmail.com>

        Re-enable tests based on media-fullscreen.js for GTK.
        https://bugs.webkit.org/show_bug.cgi?id=175770

        Reviewed by Eric Carlson.

        The media-fullscreen-not-in-document test checks that a disconnected
        element can go fullscreen, while the code explicitly disallows that
        (in Document::requestFullScreenForElement). Update the test to match
        the code.

        The media-fullscreen-inline test will now fail more clearly if the
        attempt to go fullscreen is rejected (which it isn't).

        * media/media-fullscreen-not-in-document-expected.txt: rebaseline.
        * media/media-fullscreen.js:
        (fullscreenerror): pass the test if the webkitfullscreenerror
        (addEventListeners): add a webkitfullscreenerror event handler
        * platform/gtk/TestExpectations: remove failure expectations.
        * platform/gtk/media/media-fullscreen-not-in-document-expected.txt:
          Copied from LayoutTests/media/media-fullscreen-not-in-document-expected.txt.
          This copy leaves out the webkitSupportsPresentationMode check that's
          disabled on GTK.

2017-08-21  Matt Lewis  <jlewis3@apple.com>

        Marked inspector/css/add-rule.html as flaky on macOS
        https://bugs.webkit.org/show_bug.cgi?id=173560

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-21  Matt Lewis  <jlewis3@apple.com>

        Rebaselined js/dom/global-constructors-attributes.html on macOS.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-08-21  Ryan Haddad  <ryanhaddad@apple.com>

        Skip imported/w3c/web-platform-tests/payment-request/payment-request-constructor-crash.https.html.
        https://bugs.webkit.org/show_bug.cgi?id=175773

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-21  Ms2ger  <Ms2ger@igalia.com>

        [GTK][WPE] Rebaseline tests with list item markers.
        https://bugs.webkit.org/show_bug.cgi?id=175771

        Unreviewed test gardening.

        The output was changed in r220858 and rebaselined for ios and mac only.
        They're changes in render tree dumps that don't affect rendering.

        * platform/gtk/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/gtk/fast/doctypes/002-expected.txt:
        * platform/gtk/fast/lists/marker-before-empty-inline-expected.txt:
        * platform/wpe/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:

2017-08-21  Ms2ger  <Ms2ger@igalia.com>

        media-captions.html improvements
        https://bugs.webkit.org/show_bug.cgi?id=175768

        Reviewed by Eric Carlson.

        * media/media-captions.html: remove reference to unused script file.
        * platform/gtk/TestExpectations: remove Timeout, Crash annotations.

2017-08-21  Ms2ger  <Ms2ger@gmail.com>

        [GTK] Remove some old flaky crash expectations.
        https://bugs.webkit.org/show_bug.cgi?id=108682

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-08-20  Zan Dobersek  <zdobersek@igalia.com>

        [EME] Add basic implementation of HTMLMediaElement::setMediaKeys()
        https://bugs.webkit.org/show_bug.cgi?id=175717

        Reviewed by Xabier Rodriguez-Calvar.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-expected.txt:
        Update the baseline, with the test no longer timing out but instead
        failing with a NotAllowed exception thrown.

2017-08-19  Andy Estes  <aestes@apple.com>

        [Payment Request] Add interface stubs
        https://bugs.webkit.org/show_bug.cgi?id=175730

        Reviewed by Youenn Fablet.

        * TestExpectations: Skipped payment-request tests.
        * platform/ios-wk2/TestExpectations: Enabled payment-request tests on ios-wk2.
        * platform/mac-wk2/TestExpectations: Ditto for mac-wk2.

2017-08-18  Youenn Fablet  <youenn@apple.com>

        [Cache API] Add support for being loaded responses
        https://bugs.webkit.org/show_bug.cgi?id=175732

        Reviewed by Chris Dumez.

        * TestExpectations: Removing some flaky test expectations.

2017-08-18  Chris Dumez  <cdumez@apple.com>

        [Beacon] Improve error reporting
        https://bugs.webkit.org/show_bug.cgi?id=175723

        Reviewed by Darin Adler.

        Add layout test coverage.

        * http/wpt/beacon/beacon-async-error-logging-expected.txt: Added.
        * http/wpt/beacon/beacon-async-error-logging.html: Added.

2017-08-18  Matt Lewis  <jlewis3@apple.com>

        Marked fast/scrolling/arrow-key-scroll-in-rtl-document.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173779

        Unreviewed Test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-18  Sam Weinig  <sam@webkit.org>

        Remove the deprecated WebKitSubtleCrypto interface
        https://bugs.webkit.org/show_bug.cgi?id=164938
        <rdar://problem/29894563>

        Reviewed by Chris Dumez.

        * crypto/webkitSubtle: Removed.
        * crypto/webkitSubtle/aes-cbc-192-encrypt-decrypt-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-192-encrypt-decrypt.html: Removed.
        * crypto/webkitSubtle/aes-cbc-256-encrypt-decrypt-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-256-encrypt-decrypt.html: Removed.
        * crypto/webkitSubtle/aes-cbc-encrypt-decrypt-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-encrypt-decrypt-with-padding.html: Removed.
        * crypto/webkitSubtle/aes-cbc-encrypt-decrypt.html: Removed.
        * crypto/webkitSubtle/aes-cbc-generate-key-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-generate-key.html: Removed.
        * crypto/webkitSubtle/aes-cbc-import-jwk-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-import-jwk.html: Removed.
        * crypto/webkitSubtle/aes-cbc-invalid-length-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-invalid-length.html: Removed.
        * crypto/webkitSubtle/aes-cbc-unwrap-failure-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-unwrap-failure.html: Removed.
        * crypto/webkitSubtle/aes-cbc-unwrap-rsa-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-unwrap-rsa.html: Removed.
        * crypto/webkitSubtle/aes-cbc-wrap-rsa-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-wrap-rsa-non-extractable-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-wrap-rsa-non-extractable.html: Removed.
        * crypto/webkitSubtle/aes-cbc-wrap-rsa.html: Removed.
        * crypto/webkitSubtle/aes-cbc-wrong-key-class-expected.txt: Removed.
        * crypto/webkitSubtle/aes-cbc-wrong-key-class.html: Removed.
        * crypto/webkitSubtle/aes-export-key-expected.txt: Removed.
        * crypto/webkitSubtle/aes-export-key.html: Removed.
        * crypto/webkitSubtle/aes-kw-key-manipulation-expected.txt: Removed.
        * crypto/webkitSubtle/aes-kw-key-manipulation.html: Removed.
        * crypto/webkitSubtle/aes-kw-wrap-unwrap-aes-expected.txt: Removed.
        * crypto/webkitSubtle/aes-kw-wrap-unwrap-aes.html: Removed.
        * crypto/webkitSubtle/aes-postMessage-expected.txt: Removed.
        * crypto/webkitSubtle/aes-postMessage.html: Removed.
        * crypto/webkitSubtle/argument-conversion-expected.txt: Removed.
        * crypto/webkitSubtle/argument-conversion.html: Removed.
        * crypto/webkitSubtle/array-buffer-view-offset-expected.txt: Removed.
        * crypto/webkitSubtle/array-buffer-view-offset.html: Removed.
        * crypto/webkitSubtle/disallowed-in-worker-expected.txt: Removed.
        * crypto/webkitSubtle/disallowed-in-worker.html: Removed.
        * crypto/webkitSubtle/gc-2-expected.txt: Removed.
        * crypto/webkitSubtle/gc-2.html: Removed.
        * crypto/webkitSubtle/gc-3-expected.txt: Removed.
        * crypto/webkitSubtle/gc-3.html: Removed.
        * crypto/webkitSubtle/gc-expected.txt: Removed.
        * crypto/webkitSubtle/gc.html: Removed.
        * crypto/webkitSubtle/hmac-check-algorithm-expected.txt: Removed.
        * crypto/webkitSubtle/hmac-check-algorithm.html: Removed.
        * crypto/webkitSubtle/hmac-export-key-expected.txt: Removed.
        * crypto/webkitSubtle/hmac-export-key.html: Removed.
        * crypto/webkitSubtle/hmac-generate-key-expected.txt: Removed.
        * crypto/webkitSubtle/hmac-generate-key.html: Removed.
        * crypto/webkitSubtle/hmac-import-jwk-expected.txt: Removed.
        * crypto/webkitSubtle/hmac-import-jwk.html: Removed.
        * crypto/webkitSubtle/hmac-postMessage-expected.txt: Removed.
        * crypto/webkitSubtle/hmac-postMessage.html: Removed.
        * crypto/webkitSubtle/hmac-sign-verify-empty-key-expected.txt: Removed.
        * crypto/webkitSubtle/hmac-sign-verify-empty-key.html: Removed.
        * crypto/webkitSubtle/hmac-sign-verify-expected.txt: Removed.
        * crypto/webkitSubtle/hmac-sign-verify.html: Removed.
        * crypto/webkitSubtle/import-export-raw-key-leak-expected.txt: Removed.
        * crypto/webkitSubtle/import-export-raw-key-leak.html: Removed.
        * crypto/webkitSubtle/import-jwk-expected.txt: Removed.
        * crypto/webkitSubtle/import-jwk.html: Removed.
        * crypto/webkitSubtle/jwk-export-use-values-expected.txt: Removed.
        * crypto/webkitSubtle/jwk-export-use-values.html: Removed.
        * crypto/webkitSubtle/jwk-import-use-values-expected.txt: Removed.
        * crypto/webkitSubtle/jwk-import-use-values.html: Removed.
        * crypto/webkitSubtle/resources: Removed.
        * crypto/webkitSubtle/resources/disallowed-in-worker.js: Removed.
        * crypto/webkitSubtle/resources/rsa-indexeddb-non-exportable.js: Removed.
        * crypto/webkitSubtle/resources/rsa-indexeddb.js: Removed.
        * crypto/webkitSubtle/rsa-export-generated-keys-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-export-generated-keys.html: Removed.
        * crypto/webkitSubtle/rsa-export-key-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-export-key.html: Removed.
        * crypto/webkitSubtle/rsa-export-private-key-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-export-private-key.html: Removed.
        * crypto/webkitSubtle/rsa-indexeddb-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-indexeddb-non-exportable-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-indexeddb-non-exportable-private-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-indexeddb-non-exportable-private.html: Removed.
        * crypto/webkitSubtle/rsa-indexeddb-non-exportable.html: Removed.
        * crypto/webkitSubtle/rsa-indexeddb-private-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-indexeddb-private.html: Removed.
        * crypto/webkitSubtle/rsa-indexeddb.html: Removed.
        * crypto/webkitSubtle/rsa-oaep-generate-non-extractable-key-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-oaep-generate-non-extractable-key.html: Removed.
        * crypto/webkitSubtle/rsa-oaep-key-manipulation-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-oaep-key-manipulation.html: Removed.
        * crypto/webkitSubtle/rsa-oaep-plaintext-length-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-oaep-plaintext-length.html: Removed.
        * crypto/webkitSubtle/rsa-oaep-wrap-unwrap-aes-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-oaep-wrap-unwrap-aes.html: Removed.
        * crypto/webkitSubtle/rsa-postMessage-expected.txt: Removed.
        * crypto/webkitSubtle/rsa-postMessage.html: Removed.
        * crypto/webkitSubtle/rsaes-pkcs1-v1_5-decrypt-expected.txt: Removed.
        * crypto/webkitSubtle/rsaes-pkcs1-v1_5-decrypt.html: Removed.
        * crypto/webkitSubtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt: Removed.
        * crypto/webkitSubtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-expected.txt: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent-expected.txt: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent.html: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key.html: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-small-key-expected.txt: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk.html: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt: Removed.
        * crypto/webkitSubtle/rsassa-pkcs1-v1_5-sign-verify.html: Removed.
        * crypto/webkitSubtle/sha-1-expected.txt: Removed.
        * crypto/webkitSubtle/sha-1.html: Removed.
        * crypto/webkitSubtle/sha-224-expected.txt: Removed.
        * crypto/webkitSubtle/sha-224.html: Removed.
        * crypto/webkitSubtle/sha-256-expected.txt: Removed.
        * crypto/webkitSubtle/sha-256.html: Removed.
        * crypto/webkitSubtle/sha-384-expected.txt: Removed.
        * crypto/webkitSubtle/sha-384.html: Removed.
        * crypto/webkitSubtle/sha-512-expected.txt: Removed.
        * crypto/webkitSubtle/sha-512.html: Removed.
        * crypto/webkitSubtle/unimplemented-unwrap-crash-expected.txt: Removed.
        * crypto/webkitSubtle/unimplemented-unwrap-crash.html: Removed.
        * crypto/webkitSubtle/unwrapKey-check-usage-expected.txt: Removed.
        * crypto/webkitSubtle/unwrapKey-check-usage.html: Removed.
        * crypto/webkitSubtle/wrapKey-check-usage-expected.txt: Removed.
        * crypto/webkitSubtle/wrapKey-check-usage.html: Removed.

            Remove webkitSubtleCrypto tests.

        * fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt:

            Remove webkitSubtleCrypto deprecation warning that no longer happens.

        * platform/ios-wk1/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

            Remove webkitSubtle tests from expectations files.

2017-08-18  Jonathan Bedard  <jbedard@apple.com>

        Marking canvas/webgl tests as failing
        https://bugs.webkit.org/show_bug.cgi?id=175736

        Unreviewed test gardening.

        * platform/ios-device/TestExpectations:

2017-08-18  Jiewen Tan  <jiewen_tan@apple.com>

        [WebCrypto][Mac] Replace CCECCryptorGetKeyComponents with CCECCryptorExportKey for exporting ECC JWKs
        https://bugs.webkit.org/show_bug.cgi?id=175657
        <rdar://problem/33797150>

        Reviewed by Brent Fulgham.

        * crypto/subtle/ecdsa-generate-export-import-jwk-sign-verify-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-export-import-jwk-sign-verify.html: Added.

2017-08-18  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html as flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=172044

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-18  Matt Lewis  <jlewis3@apple.com>

        Marked js/slow-stress/Int32Array-alloc-huge.html as flaky on mac.
        https://bugs.webkit.org/show_bug.cgi?id=173010

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-18  Brady Eidson  <beidson@apple.com>

        Bounce ServiceWorker jobs to the Storage Process.
        https://bugs.webkit.org/show_bug.cgi?id=175650

        Reviewed by Andy Estes.

        Service worker tests will always be dumpAsText and always be asynchronous.

        * http/tests/workers/service/basic-register.html:
        * http/tests/workers/service/resources/basic-register.js:
        * http/tests/workers/service/resources/sw-test-pre.js: Added.

2017-08-18  Chris Dumez  <cdumez@apple.com>

        [Beacon] Add support for quota limitation
        https://bugs.webkit.org/show_bug.cgi?id=175443
        <rdar://problem/33729002>

        Reviewed by Youenn Fablet.

        Extend layout test coverage and rebaseline test.

        * http/wpt/beacon/beacon-quota-expected.txt:
        * http/wpt/beacon/beacon-quota.html:

2017-08-18  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, land TestExpectations for rdar://problem/33850189.

        * platform/mac-highsierra/TestExpectations:

2017-08-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for El Capitan WK2.

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:

2017-08-18  Youenn Fablet  <youenn@apple.com>

        [Cache API] Add a WK2 implementation of CacheStorageConnection
        https://bugs.webkit.org/show_bug.cgi?id=175640

        Reviewed by Alex Christensen & Chris Dumez.

        * TestExpectations: Marking some tests as flaky until being loaded resources can be cached.

2017-08-18  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Layout Test media/video-controls-no-scripting.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=141835

        Unreviewed test gardening.

        The output appears to be consistent based on local testing.

        Rebaseline video-controls-no-scripting.html.

        * platform/gtk/TestExpectations:
        * platform/gtk/media/video-controls-no-scripting-expected.txt:

2017-08-18  Ms2ger  <Ms2ger@igalia.com>

        Update track-datacue.html test to the current code.
        https://bugs.webkit.org/show_bug.cgi?id=175624

        Reviewed by Eric Carlson.

        * media/track/track-datacue-expected.txt: rebaselined.
        * media/track/track-datacue.html: updated for IDL, exception changes, addition of a new constructor.
        * platform/gtk/TestExpectations: removed failure expectation.
        * platform/ios/TestExpectations: enable.
        * platform/mac/TestExpectations: enable.
        * platform/win/TestExpectations: enable.

2017-08-18  Ms2ger  <Ms2ger@gmail.com>

        [GTK] Remove some obsolete expected failures.
        https://bugs.webkit.org/show_bug.cgi?id=175674

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
          - imported/w3c/web-platform-tests/IndexedDB/keyorder.htm: passing since r204279.
          - imported/w3c/web-platform-tests/resource-timing/rt-cors.html: passing since r212944 and r212993.
          - imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.html: passing since r212944 and r212993.
          - imported/w3c/web-platform-tests/webrtc/getstats.html: passing since test update and rebaseline in r217225.
          - mathml/opentype/large-operators-displaystyle-dynamic.html: used to be flaky, seems to be passing consistently now.
          - media/media-fullscreen-return-to-inline.html: likely passing since r218270.
          - media/video-fast-seek.html: passing since r207879-r207894.
          - platform/gtk/scrollbars/main-frame-scrollbar-horizontal-wheel-scroll.html: passing since r205075.
          - security/contentSecurityPolicy/video-with-data-url-allowed-by-media-src-star.html: flaky.
          - storage/indexeddb/cursor-key-order.html: likely passing since r209135.
          - svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg: flaky.
          - svg/repaint/add-outline-property-on-root.html: passing since r211277
          - svg/repaint/remove-outline-property-on-root.html: passing since r211277

2017-08-18  Ms2ger  <Ms2ger@gmail.com>

        [GTK] Show controls if a video element isn't allowed to play inline.
        https://bugs.webkit.org/show_bug.cgi?id=141705

        Reviewed by Xabier Rodriguez-Calvar.

        * platform/gtk/TestExpectations: enable test for this case.

2017-08-17  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Input Events] Rename inputType "formatForeColor" to "formatFontColor"
        https://bugs.webkit.org/show_bug.cgi?id=175703

        Reviewed by Ryosuke Niwa.

        Rebaselines two LayoutTests that check for the "formatForeColor" inputType.

        * fast/events/input-events-forecolor-data-expected.txt:
        * fast/events/input-events-selection-forecolor-data.html:

2017-08-17  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/video-controls-rendering.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175700

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-17  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for media/video-controls-show-on-kb-or-ax-event.html.
        https://bugs.webkit.org/show_bug.cgi?id=158889

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-17  Matt Lewis  <jlewis3@apple.com>

        Marked accessibility/mac/select-element-selection-with-optgroups.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175341

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-17  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html for Sierra.

        Unreviewed test gardening.

        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-08-17  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline two tests after r220870.

        Unreviewed test gardening.

        * inspector/dom/content-node-region-info-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2017-08-17  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/canvas/context-attributes.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173931

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-17  Matt Lewis  <jlewis3@apple.com>

        Marked fast/hidpi/hidpi-long-page-with-inset-element.html as a flaky ImageOnlyFailure.
        https://bugs.webkit.org/show_bug.cgi?id=172384

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2017-08-17  Matt Lewis  <jlewis3@apple.com>

        Changed expectations to include release for memory/memory-pressure-simulation.html.
        https://bugs.webkit.org/show_bug.cgi?id=170629

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-17  Andreas Kling  <akling@apple.com>

        Disable CSS regions at compile time
        https://bugs.webkit.org/show_bug.cgi?id=175630

        Reviewed by Antti Koivisto.

        Skip tests that are entirely about regions, and tweak logic
        and/or expectations for tests that test regions in addition to
        other things.

        * TestExpectations:
        * fast/css/will-change/resources/will-change-stacking-helper.js:
        * fast/dom/collection-iterators-expected.txt:
        * fast/dom/collection-iterators.html:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/ios/fast/dom/collection-iterators-expected.txt:
        * platform/mac-wk2/TestExpectations:
        * platform/win/js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:

2017-08-17  Antti Koivisto  <antti@apple.com>

        RenderListItem - Avoid render tree mutation during layout
        https://bugs.webkit.org/show_bug.cgi?id=175666

        Reviewed by Andreas Kling.

        Changes in render tree dumps that don't affect rendering.

        * platform/ios/fast/doctypes/002-expected.txt:
        * platform/ios/fast/lists/marker-before-empty-inline-expected.txt:
        * platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/mac/fast/doctypes/002-expected.txt:
        * platform/mac/fast/lists/marker-before-empty-inline-expected.txt:

2017-08-17  Ms2ger  <Ms2ger@gmail.com>

        REGRESSION(r220751): [GTK] Layout Test imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=175641

        Unreviewed test gardening.

        Correct the error message in scheme-about.any-expected.txt.

        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt:

2017-08-17  Ms2ger  <Ms2ger@gmail.com>

        [GTK] Unreviewed test gardening
        https://bugs.webkit.org/show_bug.cgi?id=175664

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: update.
        * platform/gtk/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: rebaseline for change in r220811.
        * platform/wpe/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: rebaseline for change in r220811.

2017-08-16  Ryosuke Niwa  <rniwa@webkit.org>

        Add the support for mutating clipboard data via DataTransferItemList
        https://bugs.webkit.org/show_bug.cgi?id=175639

        Reviewed by Wenson Hsieh.

        Rebaselined the IDL test which now passes all test cases, and added a regression test for mutating clipboard data
        via dataTransfer.items and methods on dataTransfer for plaintext.

        * editing/pasteboard/datatransfer-idl-expected.txt:
        * editing/pasteboard/datatransfer-items-copy-plaintext-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-copy-plaintext.html: Added.

2017-08-16  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fullscreen/full-screen-iframe-legacy.html as flaky on Sierra WK1.
        https://bugs.webkit.org/show_bug.cgi?id=175554

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-08-16  Ryan Haddad  <ryanhaddad@apple.com>

        Correct a typo in a test name.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-16  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline crypto/subtle/rsa-generate-key-malformed-parameters.html after r220811.

        Unreviewed test gardening.

        * platform/ios-11/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt:

2017-08-16  Chris Dumez  <cdumez@apple.com>

        Cross origin Beacon requests with a ArrayBuffer / ArrayBufferView payload should not do a CORS preflight
        https://bugs.webkit.org/show_bug.cgi?id=175628
        <rdar://problem/33919278>

        Reviewed by Geoffrey Garen.

        * http/tests/blink/sendbeacon/beacon-same-origin-expected.txt:
        * http/wpt/fetch/fetch-request-arraybuffer-content-type-expected.txt:
        * http/wpt/fetch/fetch-request-arraybuffer-content-type.html:
        Rebaseline test due to revert of r220779.

        * http/wpt/beacon/cors/cors-preflight-arraybufferview-failure-expected.txt: Removed.
        * http/wpt/beacon/cors/cors-preflight-arraybufferview-failure.html: Removed.
        Drop outdated test. CORS preflight failure is still covered by the corresponding Blob payload test.

        * http/wpt/beacon/cors/cors-preflight-arraybufferview-success-expected.txt: Removed.
        * http/wpt/beacon/cors/cors-preflight-arraybufferview-success.html: Removed.
        * http/wpt/beacon/cors/crossorigin-arraybufferview-no-preflight-expected.txt: Added.
        * http/wpt/beacon/cors/crossorigin-arraybufferview-no-preflight.html: Added.
        Rename and update test so that it checks that we no longer do a CORS preflight for cross origin
        beacons that have an ArrayBuffer payload.

2017-08-16  Matt Baker  <mattbaker@apple.com>

        Web Inspector: capture async stack trace when workers/main context posts a message
        https://bugs.webkit.org/show_bug.cgi?id=167084
        <rdar://problem/30033673>

        Reviewed by Brian Burg.

        Add a test to check for asynchronous stack trace data when the debugger
        pauses inside a MessageEvent handler.

        * inspector/debugger/async-stack-trace-expected.txt:
        * inspector/debugger/async-stack-trace.html:
        * inspector/debugger/resources/postMessage-echo.html: Added.

2017-08-16  Sam Weinig  <sam@webkit.org>

        [WebIDL] Remove the need for JSSubtleCryptoCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=175526

        Reviewed by Chris Dumez.

        * crypto/subtle/encrypt-malformed-parameters-expected.txt:
        * crypto/subtle/export-key-malformed-parameters-expected.txt:
        * crypto/subtle/generate-key-malformed-parameters-expected.txt:
        * crypto/subtle/hkdf-derive-bits-malformed-parametrs-expected.txt:
        * crypto/subtle/hmac-generate-key-malformed-parameters-expected.txt:
        * crypto/subtle/import-key-malformed-parameters-expected.txt:
        * crypto/subtle/pbkdf2-derive-bits-malformed-parametrs-expected.txt:
        * crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt:
        * platform/mac-highsierra/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt:
        Update expectations with improved error messages.

2017-08-16  Eric Carlson  <eric.carlson@apple.com>

        Consider allow gUM to be called from localhost without https
        https://bugs.webkit.org/show_bug.cgi?id=173457
        <rdar://problem/33900527>

        Reviewed by Youenn Fablet.

        * http/tests/media/media-stream/get-user-media-localhost-expected.txt: Added.
        * http/tests/media/media-stream/get-user-media-localhost.html: Added.
        * http/tests/media/media-stream/get-user-media-loopback-ip-expected.txt: Added.
        * http/tests/media/media-stream/get-user-media-loopback-ip.html: Added.

2017-08-16  Ryan Haddad  <ryanhaddad@apple.com>

        Skip workers/wasm-hashset-many.html and workers/wasm-hashset-many-2.html
        https://bugs.webkit.org/show_bug.cgi?id=175102

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-16  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html.

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2017-08-16  Fujii Hironori  <Hironori.Fujii@sony.com>

        [HarfBuzz] Decomposed Vietnamese characters are rendered incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=174418

        Reviewed by Michael Catanzaro.

        * fast/text/international/vietnamese-nfd-expected.html: Added.
        * fast/text/international/vietnamese-nfd.html: Added.

2017-08-16  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline a few tests after r220779.

        * http/tests/blink/sendbeacon/beacon-same-origin-expected.txt:
        * http/wpt/beacon/cors/cors-preflight-arraybufferview-failure.html:
        * http/wpt/beacon/cors/cors-preflight-arraybufferview-success.html:

2017-08-15  Andy Estes  <aestes@apple.com>

        [Payment Request] Import test suite from web-platform-tests
        https://bugs.webkit.org/show_bug.cgi?id=175612
        <rdar://problem/33906070>

        Reviewed by Tim Horton.

        * TestExpectations: Skipped payment-request tests that currently time out.

2017-08-15  Ryosuke Niwa  <rniwa@webkit.org>

        Make DataTransferItemList work with plain text entries
        https://bugs.webkit.org/show_bug.cgi?id=175596

        Reviewed by Wenson Hsieh.

        Rebaselined the tests and added two regression tests for pasting plain text and dropping a plain text file.

        Unfortunately, dropping a file is only supported by DumpRenderTree on Mac :( so it's disabled elsewhere.

        * editing/pasteboard/datatransfer-idl-expected.txt: Rebaselined now that NoInterfaceObject has been dropped from
        DataTransferItem.idl and DataTransferItemList.idl as expected.
        * editing/pasteboard/datatransfer-idl.html: Fixed the bug that it wasn't testing IDL for DataTransferItem.
        * editing/pasteboard/datatransfer-items-drop-plaintext-file-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-plaintext-file.html: Added.
        * editing/pasteboard/datatransfer-items-paste-plaintext-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-paste-plaintext.html: Added.
        * editing/resources/text-pasteboard-data.txt: Added.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/ios/TestExpectations:
        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
        * platform/win/TestExpectations:
        * platform/wk2/TestExpectations:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-08-15  Chris Dumez  <cdumez@apple.com>

        Fetch / Beacon: Use "application/octet-stream" Content-Type for payloads of type ArrayBuffer / ArrayBufferView
        https://bugs.webkit.org/show_bug.cgi?id=175600

        Reviewed by Youenn Fablet.

        * http/wpt/fetch/fetch-request-arraybuffer-content-type-expected.txt: Added.
        * http/wpt/fetch/fetch-request-arraybuffer-content-type.html: Added.
        * platform/mac-highsierra/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
        * platform/mac-highsierra/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:

2017-08-15  Matt Lewis  <jlewis3@apple.com>

        Skipped media/modern-media-controls/time-labels-support/elapsed-time.html.
        <rdar://problem/33731086>

        Unreviewed test gardening.

        * platform/mac-highsierra/TestExpectations:

2017-08-15  JF Bastien  <jfbastien@apple.com>

        LayoutTests: test that an XMLHttpRequest with Content-Encoding: gzip is properly decompressed
        https://bugs.webkit.org/show_bug.cgi?id=175579

        Also test that without Content-Encoding proper sniffing takes place, and gzip
        decoding occurs. This test is disabled and tracked by #175597.

        Reviewed by Daniel Bates.

        * TestExpectations:
        * http/tests/xmlhttprequest/gzip-content-type-expected.txt: Added.
        * http/tests/xmlhttprequest/gzip-content-type-no-content-encoding-expected.txt: Added.
        * http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html: Added.
        * http/tests/xmlhttprequest/gzip-content-type.html: Added.
        * http/tests/xmlhttprequest/resources/gzip-lorem-no-content-encoding.php: Added.
        * http/tests/xmlhttprequest/resources/gzip-lorem.php: Added.

2017-08-15  Chris Dumez  <cdumez@apple.com>

        Re-sync DOM Web-Platform-Tests from upstream
        https://bugs.webkit.org/show_bug.cgi?id=175588

        Reviewed by Youenn Fablet.

        * platform/mac/TestExpectations:

2017-08-15  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175263

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-08-15  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/images/animated-gif-scrolling-crash.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175345.

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-08-15  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175592

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-15  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/appcache/deferred-events-delete-while-raising-timer.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=87633

        Unreviewed test gardening.

        * TestExpectations: Add expectation that was removed with r220750.

2017-08-15  Youenn Fablet  <youenn@apple.com>

        [Cache API] Adding generic support for CacheStorage and Cache methods
        https://bugs.webkit.org/show_bug.cgi?id=175455

        Reviewed by Chris Dumez.

        * TestExpectations: Skipping a test that would timeout otherwise due to the current implementation limitations.

2017-08-15  Chris Dumez  <cdumez@apple.com>

        Implement quota limitation for keepalive Fetch requests
        https://bugs.webkit.org/show_bug.cgi?id=175482

        Reviewed by Sam Weinig and Youenn Fablet.

        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt:
        * http/tests/contentextensions/async-xhr-onerror-expected.txt:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
        * http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
        Rebaseline a few tests now that we provide a more helpful error message when an XHR is failing synchronously.

        * http/wpt/beacon/beacon-quota-expected.txt: Added.
        * http/wpt/beacon/beacon-quota.html: Added.
        Add layout test coverage for keepalive Fetch requests quota in the context of sendBeacon().
        The second part of the test is still failing because WebCore does not currently know when
        ping loads (e.g. beacon loads) complete. This will be addressed via Bug 175443.

2017-08-15  Darin Adler  <darin@apple.com>

        REGRESSION(r220052): http/tests/appcache/deferred-events-delete-while-raising-timer.html is crashing.
        https://bugs.webkit.org/show_bug.cgi?id=175107

        Reviewed by Alexey Proskuryakov.

        * TestExpectations: Removed the flakiness expectation for this test.

2017-08-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/gtk/fast/events/input-events-paste-rich-datatransfer-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/eventsource/format-field-id-2-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/eventsource/format-field-id-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/eventsource/format-mime-bogus-expected.txt: Added.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-08-15  Commit Queue  <commit-queue@webkit.org>

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

        Broke Arabic text shaping (Requested by mcatanzaro on
        #webkit).

        Reverted changeset:

        "[HarfBuzz] Decomposed Vietnamese characters are rendered
        incorrectly"
        https://bugs.webkit.org/show_bug.cgi?id=174418
        http://trac.webkit.org/changeset/219504

2017-08-14  Simon Fraser  <simon.fraser@apple.com>

        Remove Proximity Events and related code
        https://bugs.webkit.org/show_bug.cgi?id=175545

        Reviewed by Daniel Bates.

        No platform enables Proximity Events, so remove code inside ENABLE(PROXIMITY_EVENTS)
        and other related code.

        * fast/events/constructors/device-proximity-event-constructor-expected.txt: Removed.
        * fast/events/constructors/device-proximity-event-constructor.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * proximity/add-listener-from-callback-expected.txt: Removed.
        * proximity/add-listener-from-callback.html: Removed.
        * proximity/basic-operation-expected.txt: Removed.
        * proximity/basic-operation.html: Removed.
        * proximity/check-event-deviceproximity-expected.txt: Removed.
        * proximity/check-event-deviceproximity.html: Removed.
        * proximity/create-event-deviceproximity-expected.txt: Removed.
        * proximity/create-event-deviceproximity.html: Removed.
        * proximity/create-event-expected.txt: Removed.
        * proximity/create-event.html: Removed.
        * proximity/event-after-navigation-expected.txt: Removed.
        * proximity/event-after-navigation.html: Removed.
        * proximity/multiple-frames-expected.txt: Removed.
        * proximity/multiple-frames.html: Removed.
        * proximity/no-page-cache-expected.txt: Removed.
        * proximity/no-page-cache.html: Removed.
        * proximity/optional-event-properties-expected.txt: Removed.
        * proximity/optional-event-properties.html: Removed.
        * proximity/resources/cached-page-1.html: Removed.
        * proximity/resources/cached-page-2.html: Removed.
        * proximity/resources/event-after-navigation-new.html: Removed.
        * proximity/updates-expected.txt: Removed.
        * proximity/updates.html: Removed.
        * proximity/window-property-expected.txt: Removed.
        * proximity/window-property.html: Removed.

2017-08-14  Chris Dumez  <cdumez@apple.com>

        Import eventsource Web-Platform-Tests
        https://bugs.webkit.org/show_bug.cgi?id=175556

        Reviewed by Youenn Fablet.

        * tests-options.json:

2017-08-14  Chris Dumez  <cdumez@apple.com>

        XHR should only fire an abort event if the cancellation was requested by the client
        https://bugs.webkit.org/show_bug.cgi?id=175546

        Reviewed by Youenn Fablet.

        * http/tests/navigation/page-cache-xhr-expected.txt:
        * http/tests/navigation/page-cache-xhr-in-pagehide-expected.txt: Copied from LayoutTests/http/tests/navigation/page-cache-xhr-expected.txt.
        * http/tests/navigation/page-cache-xhr-in-pagehide.html: Copied from LayoutTests/http/tests/navigation/page-cache-xhr.html.
        * http/tests/navigation/page-cache-xhr.html:
        When an XHR is pending and navigating away, we would send an abort event before the navigation and an error event after
        restoring from PageCache. This bug was not seen before because the test only checked for error events, not abort ones.
        The expected behavior is now that we fire an error event before navigating away, similar to the non-PageCache case.
        The only case where the error event should be fired after restoring from PageCache is when an XHR is done in the pagehide
        event handler, because it is too late to send the error event to the page before navigating in this case. I added test
        coverage for this case.

        * http/tests/xmlhttprequest/navigation-should-abort-expected.txt:
        * http/tests/xmlhttprequest/navigation-should-abort.html:
        This test was expecting an abort event on navigation which is against spec. This test was failing in Blink too.
        Update the test to expect an error event instead.

2017-08-14  Simon Fraser  <simon.fraser@apple.com>

        Remove ENABLE_VIEW_MODE_CSS_MEDIA and related code
        https://bugs.webkit.org/show_bug.cgi?id=175557

        Reviewed by Jon Lee.

        No port cares about the ENABLE(VIEW_MODE_CSS_MEDIA) feature, so remove it.

        * fast/media/media-query-list-02-expected.txt: Removed.
        * fast/media/media-query-list-02.html: Removed.
        * fast/media/media-query-list-03-expected.txt: Removed.
        * fast/media/media-query-list-03.html: Removed.
        * fast/media/media-query-list-04-expected.txt: Removed.
        * fast/media/media-query-list-04.html: Removed.
        * fast/media/media-query-list-05-expected.txt: Removed.
        * fast/media/media-query-list-05.html: Removed.
        * fast/media/media-query-list-06-expected.txt: Removed.
        * fast/media/media-query-list-06.html: Removed.
        * fast/media/view-mode-media-feature-expected.html: Removed.
        * fast/media/view-mode-media-feature.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2017-08-14  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline editing/mac/input/firstrectforcharacterrange-styled.html.

        Unreviewed test gardening.

        * platform/mac-highsierra/editing/mac/input/firstrectforcharacterrange-styled-expected.txt: Added.

2017-08-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Parse font-display
        https://bugs.webkit.org/show_bug.cgi?id=175382

        Reviewed by Simon Fraser.

        * fast/text/font-display/parse-expected.txt: Added.
        * fast/text/font-display/parse.html: Added.

2017-08-14  Andy Estes  <aestes@apple.com>

        [Apple Pay] Add support for phonetic contact names
        https://bugs.webkit.org/show_bug.cgi?id=175537
        <rdar://problem/32002644>

        Reviewed by Tim Horton.

        * http/tests/ssl/applepay/ApplePayError-expected.txt:
        * http/tests/ssl/applepay/ApplePayError.html:
        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html:
        * http/tests/ssl/applepay/ApplePaySessionV3-expected.txt:
        * http/tests/ssl/applepay/ApplePaySessionV3.html:

2017-08-14  Said Abou-Hallawa  <sabouhallawa@apple.com>

        The none smooth stroke applied to an SVG shape breaks its hit testing
        https://bugs.webkit.org/show_bug.cgi?id=175506

        Reviewed by Simon Fraser.

        * svg/stroke/stroke-linejoin-click-expected.html: Added.
        * svg/stroke/stroke-linejoin-click.html: Added.

2017-08-14  Daniel Bates  <dabates@apple.com>

        [css-ui] Implement caret-color support
        https://bugs.webkit.org/show_bug.cgi?id=166572
        <rdar://problem/33852589>

        Update GTK expected results following r220706.

        * platform/gtk/editing/style/5065910-expected.txt:
        * platform/gtk/editing/style/5084241-expected.txt:

2017-08-14  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rollout r220622 & r220696
        https://bugs.webkit.org/show_bug.cgi?id=175482
        <rdar://problem/33860695>

        Seems to have caused failures on iOS.

        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt:
        * http/tests/contentextensions/async-xhr-onerror-expected.txt:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
        * http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
        * http/wpt/beacon/beacon-quota-expected.txt: Removed.
        * http/wpt/beacon/beacon-quota.html: Removed.
        * inspector/worker/resources-in-worker-expected.txt:
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt:
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt:

2017-08-14  Daniel Bates  <dabates@apple.com>

        [css-ui] Implement caret-color support
        https://bugs.webkit.org/show_bug.cgi?id=166572
        <rdar://problem/33852589>

        Reviewed by David Hyatt.

        Add reference tests to ensure that we do not regress CSS property caret-color.

        * TestExpectations: Unskip Web Platform Tests that now pass.
        * editing/deleting/maintain-style-after-delete-expected.txt: Updated expected result.
        * editing/inserting/insert-paragraph-with-font-and-background-color-expected.txt: Ditto.
        * editing/pasteboard/do-not-copy-unnecessary-styles-2-expected.txt: Ditto.
        * editing/pasteboard/onpaste-text-html-expected.txt: Ditto.
        * editing/pasteboard/preserve-caret-color-expected.txt: Added.
        * editing/pasteboard/preserve-caret-color.html: Added.
        * editing/pasteboard/preserve-underline-color-expected.txt:
        * fast/css/caret-color-auto-expected.html: Added.
        * fast/css/caret-color-auto.html: Added.
        * fast/css/caret-color-expected.html: Added.
        * fast/css/caret-color-fallback-to-color-expected.html: Added.
        * fast/css/caret-color-fallback-to-color.html: Added.
        * fast/css/caret-color-inherit-expected.html: Added.
        * fast/css/caret-color-inherit.html: Added.
        * fast/css/caret-color-span-inside-editable-parent-expected.html: Added.
        * fast/css/caret-color-span-inside-editable-parent.html: Added.
        * fast/css/caret-color.html: Added.
        * fast/events/before-input-events-prevent-drag-and-drop-expected.txt: Updated expected result.
        * fast/events/input-events-paste-rich-datatransfer-expected.txt: Ditto.
        * fast/events/ondrop-text-html-expected.txt: Ditto.
        * fast/history/visited-link-caret-color-expected.html: Added.
        * fast/history/visited-link-caret-color.html: Added.
        * platform/ios/TestExpectations: Skip the tests on iOS as iOS does not enable
        ENABLE(TEXT_CARET). UIKit renders the text insertion caret on iOS.
        * platform/mac/editing/style/5065910-expected.txt: Updated expected result.
        * platform/mac/editing/style/5084241-expected.png: Ditto.
        * platform/mac/editing/style/5084241-expected.txt: Ditto.
        * platform/ios-wk2/editing/style/5084241-expected.txt: Ditto.

2017-08-14  Zan Dobersek  <zdobersek@igalia.com>

        REGRESSION(r220517-r220521) [GTK] Various compositing tests fail
        https://bugs.webkit.org/show_bug.cgi?id=175478

        Reviewed by Sergio Villar Senin.

        * platform/gtk/TestExpectations: Remove failure and flakiness expectations.

2017-08-14  Ms2ger  <Ms2ger@igalia.com>

        GTK-focused gardening.
        https://bugs.webkit.org/show_bug.cgi?id=175529

        Unreviewed test gardening.

        * http/wpt/css/css-pseudo-4/marker-font-properties-expected.html: Set line-height for more reliable rendering.
        * http/wpt/css/css-pseudo-4/marker-font-properties.html: Set line-height for more reliable rendering.
        * media/video-fullscreen-restriction-removed-expected.txt: DOMException's toString was changed in r219663; rebaseline. (The test is marked as flaky on mac.)
        * platform/gtk/TestExpectations:
        * platform/gtk/http/tests/dom/document-attributes-null-handling-expected.txt: SecurityError got a new message in r220376; rebaseline.
        * platform/gtk/imported/w3c/web-platform-tests/FileAPI/historical.https-expected.txt: Added: GTK does not yet enable the in-progress ServiceWorker implementation.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: TypeError got a new message in r220622; rebaseline.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker-expected.txt: Added: TypeError uses a different message on GTK.

2017-08-14  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Update some test expectations.
        https://bugs.webkit.org/show_bug.cgi?id=175480

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/webrtc/simplecall-expected.txt: Added.

2017-08-14  Antti Koivisto  <antti@apple.com>

        [Render Tree Mutation] First letter should not mutate the render tree while in layout.
        https://bugs.webkit.org/show_bug.cgi?id=163848
        <rdar://problem/33402718>

        Reviewed by Zalan Bujtas.

        * fast/text-autosizing/ios/first-letter-expected.html: Added.

            Turn into reftest for easier debugging and robustness.

        * imported/blink/fast/css/first-letter-range-insert-expected.txt:

            This is crash-or-assert test and the output change here doesn't matter.

        * platform/ios/fast/text-autosizing/ios/first-letter-expected.txt: Removed.
        * platform/mac/fast/text-autosizing/ios/first-letter-expected.txt: Removed.

2017-08-13  Manuel Rego Casasnovas  <rego@igalia.com>

        Composition underline color is always black
        https://bugs.webkit.org/show_bug.cgi?id=174675

        Reviewed by Ryosuke Niwa.

        Added new test to check that the composition underline
        is using the text color.
        The test hides the text and the caret, so it only shows
        the composition underline and checks against an -expected-mismatch
        that the color of the composition marker is different.

        * editing/composition-underline-color-expected-mismatch.html: Added.
        * editing/composition-underline-color.html: Added.

2017-08-11  Ryosuke Niwa  <rniwa@webkit.org>

        Replace DATA_TRANSFER_ITEMS by a runtime flag and add a stub implementation
        https://bugs.webkit.org/show_bug.cgi?id=175474
        <rdar://problem/33844628>

        Reviewed by Wenson Hsieh.

        Added a W3C-style IDL test.

        * editing/pasteboard/datatransfer-idl.html: Added.

2017-08-12  Chris Dumez  <cdumez@apple.com>

        Address flakiness related to download tests
        https://bugs.webkit.org/show_bug.cgi?id=175338

        Reviewed by Ryosuke Niwa.

        * TestExpectations:
        Unmark several download tests as flaky.

        * fast/dom/HTMLAnchorElement/anchor-download-synthetic-click.html:
        * fast/dom/HTMLAnchorElement/anchor-download-user-triggered-synthetic-click.html:
        * fast/dom/HTMLAnchorElement/anchor-download.html:
        * fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download.html:
        * fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-backslash.html:
        * fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote.html:
        * fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes.html:
        * fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html:
        * fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html:
        * fast/dom/HTMLAnchorElement/anchor-file-blob-download.html:
        * fast/dom/HTMLAnchorElement/anchor-nodownload-set.html:
        * http/tests/download/anchor-download-attribute-content-disposition.html:
        * http/tests/download/anchor-download-no-extension.html:
        * http/tests/download/anchor-download-no-value.html:
        * http/tests/download/area-download-expected.txt:
        * http/tests/download/area-download.html:
        * http/tests/security/anchor-download-allow-blob-expected.txt:
        * http/tests/security/anchor-download-allow-blob.html:
        * http/tests/security/anchor-download-allow-data-expected.txt:
        * http/tests/security/anchor-download-allow-data.html:
        * http/tests/security/anchor-download-allow-sameorigin.html:
        Update download tests to explicitly enable download callbacks logging.

2017-08-11  Chris Dumez  <cdumez@apple.com>

        Implement quota limitation for keepalive Fetch requests
        https://bugs.webkit.org/show_bug.cgi?id=175482

        Reviewed by Sam Weinig and Youenn Fablet.

        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt:
        * http/tests/contentextensions/async-xhr-onerror-expected.txt:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
        * http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
        Rebaseline a few tests now that we provide a more helpful error message when an XHR is failing synchronously.

        * http/wpt/beacon/beacon-quota-expected.txt: Added.
        * http/wpt/beacon/beacon-quota.html: Added.
        Add layout test coverage for keepalive Fetch requests quota in the context of sendBeacon().
        The second part of the test is still failing because WebCore does not currently know when
        ping loads (e.g. beacon loads) complete. This will be addressed via Bug 175443.

2017-08-11  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for failing media/video-controls tests.
        https://bugs.webkit.org/show_bug.cgi?id=173978

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-10  Nan Wang  <n_wang@apple.com>

        Layout test accessibility/press-target-uses-text-descendant-node.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175272
        <rdar://problem/33756962>

        Since accessibilityPress is async, we shouldn't rely on the timeout.

        Reviewed by Chris Fleizach.

        * accessibility/press-target-uses-text-descendant-node.html:

2017-08-10  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening for High Sierra.

        * platform/mac-highsierra/css1/basic/inheritance-expected.txt: Added.
        * platform/mac-highsierra/css2.1/t0602-c13-inh-underlin-00-e-expected.txt: Added.
        * platform/mac-highsierra/css2.1/t0805-c5522-brdr-02-e-expected.txt: Added.
        * platform/mac-highsierra/css3/selectors3/html/css3-modsel-18-expected.txt: Added.
        * platform/mac-highsierra/css3/selectors3/xhtml/css3-modsel-18-expected.txt: Added.
        * platform/mac-highsierra/css3/selectors3/xml/css3-modsel-18-expected.txt: Added.
        * platform/mac-highsierra/fast/block/basic/001-expected.txt: Added.
        * platform/mac-highsierra/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
        * platform/mac-highsierra/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
        * platform/mac-highsierra/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
        * platform/mac-highsierra/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.
        * platform/mac-highsierra/fast/css/css3-nth-child-expected.txt: Added.
        * platform/mac-highsierra/fast/css/text-overflow-input-expected.txt: Added.
        * platform/mac-highsierra/fast/dom/34176-expected.txt: Added.
        * platform/mac-highsierra/fast/dom/clone-node-dynamic-style-expected.txt: Added.
        * platform/mac-highsierra/fast/forms/basic-inputs-expected.txt: Added.
        * platform/mac-highsierra/fast/forms/input-value-expected.txt: Added.
        * platform/mac-highsierra/fast/forms/plaintext-mode-2-expected.txt: Added.
        * platform/mac-highsierra/fast/invalid/003-expected.txt: Added.
        * platform/mac-highsierra/fast/invalid/004-expected.txt: Added.
        * platform/mac-highsierra/fast/invalid/nestedh3s-expected.txt: Added.
        * platform/mac-highsierra/fast/selectors/018-expected.txt: Added.
        * platform/mac-highsierra/fast/table/frame-and-rules-expected.txt: Added.
        * platform/mac-highsierra/fast/text/atsui-multiple-renderers-expected.txt: Added.
        * platform/mac-highsierra/fast/text/bidi-embedding-pop-and-push-same-expected.txt: Added.
        * platform/mac-highsierra/fast/text/font-weights-expected.txt: Added.
        * platform/mac-highsierra/fast/text/font-weights-zh-expected.txt: Added.
        * platform/mac-highsierra/fast/text/indic-expected.txt: Added.
        * platform/mac-highsierra/fast/text/international/complex-character-based-fallback-expected.txt:
        * platform/mac-highsierra/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: Added.
        * platform/mac-highsierra/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: Added.
        * platform/mac-highsierra/svg/batik/text/textStyles-expected.txt: Added.
        * platform/mac-highsierra/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt: Added.
        * platform/mac-highsierra/tables/mozilla/other/wa_table_tr_align-expected.txt: Added.

2017-08-10  Nan Wang  <n_wang@apple.com>

        AX: crash at WebCore::AccessibilityObject::supportsARIALiveRegion() const + 24
        https://bugs.webkit.org/show_bug.cgi?id=175340
        <rdar://problem/33782159>

        Reviewed by Chris Fleizach.

        * accessibility/add-children-pseudo-element-expected.txt: Added.
        * accessibility/add-children-pseudo-element.html: Added.
        * accessibility/resources/svg-circle.svg: Added.

2017-08-10  Chris Dumez  <cdumez@apple.com>

        [Beacon] Do connect-src CSP check on redirects as well
        https://bugs.webkit.org/show_bug.cgi?id=175410
        <rdar://problem/33815470>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/wpt/beacon/connect-src-beacon-redirect-allowed.sub-expected.txt: Added.
        * http/wpt/beacon/connect-src-beacon-redirect-allowed.sub.html: Added.
        * http/wpt/beacon/connect-src-beacon-redirect-blocked.sub-expected.txt: Added.
        * http/wpt/beacon/connect-src-beacon-redirect-blocked.sub.html: Added.

2017-08-10  Jonathan Bedard  <jbedard@apple.com>

        Mark webgl/webgl-box-shadow.html and webgl/webgl-border.html as failing for ios-device.
        https://bugs.webkit.org/show_bug.cgi?id=175437

        Unreviewed test gardening.

        * platform/ios-device/TestExpectations:

2017-08-10  Brady Eidson  <beidson@apple.com>

        Add ServiceWorkerJob.
        https://bugs.webkit.org/show_bug.cgi?id=175241

        Reviewed by Tim Horton.

        Verifies that the "serviceWorker.register()" job we currently schedule fails as expected.

        * http/tests/workers/service/basic-register-expected.txt: Added.
        * http/tests/workers/service/basic-register.html: Added.
        * http/tests/workers/service/resources/basic-register.js: Added.
        * http/tests/workers/service/resources/empty-worker.js: Added.
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:

2017-08-10  Commit Queue  <commit-queue@webkit.org>

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

        unaccepted fix (Requested by n_wang on #webkit).

        Reverted changeset:

        "AX: crash at
        WebCore::AccessibilityObject::supportsARIALiveRegion() const +
        24"
        https://bugs.webkit.org/show_bug.cgi?id=175340
        http://trac.webkit.org/changeset/220463

2017-08-10  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors.html.
        https://bugs.webkit.org/show_bug.cgi?id=170698

        Unreviewed test gardening.

        * TestExpectations: Skip test on debug because it times out on every run.
        * platform/ios/TestExpectations: Mark as flaky on Release.
        * platform/mac/TestExpectations: Ditto.

2017-08-10  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests failing at r220516.

        * platform/gtk/TestExpectations:

2017-08-09  Chris Dumez  <cdumez@apple.com>

        Disable Beacon API on WK1 DRT and WK2 when not using NETWORK_SESSION
        https://bugs.webkit.org/show_bug.cgi?id=175401

        Reviewed by Brady Eidson.

        * platform/mac-elcapitan-wk2/fast/dom/navigator-detached-no-crash-expected.txt: Copied from LayoutTests/platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/url/failure-expected.txt: Added.
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/mac-wk1/imported/w3c/web-platform-tests/url/failure-expected.txt: Added.
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:
        * platform/win/fast/dom/navigator-detached-no-crash-expected.txt: Copied from LayoutTests/platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt.
        * platform/win/imported/w3c/web-platform-tests/url/failure-expected.txt: Added.

2017-08-09  Chris Dumez  <cdumez@apple.com>

        [Beacon][NetworkSession] Support CORS-preflighting on redirects
        https://bugs.webkit.org/show_bug.cgi?id=175386
        <rdar://problem/33801370>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/wpt/beacon/cors/cors-preflight-redirect-failure-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-redirect-failure.html: Added.
        * http/wpt/beacon/cors/cors-preflight-redirect-from-crossorigin-to-sameorigin-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-redirect-from-crossorigin-to-sameorigin.html: Added.
        * http/wpt/beacon/cors/cors-preflight-redirect-success-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-redirect-success.html: Added.
        * http/wpt/beacon/resources/beacon-preflight.py:
        (main):
        * http/wpt/beacon/resources/redirect.py: Added.
        (main):

2017-08-09  Chris Dumez  <cdumez@apple.com>

        Unreviewed, deflake http/wpt/beacon/keepalive-after-navigation.html

        Temporarily restore previous timeout on this test to address flakiness on the
        bots until I can rewrite it.

        * http/wpt/beacon/keepalive-after-navigation.html:

2017-08-09  Chris Dumez  <cdumez@apple.com>

        Import beacon/headers/header-content-type.html from upstream WPT
        https://bugs.webkit.org/show_bug.cgi?id=175395

        Reviewed by Sam Weinig.

        Drop local test that has been upstreamed to WPT.

        * http/wpt/beacon/headers/header-content-type-same-origin-expected.txt: Removed.
        * http/wpt/beacon/headers/header-content-type-same-origin.html: Removed.

2017-08-09  Nan Wang  <n_wang@apple.com>

        LayoutTest accessibility/presentation-role-iframe.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=175194

        Reviewed by Chris Fleizach.

        In the test we have no way to control which iframe will be loaded first.
        Output the logs at the end of the test so that they are in order.

        * accessibility/presentation-role-iframe.html:

2017-08-09  Commit Queue  <commit-queue@webkit.org>

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

        Caused bug 175023 (Requested by ap on #webkit).

        Reverted changeset:

        "[SVG] Leak in SVGAnimatedListPropertyTearOff"
        https://bugs.webkit.org/show_bug.cgi?id=172545
        http://trac.webkit.org/changeset/219334

2017-08-09  Daniel Bates  <dabates@apple.com>

        Import CSS-UI-3 Web Platform Tests
        https://bugs.webkit.org/show_bug.cgi?id=175294

        Reviewed by Zalan Bujtas.

        Mark tests that we currently failure.

        * TestExpectations:
        * platform/ios/TestExpectations:

2017-08-09  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/media/video-buffered-range-contains-currentTime.html as flaky on High Sierra
        <rdar://problem/33555759>

        Unreviewed test gardening.

        * platform/mac-highsierra-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-08-09  Kirill Ovchinnikov  <kirill.ovchinnikov@lge.com>

        Old subtitle track is not deleted on 'src' attribute change event
        https://bugs.webkit.org/show_bug.cgi?id=175031

        Reviewed by Eric Carlson.

        * media/track/text-track-src-change-expected.txt: Added.
        * media/track/text-track-src-change.html: Added.

2017-08-09  Nan Wang  <n_wang@apple.com>

        AX: crash at WebCore::AccessibilityObject::supportsARIALiveRegion() const + 24
        https://bugs.webkit.org/show_bug.cgi?id=175340
        <rdar://problem/33782159>

        Reviewed by Chris Fleizach.

        * accessibility/add-children-pseudo-element-expected.txt: Added.
        * accessibility/add-children-pseudo-element.html: Added.
        * accessibility/resources/svg-circle.svg: Added.

2017-08-09  Ms2ger  <Ms2ger@igalia.com>

        WPE-focused test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=175385

        Unreviewed test gardening.

        * platform/wpe/TestExpectations: Marked failing tests.
        * platform/wpe/fast/events/touch/basic-single-touch-events-expected.txt: Added platform-specific expectation.
        * platform/wpe/js/date-timeClip-large-values-expected.txt: Removed (the platform-neutral expectation is fine).
        * platform/wpe/js/dom/global-constructors-attributes-dedicated-worker-expected.txt: Updated for Cache enabling.
        * transitions/clip-path-path-transitions-expected.txt: Updated for test change in r219243.
        * transitions/resources/transition-test-helpers.js:
        (parseClipPath): Updated to support the quotes in clip-path-path-transitions.html

2017-08-09  Andy Estes  <aestes@apple.com>

        [QuickLook] Use case-insensitive comparison of preview MIME types
        https://bugs.webkit.org/show_bug.cgi?id=175350
        <rdar://problem/33761159>

        Reviewed by Brady Eidson.

        * platform/ios-11/quicklook/excel-macro-enabled-expected.txt: Added.
        * quicklook/excel-macro-enabled-expected.txt: Added.
        * quicklook/excel-macro-enabled.html: Added.
        * quicklook/resources/excel-macro-enabled.xlsm: Added.

2017-08-09  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations: Stop skipping the whole fast/
        directory and then unskipping specific subdirectories since
        that overrides any expectations coming from the generic WK2
        TestExpectations file. Specific subdirectories that we haven't
        yet generated results for are now skipped instead.

2017-08-09  Ms2ger  <Ms2ger@igalia.com>

        [GTK] [WPE] Update expectations for global-constructors-attributes.html.
        https://bugs.webkit.org/show_bug.cgi?id=175373

        Unreviewed test gardening.

        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>

        Unreviewed, rolling out r220393.

        This patch regresses the performance of WebPage::editorState.

        Reverted changeset:

        "[iOS WK2] WKWebView schedules nonstop layout after pressing
        cmb+b,i,u inside a contenteditable div"
        https://bugs.webkit.org/show_bug.cgi?id=175116
        http://trac.webkit.org/changeset/220393

2017-08-08  Chris Dumez  <cdumez@apple.com>

        [Beacon] Add support for CORS-preflighting for WK2 / NETWORK_SESSION
        https://bugs.webkit.org/show_bug.cgi?id=175264
        <rdar://problem/33547793>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/wpt/beacon/cors/cors-preflight-arraybufferview-failure-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-arraybufferview-failure.html: Added.
        * http/wpt/beacon/cors/cors-preflight-arraybufferview-success-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-arraybufferview-success.html: Added.
        * http/wpt/beacon/cors/cors-preflight-blob-failure-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-blob-failure.html: Added.
        * http/wpt/beacon/cors/cors-preflight-blob-success-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-blob-success.html: Added.
        * http/wpt/beacon/cors/cors-preflight-cookie-expected.txt: Added.
        * http/wpt/beacon/cors/cors-preflight-cookie.html: Added.
        * http/wpt/beacon/resources/beacon-preflight.py: Added.
        (respondToCORSPreflight):
        (main):
        * http/wpt/beacon/resources/set-cookie.py: Added.
        (main):
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:

2017-08-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Canvas: support editing WebGL shaders
        https://bugs.webkit.org/show_bug.cgi?id=124211
        <rdar://problem/15448958>

        Reviewed by Matt Baker.

        * inspector/canvas/updateShader-expected.txt: Added.
        * inspector/canvas/updateShader.html: Added.

        * platform/win/TestExpectations:

2017-08-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175195

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-08-08  Brent Fulgham  <bfulgham@apple.com>

        Sandbox flags do not support document.domain control
        https://bugs.webkit.org/show_bug.cgi?id=175281
        <rdar://problem/33778936>

        Reviewed by Chris Dumez.

        * fast/frames/resources/sandboxed-iframe-set-domain.html: Added.
        * fast/frames/sandboxed-iframe-domain.html: Added.
        * fast/frames/sandboxed-iframe-domain-expected.txt: Added.

2017-08-08  Matt Lewis  <jlewis3@apple.com>

        Skipping imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html
        <rdar://problem/33555052>

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-highsierra/TestExpectations:

2017-08-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skip plugins/crash-restoring-plugin-page-from-page-cache.html on macOS debug.
        https://bugs.webkit.org/show_bug.cgi?id=175270

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/images/async-image-body-background-image.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=175193

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-08  Jeremy Jones  <jeremyj@apple.com>

        Change fast seek logic to prevent ping-ponging.
        https://bugs.webkit.org/show_bug.cgi?id=175167
        rdar://problem/32936116

        Reviewed by Jer Noble.

        Test now requires forward fast seek result to be between current time and the target time,
        and a backward seek to be before the seek time.

        * media/video-fast-seek.html:
        * media/media-source/media-source-fastseek.html:

2017-08-08  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure expectations for event_loadedmetadata.html.
        https://bugs.webkit.org/show_bug.cgi?id=175027

        Unreviewed test gardening.

        * TestExpectations:

2017-08-08  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Clear web processes' state on history removal
        https://bugs.webkit.org/show_bug.cgi?id=175271
        <rdar://problem/33756560>

        Reviewed by Chris Dumez.

        * http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html: Added.
        * platform/mac-wk2/TestExpectations:
            user-interaction-reported-after-website-data-removal.html marked as [ Pass ].

2017-08-08  Ryan Haddad  <ryanhaddad@apple.com>

        Fix baseline for http/tests/security/set-domain-remove-subdomain-for-ip-address.html.

        Unreviewed test gardening.

        * http/tests/security/set-domain-remove-subdomain-for-ip-address-expected.txt:

2017-08-08  Matt Lewis  <jlewis3@apple.com>

        Fixed rebaselined expectations for js/dom/global-constructors-attributes.html.
        https://bugs.webkit.org/show_bug.cgi?id=175201

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-dedicated-worker-expected.txt.

2017-08-08  Brent Fulgham  <bfulgham@apple.com>

        Unreviewed test results fix after r220376.

        Rebaseline for new SecurityException message text.

        * fast/dom/Document/invalid-domain-change-throws-exception-expected.txt:
        * http/tests/dom/document-attributes-null-handling-expected.txt:
        * http/tests/security/set-domain-remove-subdomain-for-ip-address-expected.txt:
        * http/tests/security/xss-DENIED-invalid-domain-change-expected.txt:

2017-08-08  Javier Fernandez  <jfernandez@igalia.com>

        Not possible to remove the 'li' element inside the table cell
        https://bugs.webkit.org/show_bug.cgi?id=173148

        Reviewed by Ryosuke Niwa.

        Regression tests for different scenarios of list items removal.

        * editing/deleting/delete-list-items-in-table-cell-1-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-1.html: Added.
        * editing/deleting/delete-list-items-in-table-cell-2-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-2.html: Added.
        * editing/deleting/delete-list-items-in-table-cell-3-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-3.html: Added.
        * editing/deleting/delete-list-items-in-table-cell-4-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-4.html: Added.
        * editing/deleting/delete-list-items-in-table-cell-5-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-5.html: Added.
        * editing/deleting/delete-list-items-in-table-cell-6-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-6.html: Added.
        * editing/deleting/delete-list-items-in-table-cell-7-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-7.html: Added.
        * editing/deleting/delete-list-items-in-table-cell-8-expected.txt: Added.
        * editing/deleting/delete-list-items-in-table-cell-8.html: Added.

2017-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>

        [iOS WK2] WKWebView schedules nonstop layout after pressing cmb+b,i,u inside a contenteditable div
        https://bugs.webkit.org/show_bug.cgi?id=175116
        <rdar://problem/28279301>

        Reviewed by Darin Adler and Ryosuke Niwa.

        Rebaseline some iOS WK2 LayoutTest expectations. These tests currently expect an empty anonymous RenderBlock to
        be inserted into the render tree, but this is only a result of us adding and removing a temporary <span> when
        computing a RenderStyle in WebPage::editorState -- this patch removes these empty RenderBlocks, making these
        expectations' RenderTrees consistent with WebKit1.

        * platform/ios-wk2/editing/inserting/insert-div-024-expected.txt:
        * platform/ios-wk2/editing/inserting/insert-div-026-expected.txt:
        * platform/ios-wk2/editing/style/5084241-expected.txt:
        * platform/ios-wk2/editing/style/unbold-in-bold-expected.txt:

2017-08-07  Matt Lewis  <jlewis3@apple.com>

        Marked media/modern-media-controls/fullscreen-support/fullscreen-support-press.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173946

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-08-07  Matt Lewis  <jlewis3@apple.com>

        Rebaselined js/dom/global-constructors-attributes.html on El Capitan.
        https://bugs.webkit.org/show_bug.cgi?id=175201

        Unreviewed test gardening.
        * platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-dedicated-worker-expected.txt: Added.

2017-08-07  Matt Lewis  <jlewis3@apple.com>

        Changed expectations for webrtc/video-rotation.html.
        https://bugs.webkit.org/show_bug.cgi?id=175305

        Unreviewed test gardening.

        * TestExpectations:

2017-08-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Preview Canvas path when viewing a recording
        https://bugs.webkit.org/show_bug.cgi?id=174967

        Reviewed by Brian Burg.

        * fast/canvas/2d.currentPoint-expected.txt: Added.
        * fast/canvas/2d.currentPoint.html: Added.
        * fast/canvas/2d.getPath.modification-expected.txt: Added.
        * fast/canvas/2d.getPath.modification.html: Added.
        * fast/canvas/2d.getPath.newobject-expected.txt: Added.
        * fast/canvas/2d.getPath.newobject.html: Added.
        * fast/canvas/2d.setPath-expected.txt: Added.
        * fast/canvas/2d.setPath.html: Added.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:
        Updated for additional deduplication in InitialState.

2017-08-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skip workers/wasm-hashset-many.html and workers/wasm-hashset-many-2.html on El Capitan.
        https://bugs.webkit.org/show_bug.cgi?id=175102

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-08-07  Ryan Haddad  <ryanhaddad@apple.com>

        Marking imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name.html as failing on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=175273

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-08-07  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html.

        Unreviewed test gardening.

        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-08-07  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r220299.

        This change caused LayoutTest inspector/dom-debugger/dom-
        breakpoints.html to fail.

        Reverted changeset:

        "Web Inspector: capture async stack trace when workers/main
        context posts a message"
        https://bugs.webkit.org/show_bug.cgi?id=167084
        http://trac.webkit.org/changeset/220299

2017-08-07  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure expectations for wpt browsers tests.
        https://bugs.webkit.org/show_bug.cgi?id=175073

        Unreviewed test gardening.

        * TestExpectations:

2017-08-05  Youenn Fablet  <youenn@apple.com>

        [Fetch API] Response should keep all ResourceResponse information
        https://bugs.webkit.org/show_bug.cgi?id=175099

        Reviewed by Sam Weinig.

        Updating test now that we are no longer cancelling the load in case of opaque responses.

        * http/tests/inspector/network/fetch-network-data-expected.txt:
        * http/tests/inspector/network/fetch-network-data.html:

2017-08-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        getClientRects doesn't work with list box option elements
        https://bugs.webkit.org/show_bug.cgi?id=175016

        Reviewed by Darin Adler.

        Add new test to check list box option elements client rects.

        * fast/dom/HTMLSelectElement/listbox-items-client-rects-expected.txt: Added.
        * fast/dom/HTMLSelectElement/listbox-items-client-rects.html: Added.
        * platform/ios-simulator-wk2/fast/dom/HTMLSelectElement/listbox-items-client-rects-expected.txt: Added.

2017-08-04  Youenn Fablet  <youenn@apple.com>

        [Cache API] Add Cache and CacheStorage IDL definitions
        https://bugs.webkit.org/show_bug.cgi?id=175201

        Reviewed by Brady Eidson.

        * TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/mac-highsierra/js/dom/global-constructors-attributes-expected.txt:

2017-08-04  Brady Eidson  <beidson@apple.com>

        Have navigator.serviceWorker() actually return a ServiceWorkerContainer object.
        https://bugs.webkit.org/show_bug.cgi?id=175215

        Reviewed by Youenn Fablet.

        * platform/mac-wk1/imported/w3c/web-platform-tests/FileAPI/historical.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/FileAPI/historical.https-expected.txt.

2017-08-04  Chris Dumez  <cdumez@apple.com>

        Add test coverage for sendBeacon() keepalive flag
        https://bugs.webkit.org/show_bug.cgi?id=175212

        Reviewed by Youenn Fablet.

        * http/wpt/beacon/keepalive-after-navigation-expected.txt: Added.
        * http/wpt/beacon/keepalive-after-navigation.html: Added.
        * http/wpt/beacon/support/sendBeacon-onunload-iframe.html: Added.

2017-08-04  Chris Dumez  <cdumez@apple.com>

        [Beacon] Update sendBeacon to use the CachedResourceLoader
        https://bugs.webkit.org/show_bug.cgi?id=175192
        <rdar://problem/33725923>

        Reviewed by Youenn Fablet.

        Rebaseline a few tests now that the Origin header is properly set of our Beacon
        requests. This is a progression and matches the results from Blink.

        Our Content-Type header for ArrayBuffer / ArrayBufferView payloads has also
        changed. It is unclear which one is best but at least we are now consistent
        with Fetch.

        * http/tests/blink/sendbeacon/beacon-cookie-expected.txt:
        * http/tests/blink/sendbeacon/beacon-cross-origin-expected.txt:
        * http/tests/blink/sendbeacon/beacon-same-origin-expected.txt:
        * http/wpt/beacon/headers/header-content-type-same-origin.html:

2017-08-04  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Report user interaction immediately, but only when needed
        https://bugs.webkit.org/show_bug.cgi?id=175090
        <rdar://problem/33685546>

        Reviewed by Chris Dumez.

        * http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html:
            Now no longer needs to disable throttling since reports of
            user interaction happen immediately (when needed).
        * http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html: Added.
        * platform/mac-wk2/TestExpectations:
            user-interaction-only-reported-once-within-short-period-of-time.html marked as [ Pass ].

2017-08-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: capture async stack trace when workers/main context posts a message
        https://bugs.webkit.org/show_bug.cgi?id=167084
        <rdar://problem/30033673>

        Reviewed by Brian Burg.

        Add a test to check for asynchronous stack trace data when the debugger
        pauses inside a MessageEvent handler.

        * inspector/debugger/async-stack-trace-expected.txt:
        * inspector/debugger/async-stack-trace.html:
        * inspector/debugger/resources/postMessage-echo.html: Added.

2017-08-04  Chris Dumez  <cdumez@apple.com>

        LayoutTest imported/w3c/web-platform-tests/beacon/beacon-basic-string.html is a flaky failure (harness timeout)
        https://bugs.webkit.org/show_bug.cgi?id=175202

        Unreviewed, mark test as flaky.

        * TestExpectations:

2017-08-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: add source view for WebGL shader programs
        https://bugs.webkit.org/show_bug.cgi?id=138593
        <rdar://problem/18936194>

        Reviewed by Matt Baker.

        * inspector/canvas/requestShaderSource-expected.txt: Added.
        * inspector/canvas/requestShaderSource.html: Added.

        * inspector/canvas/resources/shaderProgram-utilities.js:
        (linkProgram):
        (linkProgram.typeForScript):
        (linkProgram.createShaderFromScript):

        * platform/win/TestExpectations:

2017-08-04  Said Abou-Hallawa  <sabouhallawa@apple.com>

        RenderImageResourceStyleImage::image() should return the nullImage() if the image is not available
        https://bugs.webkit.org/show_bug.cgi?id=174874
        <rdar://problem/33530130>

        Reviewed by Simon Fraser.

        * fast/images/image-element-image-content-data-expected.txt: Added.
        * fast/images/image-element-image-content-data.html: Added.

2017-08-04  Matt Lewis  <jlewis3@apple.com>

        Rebaslining fast/text/font-selection-font-loading-api-parse.html for iOS 11.

        Unreviewed test gardening.

        * platform/ios-11/fast/text/font-selection-font-loading-api-parse-expected.txt:

2017-08-04  Chris Dumez  <cdumez@apple.com>

        PROGRESSION? Multiple imported/w3c/web-platform-tests/fetch/api/ test have started to fail.
        https://bugs.webkit.org/show_bug.cgi?id=175061

        Unreviewed, mark Fetch/Cors tests as failing on wk2 ElCapitan only, as those tests seem to be passing
        everywhere else.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-08-04  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r220268.

        This change caused assertion failures on macOS and iOS Debug
        WK2.

        Reverted changeset:

        "Resource Load Statistics: Report user interaction
        immediately, but only when needed"
        https://bugs.webkit.org/show_bug.cgi?id=175090
        http://trac.webkit.org/changeset/220268

2017-08-04  Chris Dumez  <cdumez@apple.com>

        Mark beacon-basic-string.html as slow.

        * TestExpectations:

2017-08-04  Brady Eidson  <beidson@apple.com>

        Enable ServiceWorkers at runtime for WebKitTestRunner.
        https://bugs.webkit.org/show_bug.cgi?id=175174

        Reviewed by Youenn Fablet.

        * fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt: Copied from LayoutTests/fast/dom/navigator-detached-no-crash-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/policies/referrer-no-referrer-service-worker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-no-referrer-service-worker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/policies/referrer-unsafe-url-service-worker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-unsafe-url-service-worker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/count-queuing-strategy.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/flow-control.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/general.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/pipe-through.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/piping/transform-streams.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/transform-streams.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/cancel.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/floating-point-total-queue-size.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/floating-point-total-queue-size.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/general.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/tee.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.serviceworker.https-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/streams/readable-streams/templated.serviceworker.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.serviceworker.https-expected.txt.
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-08-04  Zan Dobersek  <zdobersek@igalia.com>

        [EME][GStreamer] Register ClearKey CDMFactory
        https://bugs.webkit.org/show_bug.cgi?id=175136

        Reviewed by Xabier Rodriguez-Calvar.

        Update WPE baselines for EME ClearKey tests following some advancements in
        ClearKey support.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-at-same-time-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-to-multiple-video-elements-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysystemaccess-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt:

2017-08-04  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Report user interaction immediately, but only when needed
        https://bugs.webkit.org/show_bug.cgi?id=175090
        <rdar://problem/33685546>

        Reviewed by Chris Dumez.

        * http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html:
            Now no longer needs to disable throttling since reports of
            user interaction happen immediately (when needed).
        * http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html: Added.
        * platform/mac-wk2/TestExpectations:
            user-interaction-only-reported-once-within-short-period-of-time.html marked as [ Pass ].

2017-08-04  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Test gardening around MOUSE_CURSOR_SCALE.
        https://bugs.webkit.org/show_bug.cgi?id=109469

        Reviewed by Carlos Alberto Lopez Perez.

        Remove obsolete expectation for cursor-parsing-image-set.html; it may have
        started passing in r209396.

        Mark mouse-cursor-image-set.html as failing rather than using an incorrect
        -expected file.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/events/mouse-cursor-image-set-expected.txt: Removed.

2017-08-04  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Update test expectations and layout test baselines
        for Web Crypto tests now that the implementation is complete.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/import_export: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Added.

2017-08-04  Frederic Wang  <fwang@igalia.com>

        ScrollingTreeOverflowScrollingNodeIOS uses the wrong fixed position rectangle
        https://bugs.webkit.org/show_bug.cgi?id=175135

        Reviewed by Simon Fraser.

        This patch adds a new test for a position:fixed element inside an overflow node inside an
        iframe. When scrolling the overflow node, the position of such an element should remain fixed
        relative to the inner frame. Before that change, ScrollingTreeOverflowScrollingNodeIOS used
        to take the main frame as a reference instead, causing the element to flicker and even to
        disappear when the user scrolls that overflow node. We add a reftest to verify that the
        element is visible and positioned at the correct location when the user scrolls.

        * fast/scrolling/ios/fixed-inside-overflow-inside-iframe-expected.html: Added.
        * fast/scrolling/ios/fixed-inside-overflow-inside-iframe.html: Added.

2017-08-04  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Update test expectations and layout test baselines
        for Web Crypto tests now that the implementation is complete.

        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/import_export: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Added.

2017-08-03  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyEC PKCS#8 imports
        https://bugs.webkit.org/show_bug.cgi?id=173647

        Reviewed by Jiewen Tan.

        * platform/wpe/TestExpectations:
        Unskip passing Web Crypto tests that cover PKCS#8 imports of EC keys.

2017-08-03  Chris Dumez  <cdumez@apple.com>

        Fix parsing of <meta http-equiv=refresh> to allow time starting with a '.' without a leading 0
        https://bugs.webkit.org/show_bug.cgi?id=175132

        Reviewed by Darin Adler.

        * TestExpectations:
        Mark as flaky tests that used to not run because they were missing a subresource. Now that I imported
        this subresource, the tests run but are failing. When they fail, those tests are flaky due to the lines
        they log.

        * tests-options.json:

2017-08-03  Chris Dumez  <cdumez@apple.com>

        Multiple Layout tests from web-platform-tests/beacon/ are timing out.
        https://bugs.webkit.org/show_bug.cgi?id=175076
        <rdar://problem/33704752>

        Reviewed by Alexey Proskuryakov.

        * platform/ios-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Removed.
        * platform/ios-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Removed.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Removed.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt: Removed.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Removed.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Removed.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt: Removed.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Removed.
        * platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Removed.
        Drop platform-specific expectations as those tests are now passing everywhere.

        * platform/wk2/TestExpectations:
        Unskip tests that are now passing.

2017-08-03  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Instrument WebGLProgram created/deleted
        https://bugs.webkit.org/show_bug.cgi?id=175059

        Reviewed by Devin Rousso.

        Add tests for CanvasManager shader program events and ShaderProgram model object.
        WebGL and WebGL2 contexts are tested separately based on platform support.

        * inspector/canvas/resources/shaderProgram-utilities.js: Added.
        (createProgram):
        (deleteProgram):
        (deleteContext):
        (TestPage.registerInitializer.awaitProgramAdded):
        (TestPage.registerInitializer):
        (TestPage.registerInitializer.window.initializeTestSuite):
        (TestPage.registerInitializer.window.addSimpleTestCase):
        (TestPage.registerInitializer.window.addParentCanvasRemovedTestCase):

        * inspector/canvas/shaderProgram-add-remove-webgl-expected.txt: Added.
        * inspector/canvas/shaderProgram-add-remove-webgl.html: Added.
        * inspector/canvas/shaderProgram-add-remove-webgl2-expected.txt: Added.
        * inspector/canvas/shaderProgram-add-remove-webgl2.html: Added.

        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2017-08-03  Youenn Fablet  <youenn@apple.com>

        Import WPT service worker tests
        https://bugs.webkit.org/show_bug.cgi?id=175053

        Reviewed by Brady Eidson.

        * TestExpectations: skipping service worker tests.

2017-08-03  Ms2ger  <Ms2ger@igalia.com>

        Test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=175137

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/images/async-image-multiple-clients-repaint-expected.txt: Added.
        * platform/gtk/fast/text/atsui-pointtooffset-calls-cg-expected.txt:
        * platform/win/TestExpectations:

2017-08-01  Sam Weinig  <sam@webkit.org>

        [WebIDL] Convert MutationCallback to be a normal generate callback
        https://bugs.webkit.org/show_bug.cgi?id=174140

        Reviewed by Darin Adler.

        * fast/dom/MutationObserver/mutation-observer-constructor-expected.txt:
        Update results for standard error messages.

2017-08-03  Chris Dumez  <cdumez@apple.com>

        Improve our support for referrer policies
        https://bugs.webkit.org/show_bug.cgi?id=175069
        <rdar://problem/33677313>

        Reviewed by Darin Adler.

        * http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
        * http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http-http.html: Added.
        * http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
        * http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http.https.html: Added.
        * http/tests/referrer-policy/origin-when-cross-origin/same-origin-expected.txt: Added.
        * http/tests/referrer-policy/origin-when-cross-origin/same-origin.html: Added.
        * http/tests/referrer-policy/resources/document.html: Added.
        * http/tests/referrer-policy/same-origin/cross-origin-http-http-expected.txt: Added.
        * http/tests/referrer-policy/same-origin/cross-origin-http-http.html: Added.
        * http/tests/referrer-policy/same-origin/cross-origin-http.https-expected.txt: Added.
        * http/tests/referrer-policy/same-origin/cross-origin-http.https.html: Added.
        * http/tests/referrer-policy/same-origin/same-origin-expected.txt: Added.
        * http/tests/referrer-policy/same-origin/same-origin.html: Added.
        * http/tests/referrer-policy/strict-origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
        * http/tests/referrer-policy/strict-origin-when-cross-origin/cross-origin-http-http.html: Added.
        * http/tests/referrer-policy/strict-origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
        * http/tests/referrer-policy/strict-origin-when-cross-origin/cross-origin-http.https.html: Added.
        * http/tests/referrer-policy/strict-origin-when-cross-origin/same-origin-expected.txt: Added.
        * http/tests/referrer-policy/strict-origin-when-cross-origin/same-origin.html: Added.
        * http/tests/referrer-policy/strict-origin/cross-origin-http-http-expected.txt: Added.
        * http/tests/referrer-policy/strict-origin/cross-origin-http-http.html: Added.
        * http/tests/referrer-policy/strict-origin/cross-origin-http.https-expected.txt: Added.
        * http/tests/referrer-policy/strict-origin/cross-origin-http.https.html: Added.
        * http/tests/referrer-policy/strict-origin/same-origin-expected.txt: Added.
        * http/tests/referrer-policy/strict-origin/same-origin.html: Added.
        Add layout test coverage.

        * http/tests/security/referrer-policy-invalid-expected.txt:
        Rebaseline test now that console message has changed.

2017-08-03  Daniel Bates  <dabates@apple.com>

        Support ::marker pseudo-element
        https://bugs.webkit.org/show_bug.cgi?id=141477

        Reviewed by David Hyatt.

        Add tests that check we respect ::marker when rendering the list item marker. I will
        submit all the tests in http/wpt/css/css-pseudo-4 to the Web Platform Tests repository
        shortly and then import them into the WebKit repository in a subsequent commit.

        * fast/lists/list-marker-with-display-expected.html: Added.
        * fast/lists/list-marker-with-display.html: Added.
        * http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Added.
        * http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Added.
        * http/wpt/css/css-pseudo-4/marker-color-expected.html: Added.
        * http/wpt/css/css-pseudo-4/marker-color.html: Added.
        * http/wpt/css/css-pseudo-4/marker-font-properties-expected.html: Added.
        * http/wpt/css/css-pseudo-4/marker-font-properties.html: Added.
        * http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html: Added.
        * http/wpt/css/css-pseudo-4/marker-inherit-values.html: Added.

2017-08-03  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Remove obsolete failure expectation for narrow-non-breaking-space.html.
        https://bugs.webkit.org/show_bug.cgi?id=139493

        Unreviewed test gardening.

        It likely started passing in r205826 due to its change in Font.cpp.

        * platform/gtk/TestExpectations:

2017-08-03  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Skip timezone-dependent Sputnik tests.
        https://bugs.webkit.org/show_bug.cgi?id=175120

        Unreviewed test gardening.

        These tests are skipped in the platform-neutral TestExpectations file because
        they only pass in Pacific Time (see bug 42625). There doesn't seem to be a
        reason for gtk to run them, and they do pass on the buildbot.

        * platform/gtk/TestExpectations:

2017-08-02  Devin Rousso  <drousso@apple.com>

        Web Inspector: add stack trace information for each RecordingAction
        https://bugs.webkit.org/show_bug.cgi?id=174663

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/recording-2d-expected.txt:
        * inspector/canvas/recording-2d.html:
        * inspector/model/recording-expected.txt:
        * inspector/model/recording.html:

2017-08-02  Chris Dumez  <cdumez@apple.com>

        NetworkResourceLoader::setDefersLoading() may cause start() to be called multiple times
        https://bugs.webkit.org/show_bug.cgi?id=175109
        <rdar://problem/33363169>

        Reviewed by Brady Eidson.

        Extend test coverage to cover cacheable redirects to a resource that needs
        revalidation, similarly to the case in the radar.

        * http/tests/cache/disk-cache/disk-cache-redirect-expected.txt:
        * http/tests/cache/disk-cache/disk-cache-redirect.html:

2017-08-02  Youenn Fablet  <youenn@apple.com>

        HTTP tests with 'https' suffix are only run over HTTPS for WK2, not WK1
        https://bugs.webkit.org/show_bug.cgi?id=175089

        Reviewed by Chris Dumez.

        Removing no longer needed expectations.

        * platform/ios-wk1/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Removed.
        * platform/mac-wk1/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Removed.

2017-08-02  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/appcache/deferred-events-delete-while-raising-timer.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175107

        Unreviewed test gardening.

        * TestExpectations:

2017-08-02  Matt Lewis  <jlewis3@apple.com>

        Removed bad expectations and marked test as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175061

        Unreviewed test gardening.

        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.worker-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt: Removed.
        * platform/mac/TestExpectations:

2017-08-02  Andy Estes  <aestes@apple.com>

        REGRESSION (r207155): Unable to switch sheets when previewing Numbers '09 spreadsheets
        https://bugs.webkit.org/show_bug.cgi?id=175098
        <rdar://problem/31416763>

        Reviewed by Daniel Bates.

        * quicklook/multi-sheet-numbers-09-expected.txt: Added.
        * quicklook/multi-sheet-numbers-09.html: Added.
        * quicklook/resources/multi-sheet-numbers-09.numbers: Added.

2017-08-02  Chris Dumez  <cdumez@apple.com>

        Unreviewed, skip newly imported WPT that is slow in Debug builds.

        * TestExpectations:

2017-08-02  Joseph Pecoraro  <pecoraro@apple.com>

        inspector/runtime/CommandLineAPI-inspect.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=175092

        Reviewed by Brian Burg.

        * inspector/runtime/CommandLineAPI-inspect-expected.txt:
        * inspector/runtime/CommandLineAPI-inspect.html:

2017-08-02  Chris Dumez  <cdumez@apple.com>

        Unreviewed, skip newly imported WPT HTTPS tests on WK2 only.

        The tests seem to work fine on WK1.

        * TestExpectations:
        * platform/wk2/TestExpectations:

2017-08-02  Matt Lewis  <jlewis3@apple.com>

        Unmarked imported/w3c/IndexedDB-private-browsing/idbfactory_open.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=174949

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-08-02  Chris Dumez  <cdumez@apple.com>

        Unreviewed, temporarily skip some HTTPS tests that time out on the bots.

        * TestExpectations:

2017-08-02  Matt Lewis  <jlewis3@apple.com>

        Added new expectations folders and moved expectations to correct folders.
        https://bugs.webkit.org/show_bug.cgi?id=175061

        Unreviewed gardening.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.worker-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.worker-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt.

2017-08-02  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete expectations for syntax-021.xml.
        https://bugs.webkit.org/show_bug.cgi?id=86142

        Reviewed by Sam Weinig.

        It may have started passing in r209396.

        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2017-08-02  Ms2ger  <Ms2ger@igalia.com>

        Remove overridden lines from win's TestExpectations.
        https://bugs.webkit.org/show_bug.cgi?id=175068

        Reviewed by Darin Adler.

        These lines cause lint errors and block any patch that touches the file from
        landing.

        * platform/win/TestExpectations:

2017-08-02  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Layout test editing/pasteboard/copy-standalone-image.html failing
        https://bugs.webkit.org/show_bug.cgi?id=163184

        Unreviewed test gardening.

        Remove obsolete failure expectation for copy-standalone-image.html.

        The bug was fixed in r212428. (The test was also broken by both landings for
        bug 170956, until r216174 fixed it again.)

        * platform/gtk/TestExpectations:

2017-08-01  Chris Dumez  <cdumez@apple.com>

        Add initial support for navigator.sendBeacon
        https://bugs.webkit.org/show_bug.cgi?id=175007
        <rdar://problem/33547728>

        Reviewed by Sam Weinig.

        * fast/dom/navigator-detached-no-crash-expected.txt:
        Rebaseline test now that sendBeacon is exposed on navigator.

        * http/tests/blink/sendbeacon/beacon-cookie-expected.txt: Added.
        * http/tests/blink/sendbeacon/beacon-cookie.html: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin-expected.txt: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin-redirect-blob-expected.txt: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin-redirect-blob.html: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin-redirect-expected.txt: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin-redirect.html: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin.html: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin.https-expected.txt: Added.
        * http/tests/blink/sendbeacon/beacon-cross-origin.https.html: Added.
        * http/tests/blink/sendbeacon/beacon-detached-no-crash-expected.txt: Added.
        * http/tests/blink/sendbeacon/beacon-detached-no-crash.html: Added.
        * http/tests/blink/sendbeacon/beacon-same-origin-expected.txt: Added.
        * http/tests/blink/sendbeacon/beacon-same-origin.html: Added.
        * http/tests/blink/sendbeacon/connect-src-beacon-allowed-expected.txt: Added.
        * http/tests/blink/sendbeacon/connect-src-beacon-allowed.html: Added.
        * http/tests/blink/sendbeacon/resources/check-beacon.php: Added.
        * http/tests/blink/sendbeacon/resources/save-beacon.php: Added.
        Import more beacon test coverage from Blink.

        * http/wpt/beacon/connect-src-beacon-blocked.sub-expected.txt: Added.
        * http/wpt/beacon/connect-src-beacon-blocked.sub.html: Added.
        Improve test coverage for sendBeacon and CSP.

        * http/wpt/beacon/headers/header-content-type-same-origin-expected.txt: Added.
        * http/wpt/beacon/headers/header-content-type-same-origin.html: Added.
        Improve test coverage for sendBeacon with various types of payload. The test is done
        using same origin as we do not currently support sending some of those payloads cross
        origin yet.

        * imported/blink/fast/beacon/beacon-basic-expected.txt: Added.
        * imported/blink/fast/beacon/beacon-basic.html: Added.
        Import basic Beacon test coverage from Blink.

        * resources/window-postmessage-open-close.html: Added.
        * tests-options.json:

2017-08-01  Devin Rousso  <drousso@apple.com>

        Web Inspector: simplify WebInspector with WI
        https://bugs.webkit.org/show_bug.cgi?id=175058

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector/**/*.html:
        * http/tests/websocket/tests/hybi/inspector/**/*.html:
        * inspector/**/*.html:

2017-08-01  Matt Lewis  <jlewis3@apple.com>

        Added expectations files for El Capitan.
        https://bugs.webkit.org/show_bug.cgi?id=175061

        Unreviewed test gardening.

        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.worker-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt: Added.

2017-08-01  Devin Rousso  <drousso@apple.com>

        Web Inspector: create Recording tab for displaying recordings
        https://bugs.webkit.org/show_bug.cgi?id=174484

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/number-utilities-expected.txt:
        * inspector/unit-tests/number-utilities.html:

2017-08-01  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r217197): New Yorker website hangs for a long time on load, lots of blank tiles
        https://bugs.webkit.org/show_bug.cgi?id=175009
        <rdar://problem/33505791>

        Reviewed by Simon Fraser.

        * fast/frames/flattening/media-query-growing-content-expected.txt: Added.
        * fast/frames/flattening/media-query-growing-content.html: Added.
        * fast/frames/flattening/resources/media-query-min-height-with-flattening.html: Added.

2017-08-01  Youenn Fablet  <youenn@apple.com>

        Layout tests with 'https' suffix should be run over HTTPS
        https://bugs.webkit.org/show_bug.cgi?id=174992

        Reviewed by Chris Dumez.

        Updating test to allow display insecure content as otherwise the test would not complete now that it is run over HTTPS.
        Adding WK1 expected files as the warning message is not printed.

        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt:
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html:
        * platform/ios-wk1/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.

2017-08-01  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/IndexedDB-private-browsing/idbfactory_open.html as flaky.
        <rdar://problem/33555052>

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-08-01  Zan Dobersek  <zdobersek@igalia.com>

        [WebCrypto] Add PKCS#8 import test that covers `parameters` and `publicKey` values in ECPrivateKey
        https://bugs.webkit.org/show_bug.cgi?id=174420

        Reviewed by Darin Adler.

        Add test cases that cover testing of the optional ECParameters and publicKey bit string
        attributes in the ECPrivateKey ASN.1 structure that's embedded in the PKCS#8 PrivateKeyInfo
        ASN.1 structure.

        Per the spec, if the ECParameters attribute in the ECPrivateKey structure is present, the
        relevant curve object identifier should match the same curve identifier that's used in the
        ECParameters attribute of the AlgorithmIdentifier structure in PrivateKeyInfo. Both of these
        should of course match the curve that was specified for the import operation.

        For the publicKey bit string, the data contained there should be properly formatted for
        the specific curve, meaning it should be of proper curve-specific size and that it should
        use 0x04 as the leading byte, signalling an uncompressed EC point. On top of that the public
        key should have a valid value that positions it on the specified elliptic curve.

        These cases are covered for PKCS#8 key imports for P-256 and P-384 curves and for both ECDH
        and ECDSA algorithms in the newly-introduced tests. They are skipped on all platforms since
        no implementation in WebKit can pass them yet.

        * TestExpectations:
        * crypto/subtle/ecdh-import-pkcs8-key-p256-validate-ecprivatekey-parameters-publickey-expected.txt: Added.
        * crypto/subtle/ecdh-import-pkcs8-key-p256-validate-ecprivatekey-parameters-publickey.html: Added.
        * crypto/subtle/ecdh-import-pkcs8-key-p384-validate-ecprivatekey-parameters-publickey-expected.txt: Added.
        * crypto/subtle/ecdh-import-pkcs8-key-p384-validate-ecprivatekey-parameters-publickey.html: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key-p256-validate-ecprivatekey-parameters-publickey-expected.txt: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key-p256-validate-ecprivatekey-parameters-publickey.html: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key-p384-validate-ecprivatekey-parameters-publickey-expected.txt: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key-p384-validate-ecprivatekey-parameters-publickey.html: Added.

2017-08-01  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Layout test fast/forms/content-with-margins-inside-button.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=174610

        Reviewed by Darin Adler.

        Use an explicit text color for content-with-margins-inside-button.html.

        This makes the test pass in the GTK port.

        I also changed the formatting of the CSS to make it more readable.

        * fast/forms/content-with-margins-inside-button-expected.html:
        * fast/forms/content-with-margins-inside-button.html:
        * platform/gtk/TestExpectations:

2017-08-01  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure expectations for wpt XHR tests.
        https://bugs.webkit.org/show_bug.cgi?id=175024

        Reviewed by Darin Adler.

        * TestExpectations:
        * platform/gtk/TestExpectations:

2017-08-01  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure expectations for style-01.html.
        https://bugs.webkit.org/show_bug.cgi?id=175026

        Reviewed by Darin Adler.

        * TestExpectations:

2017-08-01  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure expectation for Document-characterSet-normalization.html.
        https://bugs.webkit.org/show_bug.cgi?id=175022

        Reviewed by Sam Weinig.

        The expectations were updated in r204605.

        * platform/gtk/TestExpectations:

2017-08-01  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure expectation for regional-indicators.html.
        https://bugs.webkit.org/show_bug.cgi?id=175021

        Reviewed by Sam Weinig.

        * platform/gtk/TestExpectations:

2017-08-01  Ms2ger  <Ms2ger@igalia.com>

        REGRESSION(r205909): Layout test editing/pasteboard/image-in-iframe.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=163185

        Reviewed by Sam Weinig.

        Remove obsolete failure expectation for image-in-iframe.html.

        The bug was fixed in r212428. (The test was also broken by both landings for
        bug 170956, until r216174 fixed it again.)

        * platform/gtk/TestExpectations:

2017-08-01  Darin Adler  <darin@apple.com>

        REGRESSION (r220052): http/tests/media/video-play-stall.html times out
        https://bugs.webkit.org/show_bug.cgi?id=174988

        Reviewed by Sam Weinig.

        * TestExpectations: Stop skipping this test.

        * http/tests/media/video-play-stall.html: Use a 0-duration timeout to sidestep an
        issue where the test runner never thinks the test is done because of the stalled
        media loading, and times out. The behaviors here aren't great, but there is no
        reason to think that this confused state has any effect on web browsing; just on
        our test runners in a test that intentionally has a still loading video in it.

2017-08-01  Ms2ger  <Ms2ger@igalia.com>

        Correct the line numbers in GTK's scheme-about.any-expected.txt.
        https://bugs.webkit.org/show_bug.cgi?id=175017

        Reviewed by Sam Weinig.

        The code fix landed in r220050.

        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt:

2017-07-31  Ms2ger  <Ms2ger@igalia.com>

        Remove some obsolete expected failures blamed on the threaded compositor.
        https://bugs.webkit.org/show_bug.cgi?id=174982

        Reviewed by Sergio Villar Senin.

        * platform/gtk/TestExpectations:

2017-07-31  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, test gardening

        * platform/mac-highsierra/TestExpectations:
        * platform/mac-highsierra/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https-expected.txt: Added.
        * platform/mac-highsierra/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https-expected.txt: Added.

2017-07-31  Matt Lewis  <jlewis3@apple.com>

        Skipped  http/tests/media/video-play-stall.html.
        https://bugs.webkit.org/show_bug.cgi?id=174988

        Unreviewed test gardening.
        * TestExpectations:

2017-07-31  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r220048.

        This revision caused multiple crashes in fast/images. See
        webkit.org/b/174990

        Reverted changeset:

        "RenderImageResourceStyleImage::image() should return the
        nullImage() if the image is not available"
        https://bugs.webkit.org/show_bug.cgi?id=174874
        http://trac.webkit.org/changeset/220048

2017-07-31  Per Arne Vollan  <pvollan@apple.com>

        Do not mark all web-platform tests as slow, as this increases time spent on layout tests.
        Only mark individual web-platform tests as slow.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-07-31  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Support optional catch binding
        https://bugs.webkit.org/show_bug.cgi?id=174981

        Reviewed by Saam Barati.

        Rebaseline existing tests.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        * sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T4-expected.txt:
        * sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T4.html:

2017-07-31  Per Arne Vollan  <pvollan@apple.com>

        Many web-platform tests are slow on Windows.

        Unreviewed test gardening, mark web-platform tests as slow.

        * platform/win/TestExpectations:

2017-07-31  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Layout test fast/css/image-set-unprefixed.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=163975

        Reviewed by Žan Doberšek.

        Remove obsolete expectation for image-set-unprefixed.html.

        It appears to have started passing with the test change in r209543.

        * platform/gtk/TestExpectations:

2017-07-31  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Layout Tests fast/dom/{Element,Range}/getClientRects.html are failing
        https://bugs.webkit.org/show_bug.cgi?id=141700

        Reviewed by Sam Weinig.

        Add gtk-specific expectations for getClientRects tests.

        Since these expectations depend on text metrics, it is unsurprising that they
        are platform-dependent.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/dom/Element/getClientRects-expected.txt: Added.
        * platform/gtk/fast/dom/Range/getClientRects-expected.txt:

2017-07-30  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.

        * fast/text/international/embed-bidi-style-in-isolate-crash.html: Removed onerror attribute
        in the audio element in this test. The error event does fire during the test, which causes
        the test to fail. Before, the test was prematurely exiting before the load failed, preventing
        the test from failing, but also meaning we didn't finish running the test.

        * imported/blink/fast/dom/Window/open-window-features-fuzz.html: Use waitUntilDone and
        notifyDone to prevent the test from exiting prematurely. Use a URL that won't trigger loading
        outside the web browser; the URL is not what mattered to this test. Before, the test was
        prematurely exiting before the test ran. Note also, that I don't think this is testing
        much effectively; not sure we are getting any benefit from this test since before it was
        not really running to completion anyway.

        * media/event-queue-crash-expected.txt: Updated expectations to expect syntax error. Before
        there was a race and often the test exited before the syntax error could be logged.

        * platform/mac/TestExpectations: Removed flakiness expectation from the
        media/event-queue-crash.html test. What made it flaky was a race with the load event,
        and that race should be fixed by the change to FrameLoader::checkLoadCompleteForThisFrame.
        The same race existed on all platforms, not just Mac, so this flakiness expectation should
        be in the main TextExpectations file if anywhere. But I believe it is not needed at all.
        For media/modern-media-controls/media-documents/background-color-and-centering.html,
        added image failure expectation because under modern WebKit on Mac the image now captures
        the upper left hand corner of the controls overlay. Still seems to pass on iOS and the bug
        this was created for was iOS-specific, so should be OK for now.

        * webarchive/loading/video-in-webarchive-expected.txt: Updated. The old result shows evidence
        of a premature load event, fixed by the change to FrameLoader::checkLoadCompleteForThisFrame.

2017-07-30  Sam Weinig  <sam@webkit.org>

        [WebIDL] Remove JS builtin bindings for FetchRequest, DOMWindowFetch and WorkerGlobalScopeFetch
        https://bugs.webkit.org/show_bug.cgi?id=174974

        Reviewed by Darin Adler.

        * http/tests/inspector/network/fetch-network-data-expected.txt:
        Update results to have the correct line number for exceptions reported in the console.

2017-07-30  Said Abou-Hallawa  <sabouhallawa@apple.com>

        RenderImageResourceStyleImage::image() should return the nullImage() if the image is not available
        https://bugs.webkit.org/show_bug.cgi?id=174874
        <rdar://problem/33530130>

        Reviewed by Darin Adler.

        * fast/images/image-element-image-content-data-expected.txt: Added.
        * fast/images/image-element-image-content-data.html: Added.

2017-07-29  Nan Wang  <n_wang@apple.com>

        AX: findMatchingObjects doesn't work when the startObject is ignored
        https://bugs.webkit.org/show_bug.cgi?id=174965

        Reviewed by Chris Fleizach.

        * accessibility/mac/search-predicate-from-ignored-element-expected.txt: Added.
        * accessibility/mac/search-predicate-from-ignored-element.html: Added.

2017-07-29  Aaron Chu  <aaron_chu@apple.com>

        AX: FKA: Buttons need a visible focus indicator
        https://bugs.webkit.org/show_bug.cgi?id=171040
        <rdar://problem/30922548>

        Reviewed by Antoine Quint.

        * media/modern-media-controls/button/button-focus-state-expected.txt: Added.
        * media/modern-media-controls/button/button-focus-state.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac-elcapitan/TestExpectations:

2017-07-28  Sam Weinig  <sam@webkit.org>

        [WebIDL] Remove JS builtin bindings for FetchHeaders
        https://bugs.webkit.org/show_bug.cgi?id=174905

        Reviewed by Alex Christensen.

        * fetch/header-constructor-is-array-expected.txt:
        * fetch/header-constructor-is-array.html:
        Update test to match spec. An array with out a prototype will not yield
        a valid Header as it is not iterable.

2017-07-28  Matt Baker  <mattbaker@apple.com>

        Web Inspector: capture an async stack trace when web content calls addEventListener
        https://bugs.webkit.org/show_bug.cgi?id=174739
        <rdar://problem/33468197>

        Reviewed by Brian Burg.

        Add test case checking that async stack traces are recorded for addEventListener.

        * inspector/debugger/async-stack-trace-expected.txt:
        * inspector/debugger/async-stack-trace.html:

2017-07-28  Matt Rajca  <mrajca@apple.com>

        Don't add autoplay restrictions to media elements created in response to user gestures.
        https://bugs.webkit.org/show_bug.cgi?id=174947

        Reviewed by Eric Carlson.

        Skip the test on iOS because "runWithKeyDown" does not work there.

        Jer: "Turns out the problem with iOS is that the WKTR EventSender is basically unwritten. It
        doesn't support sending mouse, key, or touch events, so our "do this during a user gesture"
        helper in video-test.js doesn't work."

        * media/video-create-with-user-gesture-expected.txt: Added.
        * media/video-create-with-user-gesture.html: Added.
        * platform/ios/TestExpectations:

2017-07-28  Per Arne Vollan  <pvollan@apple.com>

        The test imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.html is slow on Windows.

        Unreviewed test gardening, mark test as slow.

        * platform/win/TestExpectations:

2017-07-28  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r220016.

        Test needs to be unskipped due to configuration change in High
        Sierra.

        Reverted changeset:

        "Marked fast/images/pdf-as-image-with-annotations.html as
        image failure."
        http://trac.webkit.org/changeset/220016

2017-07-28  Matt Lewis  <jlewis3@apple.com>

        Marked fast/images/pdf-as-image-with-annotations.html as image failure.
        <rdar://problem/33550614>

        Unreviewed test gardening.

        * platform/mac-highsierra/TestExpectations:

2017-07-28  Matt Lewis  <jlewis3@apple.com>

        Marked multiple iimported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ as failing.
        <rdar://problem/33548297>

        Unreviewed test gardening.

        * platform/mac-highsierra/TestExpectations:

2017-07-28  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html as flaky.
        <rdar://problem/33555052>

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-highsierra/TestExpectations:

2017-07-28  Myles C. Maxfield  <mmaxfield@apple.com>

        [macOS] Reeder's defaults font is Times instead of San Francisco
        https://bugs.webkit.org/show_bug.cgi?id=174885
        <rdar://problem/33462483>

        Reviewed by Simon Fraser.

        * fast/text/font-lookup-dot-prefix-case-sensitive-2-expected.html: Added.
        * fast/text/font-lookup-dot-prefix-case-sensitive-2.html: Added.
        * fast/text/font-lookup-dot-prefix-case-sensitive-expected-mismatch.html: Added.
        * fast/text/font-lookup-dot-prefix-case-sensitive.html: Added.

2017-07-28  Devin Rousso  <drousso@apple.com>

        Web Inspector: Record actions performed on CanvasRenderingContext2D
        https://bugs.webkit.org/show_bug.cgi?id=174482

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/recording-2d-expected.txt: Added.
        * inspector/canvas/recording-2d.html: Added.
        * inspector/canvas/recording-expected.txt: Added.
        * inspector/canvas/recording.html: Added.
        Take a recording of all CanvasRenderingContext2D actions and dump the recorded JSON data.

2017-07-28  Per Arne Vollan  <pvollan@apple.com>

        The test imported/w3c/web-platform-tests/cors/allow-headers.htm is slow on Windows.

        Unreviewed test gardening, mark test as slow.

        * platform/win/TestExpectations:

2017-07-28  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r216944): Fallback fonts erroneously visible when the primary font is loading
        https://bugs.webkit.org/show_bug.cgi?id=174772
        <rdar://problem/33267643>

        Reviewed by Simon Fraser.

        * http/tests/webfont/font-loading-system-fallback-visibility-FontRanges-expected.html: Added.
        * http/tests/webfont/font-loading-system-fallback-visibility-FontRanges.html: Added.

2017-07-28  Per Arne Vollan  <pvollan@apple.com>

        REGRESSION(r125147): Layout Test svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg is failing
        https://bugs.webkit.org/show_bug.cgi?id=93589

        Unreviewed test gardening, this test is also a flaky timeout on Windows.

        * platform/win/TestExpectations:

2017-07-28  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Implement EventSenderProxy in WTR
        https://bugs.webkit.org/show_bug.cgi?id=173419

        Reviewed by Žan Doberšek.

        Add the implementation of EventSenderProxy to the WTR. This
        allows us to extend the coverage of the test suite in WKWPE.

        * platform/wpe/TestExpectations: Unskip fast/events tests, marking failures
        that are related to features not yet implemented in WPE. Also remove other
        tests that are now passing thanks to having event injection.
        * platform/wpe/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt: Update.
        * platform/wpe/fast/dynamic/layer-hit-test-crash-expected.txt: Update.
        * platform/wpe/fast/events/clientXY-in-zoom-and-scroll-expected.txt: Added.
        * platform/wpe/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.txt: Update.

2017-07-27  Oleksandr Skachkov  <gskachkov@gmail.com>

        [ES] Add support finally to Promise
        https://bugs.webkit.org/show_bug.cgi?id=174503

        Reviewed by Yusuke Suzuki.

        * js/Promise-types-expected.txt:
        * js/script-tests/Promise-types.js:

2017-07-27  Aaron Chu  <aaron_chu@apple.com>

        AX: VoiceOver silent or skipping over time values on media player.
        https://bugs.webkit.org/show_bug.cgi?id=174324
        <rdar://problem/32021784>

        Reviewed by Antoine Quint.

        Added role attribute to modern media controls time lable class so that VoiceOver can access the time label when the media is playing.

        Updated time-label.html to test role attribute on mac. 
        Added ios-time-label.html to run time-label test without testing for role since accessibilityController does not expose a role property on iOS.

        * media/modern-media-controls/time-label/ios-time-label-expected.txt: Copied from LayoutTests/media/modern-media-controls/time-label/time-label-expected.txt.
        * media/modern-media-controls/time-label/ios-time-label.html: Copied from LayoutTests/media/modern-media-controls/time-label/time-label.html.
        * media/modern-media-controls/time-label/time-label-expected.txt:
        * media/modern-media-controls/time-label/time-label.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-27  Yusuke Suzuki  <utatane.tea@gmail.com>

        Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass
        https://bugs.webkit.org/show_bug.cgi?id=171637

        Reviewed by Darin Adler.

        * js/dom/dom-getters-type-check-expected.txt: Added.
        * js/dom/dom-getters-type-check.html: Added.

2017-07-27  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Key serialization support
        https://bugs.webkit.org/show_bug.cgi?id=173883

        Reviewed by Jiewen Tan.

        * platform/wpe/TestExpectations: Unskip the crypto/worker/ tests that
        utilize key serialization and are now passing.

2017-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com> and Fujii Hironori  <Hironori.Fujii@sony.com>

        Implement new TextMetrics, returned by canvas measureText()
        https://bugs.webkit.org/show_bug.cgi?id=82798

        Reviewed by Dean Jackson.

        Create a test that checks that:
             - ascent + descent is greater than zero
             - actualBoundingBoxLeft + actualBoundingBoxRight is somewhere
               quite close to width
             - when baseline is top, emHeightAscent is 0 (respectively
               bottom/emHeightDescent)
             - when baseline is hanging, hangingBaseline in 0 (respectively
               alphabetic and ideographic)
             - order of different vertical measures (for example,
               emHeightAscent is always higher that alphabeticBaseline)

        * fast/canvas/canvas-measureText-2-expected.txt: Added.
        * fast/canvas/canvas-measureText-2.html: Added.

2017-07-26  Matt Lewis  <jlewis3@apple.com>

        Marked Multiple imported/w3c/web-platform-tests/ as failing.
        <rdar://problem/33251388>

        Unreviewed test gardening.

        * platform/ios-11/TestExpectations:

2017-07-26  Matt Lewis  <jlewis3@apple.com>

        Rebaselined http/tests/quicklook/top-navigation-blocked-expected.txt.
        https://bugs.webkit.org/show_bug.cgi?id=174755
        
        Unreviewed test gardening.

        * platform/ios-11/http/tests/quicklook/top-navigation-blocked-expected.txt:

2017-07-26  Devin Rousso  <drousso@apple.com>

        Web Inspector: create protocol for recording Canvas contexts
        https://bugs.webkit.org/show_bug.cgi?id=174481

        Reviewed by Joseph Pecoraro.

        * inspector/model/recording-expected.txt: Added.
        * inspector/model/recording.html: Added.

2017-07-26  Ali Juma  <ajuma@chromium.org>

        Implement document.elementsFromPoint
        https://bugs.webkit.org/show_bug.cgi?id=153137

        Reviewed by Simon Fraser.

        * TestExpectations: Unskip a test.

2017-07-26  Brian Burg  <bburg@apple.com>

        Remove WEB_TIMING feature flag
        https://bugs.webkit.org/show_bug.cgi?id=174795

        Reviewed by Alex Christensen.

        * inspector/formatting/resources/javascript-tests/sample-normal-utilities-expected.js:
        (decodeBase64ToBlob):
        (timestamp): Deleted.
        * inspector/formatting/resources/javascript-tests/sample-normal-utilities.js:
        (decodeBase64ToBlob):
        (timestamp): Deleted.

2017-07-26  Matt Lewis  <jlewis3@apple.com>

        Rebaselined multiple fast/css/getComputedStyle.
        <rdar://problem/33416054>

        Unreviewed test gardening.

        * platform/mac-highsierra/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac-highsierra/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:

2017-07-26  Chris Dumez  <cdumez@apple.com>

        Pressing the Escape key should not be a valid user gesture to enter fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=174864
        <rdar://problem/33009088>

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * fullscreen/requestFullscreen-escape-key-expected.txt: Added.
        * fullscreen/requestFullscreen-escape-key.html: Added.

2017-07-26  Nan Wang  <n_wang@apple.com>

        AX: Incorrect range from index and length in contenteditable with <p> tags
        https://bugs.webkit.org/show_bug.cgi?id=174856

        Reviewed by Chris Fleizach.

        * accessibility/mac/range-for-contenteditable-newline-expected.txt:
        * accessibility/mac/range-for-contenteditable-newline.html:

2017-07-26  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure annotation for bad-charset-alias.html.
        https://bugs.webkit.org/show_bug.cgi?id=145048

        Reviewed by Carlos Garcia Campos.

        This appears to have been fixed in r204850.

        * platform/gtk/TestExpectations:

2017-07-26  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete failure expectations for 2d.fillStyle.parse.{rgb,rgba}-eof.
        https://bugs.webkit.org/show_bug.cgi?id=174857

        Reviewed by Žan Doberšek.

        These tests started passing in r209666.

        * platform/gtk/TestExpectations:

2017-07-26  Javier Fernandez  <jfernandez@igalia.com>

        InsertOrderedList command applied to table cells inserts an extra BR before the table
        https://bugs.webkit.org/show_bug.cgi?id=174593

        Reviewed by Darin Adler.

        Tests to verify that the insertOrderedList command works as expected when applied
        in table cells.

        * editing/inserting/insert-list-in-table-cell-01.html: Added.
        * editing/inserting/insert-list-in-table-cell-01-expected.txt: Added.
        * editing/inserting/insert-list-in-table-cell-02.html: Added.
        * editing/inserting/insert-list-in-table-cell-02-expected.txt: Added.
        * editing/inserting/insert-list-in-table-cell-03.html: Added.
        * editing/inserting/insert-list-in-table-cell-03-expected.txt: Added.
        * editing/inserting/insert-list-in-table-cell-04.html: Added.
        * editing/inserting/insert-list-in-table-cell-04-expected.txt: Added.
        * editing/inserting/insert-list-in-table-cell-05.html: Added.
        * editing/inserting/insert-list-in-table-cell-05-expected.txt: Added.
        * editing/inserting/insert-list-in-table-cell-06.html: Added.
        * editing/inserting/insert-list-in-table-cell-06-expected.txt: Added.
        * editing/inserting/insert-list-in-table-cell-07.html: Added.
        * editing/inserting/insert-list-in-table-cell-07-expected.txt: Added.
        * editing/inserting/insert-list-in-table-cell-08.html: Added.
        * editing/inserting/insert-list-in-table-cell-08-expected.txt: Added.

2017-07-26  Ms2ger  <Ms2ger@igalia.com>

        Fix an incorrect check in 2d.missingargs.html.
        https://bugs.webkit.org/show_bug.cgi?id=174854

        Reviewed by Carlos Garcia Campos.

        The check was introduced without explanation in r168302. This change reverts
        it to the previous, correct check.

        * canvas/philip/tests/2d.missingargs-expected.txt:
        * canvas/philip/tests/2d.missingargs.html:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/canvas/philip/tests/2d.missingargs-expected.txt: Removed.
        * platform/wpe/TestExpectations:

2017-07-26  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Enable KeyboardEvent key and code attributes
        https://bugs.webkit.org/show_bug.cgi?id=174822

        Reviewed by Žan Doberšek.

        * platform/wpe/TestExpectations: Mark
        fast/events/constructors/keyboard-event-constructor.html as passing.

2017-07-26  Zan Dobersek  <zdobersek@igalia.com>

        [WPE] WebGL2 support
        https://bugs.webkit.org/show_bug.cgi?id=174249

        Reviewed by Alex Christensen.

        * platform/wpe/TestExpectations:
        Unskip WebGL2 tests under the webgl/ directory. More tests under fast/canvas/webgl2/
        will be unskipped later.

2017-07-26  Nan Wang  <n_wang@apple.com>

        AX: should dispatch accessibilityPerformPressAction async on MacOS
        https://bugs.webkit.org/show_bug.cgi?id=174849

        Reviewed by Chris Fleizach.

        * accessibility/file-upload-button-with-axpress.html:
        * accessibility/mac/html5-input-number.html:
        * accessibility/mac/search-field-cancel-button.html:
        * accessibility/press-target-uses-text-descendant-node.html:
        * accessibility/press-targets-center-point.html:
        * accessibility/press-works-on-control-types.html:

2017-07-25  Andy Estes  <aestes@apple.com>

        [Apple Pay] Add "carteBancaire" as a supported payment network
        https://bugs.webkit.org/show_bug.cgi?id=174841
        <rdar://problem/31935596>

        Reviewed by Alex Christensen.

        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html:
        * http/tests/ssl/applepay/ApplePaySessionV3.html:

2017-07-25  Matt Lewis  <jlewis3@apple.com>

        Marked multiple fast/ tests as crashing on High Sierra WK1.
        <rdar://problem/33522420>

        Unreviewed test gardening.

        * platform/mac-highsierra-wk1/TestExpectations:

2017-07-25  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type.html as failing.
        <rdar://problem/33251388>

        Unreviewed test gardening.

        * platform/mac-highsierra/TestExpectations:

2017-07-25  Matt Lewis  <jlewis3@apple.com>

        Rebaselined the test http/tests/quicklook/top-navigation-blocked.html
        https://bugs.webkit.org/show_bug.cgi?id=174755

        Unreviewed test gardening.

        * http/tests/quicklook/top-navigation-blocked-expected.txt:

2017-07-25  Matt Lewis  <jlewis3@apple.com>

        Rebaselined missed test.
        https://bugs.webkit.org/show_bug.cgi?id=174734

        Unreviewed test gardening.

        * fast/events/touch/ios/touches-client-coords-after-zoom-expected.txt:

2017-07-25  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Async image decoding for large images should be disabled after the first time a tile is painted
        https://bugs.webkit.org/show_bug.cgi?id=174451
        <rdar://problem/31246421>

        Reviewed by Simon Fraser.

        To test async image decoding for large images, we have to create the <img>
        element dynamically so we can listen to the load and webkitImageFrameReady
        events and know reliably when to end the test. But with this patch the async
        image decoding for large images will be disabled after the first paint. 
        That means async image decoding for large images will be disabled always
        unless we force the async image decoding till the image is painted for the
        first time. We use Internals::setLargeImageAsyncDecodingEnabledForTesting()
        to force the async image decoding. So painting an image in this case will
        require multiple paints; in all of them the async image decoding will be
        enabled. But this is okay because it resembles the case where the <img> is
        created from a static <img> tag in the HTML file.

        For new tests, where we want to make sure that mutating the DOM will not
        cause a flash, async image decoding will be forced till the image is drawn
        for the first time. After that the async image decoding is enabled but not
        forced.

        Disable new tests for WK1 because the async image decoding is always enabled
        because tiling does not necessarily exist in WK1 . But eventually the async
        image decoding for large images will be always disabled for WK1.

        * fast/images/async-image-background-change-expected.html: Added.
        * fast/images/async-image-background-change.html: Added.
        * fast/images/async-image-background-image-repeated.html:
        * fast/images/async-image-background-image.html:
        * fast/images/async-image-body-background-image.html:
        * fast/images/async-image-multiple-clients-repaint.html:
        * fast/images/async-image-src-change-expected.html: Added.
        * fast/images/async-image-src-change.html: Added.
        * fast/images/resources/green-400x400.png: Added.
        * fast/images/resources/red-100x100.png: Added.
        * fast/images/resources/red-400x400.png: Added.
        * fast/images/sprite-sheet-image-draw.html:
        * http/tests/multipart/multipart-async-image-expected.txt: Added.
        * http/tests/multipart/multipart-async-image.html: Added.
        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2017-07-25  Charlie Turner  <cturner@igalia.com>

        [GTK] Unreviewed test gardening
        https://bugs.webkit.org/show_bug.cgi?id=174820

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2017-07-25  Devin Rousso  <drousso@apple.com>
        Web Inspector: add context menu item for taking a screenshot of a node
        https://bugs.webkit.org/show_bug.cgi?id=174754

        Reviewed by Brian Burg.

        * inspector/unit-tests/number-utilities-expected.txt:
        * inspector/unit-tests/number-utilities.html:
        Add test for Number.zeroPad.

        Drive-by: Change tests to use expectEqual for better output on failure.

2017-07-25  Claudio Saavedra  <csaavedra@igalia.com>

        REGRESSION (r143068): fast/events/clientXY-in-zoom-and-scroll.html failing on GTK, Qt
        https://bugs.webkit.org/show_bug.cgi?id=110090

        Unreviewed gardening.

        This test only needed the expectation to be updated.

        * platform/gtk/TestExpectations: Remove test below.
        * platform/gtk/fast/events/clientXY-in-zoom-and-scroll-expected.txt: Added.

2017-07-24  Per Arne Vollan  <pvollan@apple.com>

        [Win] The tests fast/text/line-height-minimumFontSize*.html are failing.
        https://bugs.webkit.org/show_bug.cgi?id=174801

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-07-24  Matt Lewis  <jlewis3@apple.com>

        Marked tests as failures.
        <rdar://problem/33437597>
        
        Unreviewed test gardening.

        * platform/mac-highsierra/TestExpectations:

2017-07-24  Matt Lewis  <jlewis3@apple.com>

        Fixed typo in test expectations.
        https://bugs.webkit.org/show_bug.cgi?id=173010

        Unreviewed gardening.
        * platform/ios-simulator-wk2/TestExpectations:

2017-07-24  Per Arne Vollan  <pvollan@apple.com>

        [Win] Async image tests are failing.
        https://bugs.webkit.org/show_bug.cgi?id=174653

        Unreviewed test gardening, update test expectations for async image tests.

        * platform/win/TestExpectations:

2017-07-24  Simon Fraser  <simon.fraser@apple.com>

        Rebaseline this test. The previous result was generated using an older iOS SDK.

        * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt:

2017-07-24  Per Arne Vollan  <pvollan@apple.com>

        Mark Skia font test as image only failure on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-07-24  Jeremy Jones  <jeremyj@apple.com>

        LayoutTest userscripts/user-script-audio-document.html failing on High Sierra
        https://bugs.webkit.org/show_bug.cgi?id=174726
        rdar://problem/30059973

        Reviewed by Alexey Proskuryakov.

        Underlying issue has been resolved.
        Re-enable test: userscripts/user-script-audio-document.html

        * platform/mac-highsierra/TestExpectations:

2017-07-24  Simon Fraser  <simon.fraser@apple.com>

        Fix typo (Timout -> Timeout).

        * platform/mac-wk2/TestExpectations:

2017-07-24  Jeremy Jones  <jeremyj@apple.com>

        5 wav media layoutTest timeouts on High Sierra
        https://bugs.webkit.org/show_bug.cgi?id=174725
        rdar://problem/30182218

        Reviewed by Andreas Kling.

        Underlying issue is fixed. Re-enable tests on High Sierra.

        media/audio-controls-timeline-in-media-document.html
        media/audio-data-url.html
        media/media-document-audio-controls-visible.html
        media/media-document-audio-repaint.html
        media/media-document-audio-size.html

        * platform/mac-highsierra/TestExpectations:

2017-07-24  Simon Fraser  <simon.fraser@apple.com>

        Revert "client" coordinates to be in scrolling coordinates
        https://bugs.webkit.org/show_bug.cgi?id=174734
        rdar://problem/33336930

        Reviewed by Tim Horton.
        
        Rebaseline.

        * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt:
        * fast/visual-viewport/client-coordinates-relative-to-layout-viewport-expected.txt:
        * fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt:
        * fast/visual-viewport/zoomed-fixed-expected.txt:
        * fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:
        * fast/zooming/client-rect-in-fixed-zoomed-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt:
        * platform/ios-wk2/imported/w3c/web-platform-tests/cssom-view/elementFromPoint-expected.txt: Added.
        * platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt:
        * platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:

2017-07-24  Matt Lewis  <jlewis3@apple.com>

        Marked tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html as failure.
        https://bugs.webkit.org/show_bug.cgi?id=172148

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-07-23  Darin Adler  <darin@apple.com>

        Remove race from one plug-in test
        https://bugs.webkit.org/show_bug.cgi?id=130653

        Reviewed by Antti Koivisto.

        * 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 both needed and potentially insufficient in the long run.

2017-07-11  Frederic Wang  <fwang@igalia.com>

        Add attribute allow-top-navigation-by-user-activation to iframe sandbox
        https://bugs.webkit.org/show_bug.cgi?id=171327

        Reviewed by Chris Dumez.

        This patch adds tests to verify that a sandboxed iframe with the flag
        'allow-top-navigation-by-user-activation' or 'allow-top-navigation' can navigate the top
        level page, if navigation is triggered by a user gesture. This is based on a test from the
        Chromium repository.
        It also verifies that navigation fails when 'allow-top-navigation-by-user-activation' is
        absent, even when it is triggered by a user gesture.

        * http/tests/security/frameNavigation/resources/iframe-that-performs-parent-navigation-with-user-activation.html: Added. This is similar to iframe-that-performs-parent-navigation.html but it
        performs navigation of its parent using user activation.
        * http/tests/security/frameNavigation/sandbox-ALLOWED-top-navigation-with-user-gesture-1.html: Added.
        Test top navigation for a sandboxed frame with 'allow-top-navigation-by-user-activation'
        * http/tests/security/frameNavigation/sandbox-ALLOWED-top-navigation-with-user-gesture-1-expected.txt: Added.
        Add PASS expectation.
        * http/tests/security/frameNavigation/sandbox-ALLOWED-top-navigation-with-user-gesture-2.html: Added.
        Test top navigation for a sandboxed frame with 'allow-top-navigation'.
        * http/tests/security/frameNavigation/sandbox-ALLOWED-top-navigation-with-user-gesture-2-expected.txt: Added.
        Add PASS expectation.
        * http/tests/security/frameNavigation/sandbox-DENIED-top-navigation-with-user-gesture.html: Added.
        Test user-triggered navigation for a sandboxed frame without 'allow-top-navigation-by-user-activation'.
        * http/tests/security/frameNavigation/sandbox-DENIED-top-navigation-with-user-gesture-expected.txt: Added.
        Add reference with navigation failure.

2017-07-22  Chris Dumez  <cdumez@apple.com>

        Merge ExceptionBase into DOMException and drop custom toString
        https://bugs.webkit.org/show_bug.cgi?id=174755

        Reviewed by Sam Weinig.

        Rebaseline some tests now that DOMException's custom toString has been dropped
        and we rely on Error's toString. This causes the exception message to be
        slightly different.

        * fast/canvas/canvas-getImageData-invalid-result-buffer-crash-expected.txt:
        * fast/frames/sandboxed-iframe-history-denied-expected.txt:
        * fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt:
        * fast/inspector-support/uncaught-dom1-exception-expected.txt:
        * fast/inspector-support/uncaught-dom3-exception-expected.txt:
        * fast/inspector-support/uncaught-dom8-exception-expected.txt:
        * fast/regions/selection/crash-deselect-expected.txt:
        * http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
        * http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
        * http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
        * http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
        * http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
        * http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
        * http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
        * http/tests/security/sandboxed-iframe-modify-self-expected.txt:
        * http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-hash-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-host-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-hostname-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-pathname-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-protocol-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-reload-expected.txt:
        * http/tests/security/xss-DENIED-assign-location-search-expected.txt:
        * http/tests/security/xss-DENIED-frame-name-expected.txt:
        * http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
        * http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
        * inspector/debugger/command-line-api-exception-expected.txt:
        * inspector/debugger/regress-133182-expected.txt:
        * inspector/debugger/setPauseOnExceptions-all-expected.txt:
        * inspector/debugger/setPauseOnExceptions-none-expected.txt:
        * inspector/debugger/setPauseOnExceptions-uncaught-expected.txt:
        * platform/mac/fast/dynamic/015-expected.txt:

2017-07-21  Chris Dumez  <cdumez@apple.com>

        Drop IDBDatabaseException class
        https://bugs.webkit.org/show_bug.cgi?id=174743

        Reviewed by Darin Adler.

        Rebaseline test as the exception messages are slightly different.

        * storage/indexeddb/createIndex-after-failure-expected.txt:
        * storage/indexeddb/createIndex-after-failure-private-expected.txt:
        * storage/indexeddb/get-keyrange-expected.txt:
        * storage/indexeddb/get-keyrange-private-expected.txt:
        * storage/indexeddb/keypath-edges-expected.txt:
        * storage/indexeddb/keypath-edges-private-expected.txt:
        * storage/indexeddb/keyrange-expected.txt:
        * storage/indexeddb/keyrange-private-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt:
        * storage/indexeddb/transaction-active-flag-expected.txt:
        * storage/indexeddb/transaction-active-flag-private-expected.txt:

2017-07-21  Per Arne Vollan  <pvollan@apple.com>

        Round-tripping stroke-width styles through getComputedStyle cause the text to gain a stroke.
        https://bugs.webkit.org/show_bug.cgi?id=174701

        Reviewed by Simon Fraser.

        * fast/css/round-trip-stroke-width-using-computed-style-expected.html: Added.
        * fast/css/round-trip-stroke-width-using-computed-style.html: Added.

2017-07-21  Nan Wang  <n_wang@apple.com>

        AX: Expose form validation on iOS as hint
        https://bugs.webkit.org/show_bug.cgi?id=174722
        <rdar://problem/33459761>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/form-control-validation-message-expected.txt: Added.
        * accessibility/ios-simulator/form-control-validation-message.html: Added.

2017-07-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: inspect(aFunction) should jump to function definition
        https://bugs.webkit.org/show_bug.cgi?id=149344
        <rdar://problem/11563607>

        Reviewed by Matt Baker.

        * inspector/runtime/CommandLineAPI-inspect-expected.txt: Added.
        * inspector/runtime/CommandLineAPI-inspect.html: Added.
        Add tests for the CommandLineAPI's inspect() and how it triggers the
        `Inspector.inspect` event with a RemoteObject and hints.

2017-07-21  Matt Lewis  <jlewis3@apple.com>

        Adjusted test expectations.
        https://bugs.webkit.org/show_bug.cgi?id=173861

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-07-21  Brady Eidson  <beidson@apple.com>

        Get rid of WebCore IconDatabase code.
        https://bugs.webkit.org/show_bug.cgi?id=174700

        Reviewed by Tim Horton.

        * fast/dom/icon-url-list-expected.txt:
        * fast/dom/icon-url-list.html:

2017-07-21  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline test after r219708.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/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:

2017-07-21  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Update test expectations after r219663

        Unreviewed gardening

        DOMException got its toString() removed so the output changes.

        * platform/gtk/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt:
        * platform/gtk/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt:
        * platform/gtk/crypto/subtle/aes-export-key-malformed-parameters-expected.txt:
        * platform/gtk/crypto/subtle/aes-generate-key-malformed-parameters-expected.txt:
        * platform/gtk/crypto/subtle/aes-import-key-malformed-parameters-expected.txt:
        * platform/gtk/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt:
        * platform/gtk/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt:
        * platform/gtk/fast/mediastream/RTCPeerConnection-closed-state-expected.txt:
        * platform/gtk/fast/text/font-selection-font-loading-api-parse-expected.txt:
        * platform/gtk/http/tests/dom/document-attributes-null-handling-expected.txt:

2017-07-21  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Update expectation file

        Unreviewed gardening.

        Drop XPathException after r219708.

        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-07-20  Antoine Quint  <graouts@apple.com>

        Turn tests at media/modern-media-controls/seek-forward-support back on
        https://bugs.webkit.org/show_bug.cgi?id=174690

        Reviewed by Dean Jackson.

        * platform/mac/TestExpectations:

2017-07-20  Antoine Quint  <graouts@apple.com>

        Turn tests at media/modern-media-controls/seek-backward-support back on
        https://bugs.webkit.org/show_bug.cgi?id=174689

        Reviewed by Dean Jackson.

        * platform/mac/TestExpectations:

2017-07-20  Antoine Quint  <graouts@apple.com>

        Turn tests at media/modern-media-controls/time-labels-support back on
        https://bugs.webkit.org/show_bug.cgi?id=174688

        Reviewed by Dean Jackson.

        * media/modern-media-controls/time-labels-support/elapsed-time-expected.txt:
        * media/modern-media-controls/time-labels-support/elapsed-time.html:
        * media/modern-media-controls/time-labels-support/remaining-time-expected.txt:
        * media/modern-media-controls/time-labels-support/remaining-time.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-20  Antoine Quint  <graouts@apple.com>

        Turn tests at media/modern-media-controls/status-support back on
        https://bugs.webkit.org/show_bug.cgi?id=174687

        Reviewed by Dean Jackson.

        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-20  Chris Dumez  <cdumez@apple.com>

        Drop legacy SVGException type
        https://bugs.webkit.org/show_bug.cgi?id=174695

        Reviewed by Darin Adler.

        Update existing tests to reflect behavior change.

        * fast/dom/Window/resources/window-properties.js:
        * js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/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:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:
        * svg/animations/animate-marker-orient-from-angle-to-autostartreverse-expected.txt:
        * svg/custom/SVGException-expected.txt: Removed.
        * svg/custom/SVGException.html: Removed.
        * svg/custom/global-constructors-expected.txt:
        * svg/custom/global-constructors.html:
        * svg/custom/js-svg-constructors-expected.txt:
        * svg/custom/js-svg-constructors.svg:
        * svg/dom/SVGAnimatedEnumeration-SVGClipPathElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGFilterElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGGradientElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGMaskElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGPatternElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGTextContentElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGTextPathElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-expected.txt:
        * svg/dom/SVGException-obsolete-expected.txt: Added.
        * svg/dom/SVGException-obsolete.html: Added.
        * svg/dom/SVGMatrix-interface-expected.txt:
        * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
        * svg/filters/feBlend-invalid-mode-expected.txt:
        * svg/filters/feComponentTransfer-style-crash-expected.txt:
        * svg/filters/feDisplacementMap-crash-test-expected.txt:

2017-07-20  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219700.

        This revision caused consistent timouts on iOS.

        Reverted changeset:

        "Turn tests at media/modern-media-controls/start-support back
        on"
        https://bugs.webkit.org/show_bug.cgi?id=174683
        http://trac.webkit.org/changeset/219700

2017-07-20  Chris Dumez  <cdumez@apple.com>

        Drop legacy XPathException type
        https://bugs.webkit.org/show_bug.cgi?id=174679

        Reviewed by Sam Weinig.

        Update existing tests to reflect behavior change.

        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.js:
        (XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR):
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.js:
        (XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR):
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.js:
        (XPathEvaluator_evaluate_TYPE_ERR):
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR.js:
        (XPathResult_TYPE_ERR):
        * fast/dom/DOMException/XPathException-expected.txt: Removed.
        * fast/dom/DOMException/XPathException.html: Removed.
        * fast/dom/DOMException/resources/XPathException.js: Removed.
        * fast/dom/Window/resources/window-properties.js:
        * fast/dom/Window/window-lookup-precedence-expected.txt:
        * fast/xpath/4XPath/Core/test_parser-expected.txt:
        * fast/xpath/invalid-functions-expected.txt:
        * fast/xpath/py-dom-xpath/expressions-expected.txt:
        * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

2017-07-20  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r219706.

        Broke iOS build

        Reverted changeset:

        "Drop legacy XPathException type"
        https://bugs.webkit.org/show_bug.cgi?id=174679
        http://trac.webkit.org/changeset/219706

2017-07-20  Chris Dumez  <cdumez@apple.com>

        Drop legacy XPathException type
        https://bugs.webkit.org/show_bug.cgi?id=174679

        Reviewed by Sam Weinig.

        Update existing tests to reflect behavior change.

        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.js:
        (XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR):
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.js:
        (XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR):
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.js:
        (XPathEvaluator_evaluate_TYPE_ERR):
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR.js:
        (XPathResult_TYPE_ERR):
        * fast/dom/DOMException/XPathException-expected.txt: Removed.
        * fast/dom/DOMException/XPathException.html: Removed.
        * fast/dom/DOMException/resources/XPathException.js: Removed.
        * fast/dom/Window/resources/window-properties.js:
        * fast/dom/Window/window-lookup-precedence-expected.txt:
        * fast/xpath/4XPath/Core/test_parser-expected.txt:
        * fast/xpath/invalid-functions-expected.txt:
        * fast/xpath/py-dom-xpath/expressions-expected.txt:
        * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

2017-07-20  Matt Lewis  <jlewis3@apple.com>

        Rebaselined svg/css/getComputedStyle-basic.xhtml.
        
        Unreviewed test gardening.

        * platform/mac-highsierra/svg/css/getComputedStyle-basic-expected.txt:

2017-07-20  Antoine Quint  <graouts@apple.com>

        Turn tests at media/modern-media-controls/start-support back on
        https://bugs.webkit.org/show_bug.cgi?id=174683

        Reviewed by Dean Jackson.

        * media/modern-media-controls/start-support/start-support-click-to-start-expected.txt:
        * media/modern-media-controls/start-support/start-support-click-to-start.html:
        * media/modern-media-controls/start-support/start-support-fullscreen.html:
        * media/modern-media-controls/start-support/start-support-lowPowerMode-expected.txt:
        * media/modern-media-controls/start-support/start-support-lowPowerMode.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-20  Matt Lewis  <jlewis3@apple.com>

        Marked media/modern-media-controls/scrubber-support/scrubber-support-drag.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=174682

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-07-20  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline test on all platforms after r219673.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-highsierra/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/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:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-07-20  Charlie Turner  <cturner@igalia.com>

        [GTK] Layout Test http/tests/media/hls/hls-progress.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=141469

        Reviewed by Xabier Rodriguez-Calvar.

        Fixes the removed tests.

        * platform/gtk/TestExpectations:

2017-07-20  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * platform/gtk/TestExpectations:

2017-07-20  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Updating test baselines after r219663.

        * platform/wpe/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt:
        * platform/wpe/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt:
        * platform/wpe/crypto/subtle/aes-export-key-malformed-parameters-expected.txt:
        * platform/wpe/crypto/subtle/aes-generate-key-malformed-parameters-expected.txt:
        * platform/wpe/crypto/subtle/aes-import-key-malformed-parameters-expected.txt:
        * platform/wpe/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt:
        * platform/wpe/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-usage-record-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession-expected.txt:

2017-07-19  Simon Fraser  <simon.fraser@apple.com>

        getBoundingClientRects not updated for programmatic scrolls
        https://bugs.webkit.org/show_bug.cgi?id=174538
        rdar://problem/33049012

        Reviewed by Tim Horton.
        
        New results for these tests, reflecting the fact that programmatic scrolls now update
        the layout viewport.
        
        Clean up fast/dom/elementFromPoint-relative-to-viewport.html, and land an iOS expectation. The test
        uses eventSender.zoomPageOut() which is not expected to work correctly on iOS. It works when tested
        manually.

        * fast/dom/elementFromPoint-relative-to-viewport-expected.txt:
        * fast/dom/elementFromPoint-relative-to-viewport.html:
        * platform/ios-wk2/fast/dom/elementFromPoint-relative-to-viewport-expected.txt: Copied from LayoutTests/fast/dom/elementFromPoint-relative-to-viewport-expected.txt.
        * platform/ios-wk2/fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/rtl-zoomed-rects-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/zoomed-fixed-scroll-down-then-up-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/zoomed-rects-expected.txt:
        * platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt:
        * platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:

2017-07-19  Myles C. Maxfield  <mmaxfield@apple.com>

        Setting the minimum font size preference doesn’t affect absolute line-height values, so lines overlap
        https://bugs.webkit.org/show_bug.cgi?id=174406
        <rdar://problem/10139227>

        Reviewed by Simon Fraser.

        * fast/text/line-height-minimumFontSize-autosize-expected.text: Added.
        * fast/text/line-height-minimumFontSize-autosize.html: Added.
        * fast/text/line-height-minimumFontSize-expected.txt: Added.
        * fast/text/line-height-minimumFontSize-text-zoom-expected.html: Added.
        * fast/text/line-height-minimumFontSize-text-zoom.html: Added.
        * fast/text/line-height-minimumFontSize-visual-expected.html: Added.
        * fast/text/line-height-minimumFontSize-visual.html: Added.
        * fast/text/line-height-minimumFontSize-zoom-expected.html: Added.
        * fast/text/line-height-minimumFontSize-zoom.html: Added.
        * fast/text/line-height-minimumFontSize.html: Added.

2017-07-18  Myles C. Maxfield  <mmaxfield@apple.com>

        Setting the minimum font size preference doesn’t affect absolute line-height values, so lines overlap
        https://bugs.webkit.org/show_bug.cgi?id=174406
        <rdar://problem/10139227>

        Reviewed by Simon Fraser.

        * fast/text/line-height-minimumFontSize-autosize-expected.text: Added.
        * fast/text/line-height-minimumFontSize-autosize.html: Added.
        * fast/text/line-height-minimumFontSize-expected.txt: Added.
        * fast/text/line-height-minimumFontSize-text-zoom-expected.html: Added.
        * fast/text/line-height-minimumFontSize-text-zoom.html: Added.
        * fast/text/line-height-minimumFontSize-visual-expected.html: Added.
        * fast/text/line-height-minimumFontSize-visual.html: Added.
        * fast/text/line-height-minimumFontSize-zoom-expected.html: Added.
        * fast/text/line-height-minimumFontSize-zoom.html: Added.
        * fast/text/line-height-minimumFontSize.html: Added.

2017-07-19  Chris Dumez  <cdumez@apple.com>

        DOMException should not have its own toString()
        https://bugs.webkit.org/show_bug.cgi?id=174630

        Reviewed by Sam Weinig.

        Rebaseline existing tests as the exception string is now slightly different.

2017-07-19  Antoine Quint  <graouts@apple.com>

        [iOS] REGRESSION: Scrubbing media using built-in controls does not pause media
        https://bugs.webkit.org/show_bug.cgi?id=174650
        <rdar://problem/33401877>

        Reviewed by Dean Jackson.

        Rebaseline and turn back on all the ScrubberSupport tests on macOS and iOS.

        * media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag-expected.txt:
        * media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag.html:
        * media/modern-media-controls/scrubber-support/scrubber-support-media-api-expected.txt:
        * media/modern-media-controls/scrubber-support/scrubber-support-media-api.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-19  Nan Wang  <n_wang@apple.com>

        AX: Web page reloaded when a node is labelling multiple childnodes
        https://bugs.webkit.org/show_bug.cgi?id=174655

        Reviewed by Chris Fleizach.

        * accessibility/mac/aria-labelledby-multiple-child-crash-expected.txt: Added.
        * accessibility/mac/aria-labelledby-multiple-child-crash.html: Added.

2017-07-19  Chris Dumez  <cdumez@apple.com>

        Make cross-origin properties enumerable
        https://bugs.webkit.org/show_bug.cgi?id=174576

        Reviewed by Darin Adler.

        Update / rebaseline some tests to reflect behavior change.

        * http/tests/security/cross-origin-descriptors-expected.txt:
        * http/tests/security/cross-origin-descriptors.html:
        * js/dom/getOwnPropertyDescriptor-expected.txt:
        * js/resources/getOwnPropertyDescriptor.js:

2017-07-19  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219646.

        The test added are failing on all platforms

        Reverted changeset:

        "Setting the minimum font size preference doesn’t affect
        absolute line-height values, so lines overlap"
        https://bugs.webkit.org/show_bug.cgi?id=174406
        http://trac.webkit.org/changeset/219646

2017-07-19  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations:
        Unskip a bunch of Web Crypto tests that are passing now that
        the underlying implementation has progressed.

2017-07-18  Myles C. Maxfield  <mmaxfield@apple.com>

        Setting the minimum font size preference doesn’t affect absolute line-height values, so lines overlap
        https://bugs.webkit.org/show_bug.cgi?id=174406
        <rdar://problem/10139227>

        Reviewed by Simon Fraser.

        * fast/text/line-height-minimumFontSize-autosize-expected.text: Added.
        * fast/text/line-height-minimumFontSize-autosize.html: Added.
        * fast/text/line-height-minimumFontSize-expected.txt: Added.
        * fast/text/line-height-minimumFontSize-text-zoom-expected.html: Added.
        * fast/text/line-height-minimumFontSize-text-zoom.html: Added.
        * fast/text/line-height-minimumFontSize-visual-expected.html: Added.
        * fast/text/line-height-minimumFontSize-visual.html: Added.
        * fast/text/line-height-minimumFontSize-zoom-expected.html: Added.
        * fast/text/line-height-minimumFontSize-zoom.html: Added.
        * fast/text/line-height-minimumFontSize.html: Added.

2017-07-18  Ali Juma  <ajuma@chromium.org>

        Align quirky number parsing with other browsers
        https://bugs.webkit.org/show_bug.cgi?id=155874

        Reviewed by Simon Fraser.

        * animations/animation-add-events-in-handler.html:
        * fast/css/animation-transition-duration-quirksmode-expected.txt: Added.
        * fast/css/animation-transition-duration-quirksmode.html: Added.

2017-07-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Modernize InjectedScriptSource
        https://bugs.webkit.org/show_bug.cgi?id=173890

        Reviewed by Brian Burg.

        * inspector/model/remote-object-expected.txt:
        * inspector/model/stack-trace-expected.txt:
        Now that we use classes, implicitly strict mode, the call frame
        for evaluate gets tail call eliminated.

2017-07-18  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r218910): Crash when password field changes to text field
        https://bugs.webkit.org/show_bug.cgi?id=174560

        Reviewed by Zalan Bujtas.

        Added a regression test based on the test case provided by Daniel Bates.

        * accessibility/mac/input-type-change-crash-2-expected.txt: Added.
        * accessibility/mac/input-type-change-crash-2.html: Added.

2017-07-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Refactoring: replace InspectorCanvasAgent::CanvasEntry with a helper class
        https://bugs.webkit.org/show_bug.cgi?id=174311

        Reviewed by Devin Rousso.

        Updated test expectations for new error strings.

        * inspector/canvas/css-canvas-clients-expected.txt:
        * inspector/canvas/requestContent-2d-expected.txt:
        * inspector/canvas/requestNode-expected.txt:
        * inspector/canvas/resolveCanvasContext-2d-expected.txt:

2017-07-18  Antoine Quint  <graouts@apple.com>

        Turn tests at media/modern-media-controls/playback-support back on
        https://bugs.webkit.org/show_bug.cgi?id=174639

        Reviewed by Dean Jackson.

        * media/modern-media-controls/playback-support/playback-support-button-click.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-18  Antoine Quint  <graouts@apple.com>

        Turn tests at media/modern-media-controls/pip-support back on
        https://bugs.webkit.org/show_bug.cgi?id=174636

        Reviewed by Dean Jackson.

        * media/modern-media-controls/pip-support/ipad/pip-support-tap.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac-elcapitan/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-18  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/cache/disk-cache/redirect-chain-limits.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172662

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-07-18  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/cache/disk-cache/disk-cache-vary-cookie.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172662

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-07-18  Antoine Quint  <graouts@apple.com>

        [macOS] Mouse pointer does not hide during fullscreen playback
        https://bugs.webkit.org/show_bug.cgi?id=174638
        <rdar://problem/33244399>

        Reviewed by Dean Jackson.

        Add a test that checks that the "-webkit-cursor-visibility" is set to "auto-hide" when
        in fullscreen for the media controls container.

        * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: Added.
        * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-07-18  Sam Weinig  <sam@webkit.org>

        [WebIDL] Remove custom bindings for MockContentFilterSettings
        https://bugs.webkit.org/show_bug.cgi?id=174606

        Reviewed by Andy Estes.

        * contentfiltering/allow-after-add-data.html:
        * contentfiltering/allow-after-finished-adding-data.html:
        * contentfiltering/allow-after-response.html:
        * contentfiltering/allow-after-will-send-request.html:
        * contentfiltering/allow-empty-document.html:
        * contentfiltering/allow-media-document.html:
        * contentfiltering/allow-never.html:
        * contentfiltering/block-after-add-data-then-allow-unblock.html:
        * contentfiltering/block-after-add-data-then-deny-unblock.html:
        * contentfiltering/block-after-add-data.html:
        * contentfiltering/block-after-finished-adding-data-then-allow-unblock.html:
        * contentfiltering/block-after-finished-adding-data-then-deny-unblock.html:
        * contentfiltering/block-after-finished-adding-data.html:
        * contentfiltering/block-after-response-then-allow-unblock.html:
        * contentfiltering/block-after-response-then-deny-unblock.html:
        * contentfiltering/block-after-response.html:
        * contentfiltering/block-after-will-send-request-then-allow-unblock.html:
        * contentfiltering/block-after-will-send-request-then-deny-unblock.html:
        * contentfiltering/block-after-will-send-request.html:
        * contentfiltering/block-never.html:
        * contentfiltering/modify-request-url.html:
        * contentfiltering/resources/contentfiltering.js:
        * http/tests/contentfiltering/allow-after-redirect.html:
        * http/tests/contentfiltering/block-after-redirect.html:
        * http/tests/contentfiltering/load-substitute-data-from-appcache.html:
        * http/tests/contentfiltering/modify-redirect-request-url.html:
        Update tests to use new MockContentFilterSettings enums rather than constants.

2017-07-18  Sam Weinig  <sam@webkit.org>

        [WebIDL] Replace some custom bindings code in JSCSSStyleDeclarationCustom.cpp with named getters/setters
        https://bugs.webkit.org/show_bug.cgi?id=174529

        Reviewed by Chris Dumez.

        * fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor-expected.txt:
        * fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor.html:
        Update test and result to match standard and other browsers. 

2017-07-18  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219610.

        This caused an api failure on all platforms for the test
        SnapshotImageLargeAsyncDecoding

        Reverted changeset:

        "Async image decoding for large images should be disabled
        after the first time a tile is painted"
        https://bugs.webkit.org/show_bug.cgi?id=174451
        http://trac.webkit.org/changeset/219610

2017-07-18  Devin Rousso  <drousso@apple.com>

        Add CanvasRenderingContext2D::getTransform
        https://bugs.webkit.org/show_bug.cgi?id=174278

        Reviewed by Dean Jackson.

        * canvas/philip/tests/2d.missingargs.html:
        CanvasRenderingContext2D.prototype.setTransform no longer throws an error with no arguments.

        * fast/canvas/2d.getTransform.modification-expected.txt: Added.
        * fast/canvas/2d.getTransform.modification.html: Added.
        * fast/canvas/2d.getTransform.newobject-expected.txt: Added.
        * fast/canvas/2d.getTransform.newobject.html: Added.
        * fast/canvas/2d.setTransform.matrix-expected.txt: Added.
        * fast/canvas/2d.setTransform.matrix.html: Added.

2017-07-18  Matt Lewis  <jlewis3@apple.com>

        Rebaseline inspector/model/remote-object.html.
        https://bugs.webkit.org/show_bug.cgi?id=173991

        Unreviewed test gardening.

        * inspector/model/remote-object-expected.txt:

2017-07-18  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Async image decoding for large images should be disabled after the first time a tile is painted
        https://bugs.webkit.org/show_bug.cgi?id=174451

        Reviewed by Simon Fraser.

        To test async image decoding for large images, we have to create the <img>
        element dynamically so we can listen to the load and webkitImageFrameReady
        events and know reliably when to end the test. But with this patch the async
        image decoding for large images will be disabled after the first paint. 
        That means async image decoding for large images will be disabled always
        unless we force the async image decoding till the image is painted for the
        first time. We use Internals::setLargeImageAsyncDecodingEnabledForTesting()
        to force the async image decoding. So painting an image in this case will
        require multiple paints; in all of them the async image decoding will be
        enabled. But this is okay because it resembles the case where the <img> is
        created from a static <img> tag in the HTML file.

        For new tests, where we want to make sure that mutating the DOM will not
        cause a flash, async image decoding will be forced till the image is drawn
        for the first time. After that the async image decoding is enabled but not
        forced.

        Disable new tests for WK1 because the async image decoding is always enabled
        because tiling does not necessarily exist in WK1 . But eventually the async
        image decoding for large images will be always disabled for WK1.

        * fast/images/async-image-background-change-expected.html: Added.
        * fast/images/async-image-background-change.html: Added.
        * fast/images/async-image-background-image-repeated.html:
        * fast/images/async-image-background-image.html:
        * fast/images/async-image-multiple-clients-repaint.html:
        * fast/images/async-image-src-change-expected.html: Added.
        * fast/images/async-image-src-change.html: Added.
        * fast/images/resources/green-400x400.png: Added.
        * fast/images/resources/red-100x100.png: Added.
        * fast/images/resources/red-400x400.png: Added.
        * http/tests/multipart/multipart-async-image-expected.txt: Added.
        * http/tests/multipart/multipart-async-image.html: Added.
        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2017-07-18  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        fast/forms/range/input-appearance-range-rtl.html is desired to fail.

        * platform/gtk/TestExpectations:

2017-07-18  Chris Dumez  <cdumez@apple.com>

        DOMException should have its properties on the prototype
        https://bugs.webkit.org/show_bug.cgi?id=174597

        Reviewed by Alex Christensen.

        Rebaseline inspector tests whose output changed slightly now that the
        DOMException have moved to the prototype.

        * inspector/debugger/setPauseOnExceptions-all-expected.txt:
        * inspector/debugger/setPauseOnExceptions-none-expected.txt:
        * inspector/debugger/setPauseOnExceptions-uncaught-expected.txt:

2017-07-17  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * TestExpectations: Skip tests that are clearly intended to have Skip expectations.
        * platform/gtk/TestExpectations:
        * platform/gtk/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt:

2017-07-17  Timothy Horton  <timothy_horton@apple.com>

        Page using safe area constant properties jumps to correct layout after resize
        https://bugs.webkit.org/show_bug.cgi?id=174598
        <rdar://problem/33364275>

        Reviewed by Simon Fraser.

        * fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation-expected.txt: Added.
        * fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html: Added.
        Add a test making sure that dynamic-viewport-update-based rotation
        updates safe area insets when needed.

2017-07-17  Matt Lewis  <jlewis3@apple.com>
        
        Fixed test expectations after r219518.
        https://bugs.webkit.org/show_bug.cgi?id=174472

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-07-17  Jeremy Jones  <jeremyj@apple.com>

        media element handle adding source immediately before src.
        https://bugs.webkit.org/show_bug.cgi?id=174284

        Reviewed by David Kilzer.

        Adds missing -expected and tests to make sure resulting currentSrc is correct.

        * TestExpectations:
        * media/video-source-before-src-expected.txt: Added.
        * media/video-source-before-src.html:

2017-07-17  Matt Lewis  <jlewis3@apple.com>

        Fixed test expectations after r219518.
        https://bugs.webkit.org/show_bug.cgi?id=174472

        Unreviewed test gardening.

        * platform/ios-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-17  Chris Dumez  <cdumez@apple.com>

        fast/workers/worker-user-gesture.html crashes on iOS
        https://bugs.webkit.org/show_bug.cgi?id=174592

        Reviewed by Simon Fraser.

        Make sure the tap/click event is fully processed before finishing the test by using
        the promise returned by UIHelper.activateAt().

        * fast/workers/worker-user-gesture.html:

2017-07-17  Simon Fraser  <simon.fraser@apple.com>

        clientX/clientY on TouchEvent.touches are wrong
        https://bugs.webkit.org/show_bug.cgi?id=174561

        Reviewed by Tim Horton.

        * fast/events/touch/ios/touches-client-coords-after-zoom-expected.txt: Added.
        * fast/events/touch/ios/touches-client-coords-after-zoom.html: Added.

2017-07-17  Chris Dumez  <cdumez@apple.com>

        click event does not dispatch to parent when child target stops hit testing after mousedown
        https://bugs.webkit.org/show_bug.cgi?id=174564
        <rdar://problem/33340234>

        Reviewed by Simon Fraser.

        Add layout test coverage.

        * fast/events/mouse-click-different-mouseDown-mouseUp-nodes-expected.txt: Added.
        * fast/events/mouse-click-different-mouseDown-mouseUp-nodes.html: Added.

2017-07-17  Antoine Quint  <graouts@apple.com>

        REGRESSION: order of AirPlay and volume controls is inconsistent between <audio> and <video>
        https://bugs.webkit.org/show_bug.cgi?id=174581
        <rdar://problem/33297519>

        Reviewed by Sam Weinig.

        Update the audio controls layout test to match the new expectations.

        * media/modern-media-controls/audio/audio-controls-buttons-expected.txt:
        * media/modern-media-controls/audio/audio-controls-buttons.html:

2017-07-17  Antoine Quint  <graouts@apple.com>

        Media controls draw behind captions
        https://bugs.webkit.org/show_bug.cgi?id=174579
        <rdar://problem/33295427>

        Reviewed by Dean Jackson.

        Add a new test that checks the order in which order the captions and controls containers appear
        under the media shadow root.

        * media/modern-media-controls/media-controls/media-controls-display-above-captions-expected.txt: Added.
        * media/modern-media-controls/media-controls/media-controls-display-above-captions.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-16  Antoine Quint  <graouts@apple.com>

        Dismissing the captions panel using the mouse is too eager to remove the captions panel and media controls
        https://bugs.webkit.org/show_bug.cgi?id=174571
        <rdar://problem/33294968>

        Reviewed by Eric Carlson.

        Adding a method to show the tracks panel for a given shadow root and adding new tests to check the correct
        behavior when dismissing the tracks panel when clicking over the media element or outside the media element
        when it's paused.

        * media/modern-media-controls/resources/media-controls-utils.js:
        (pressOnElement):
        (pressAtPoint):
        (showTracksPanel):
        (finishMediaControlsTest): Deleted.
        * media/modern-media-controls/tracks-panel/tracks-panel-up-click-outside-media-does-not-dimiss-media-controls-when-media-is-paused-expected.txt: Added.
        * media/modern-media-controls/tracks-panel/tracks-panel-up-click-outside-media-does-not-dimiss-media-controls-when-media-is-paused.html: Added.
        * media/modern-media-controls/tracks-panel/tracks-panel-up-click-over-media-does-not-dimiss-media-controls-when-media-is-playing-expected.txt: Added.
        * media/modern-media-controls/tracks-panel/tracks-panel-up-click-over-media-does-not-dimiss-media-controls-when-media-is-playing.html: Added.
        * platform/mac/TestExpectations:

2017-07-16  Ali Juma  <ajuma@chromium.org>

        DisallowUserAgentShadowContent moves out of non-UA shadow roots
        https://bugs.webkit.org/show_bug.cgi?id=165647

        Reviewed by Ryosuke Niwa.

        * fast/dom/nodesFromRect/nodesFromRect-shadow-expected.txt: Added.
        * fast/dom/nodesFromRect/nodesFromRect-shadow.html: Added.
        * fast/dom/nodesFromRect/resources/nodesFromRect.js:
        (check):
        (checkShadowContent):
        (nodesFromRectAsString):

2017-07-16  Antoine Quint  <graouts@apple.com>

        Clicking edges of media control buttons changes visual state of button (pressed) but doesn't execute action
        https://bugs.webkit.org/show_bug.cgi?id=174565
        <rdar://problem/33294833>

        Reviewed by Dean Jackson.

        Add a new test where we click on the edge of a button and check that we trigger the Button's
        UI delegate. This test fails prior to this patch.

        * media/modern-media-controls/button/button-click-on-edges-expected.txt: Added.
        * media/modern-media-controls/button/button-click-on-edges.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-07-15  Myles C. Maxfield  <mmaxfield@apple.com>

        line-height: <number> gets visually applied twice when text autosizing is in effect
        https://bugs.webkit.org/show_bug.cgi?id=174536
        <rdar://problem/33338259>

        Reviewed by Simon Fraser.

        * fast/text-autosizing/line-height-number-expected.html: Added.
        * fast/text-autosizing/line-height-number.html: Added.

2017-07-14  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyRSA PKCS#8 exports
        https://bugs.webkit.org/show_bug.cgi?id=173697

        Reviewed by Jiewen Tan.

        * platform/gtk/TestExpectations: Unskip the RSA PKCS#8 export tests

2017-07-14  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyRSA PKCS#8 imports
        https://bugs.webkit.org/show_bug.cgi?id=173696

        Reviewed by Jiewen Tan.

        * platform/gtk/TestExpectations: Unskip the RSA PKCS#8 import tests
        that are now passing.

2017-07-14  Chris Dumez  <cdumez@apple.com>

        Possible crash in ~UserGestureIndicator() when on non-main thread
        https://bugs.webkit.org/show_bug.cgi?id=174522
        <rdar://problem/30283071>

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fast/workers/worker-user-gesture-expected.txt: Added.
        * fast/workers/worker-user-gesture.html: Added.
        * fast/workers/worker-user-gesture.js: Added.
        (setInterval):

2017-07-14  Daniel Bates  <dabates@apple.com>

        REGRESSION (r219013): Compute source frame info for frameless document
        https://bugs.webkit.org/show_bug.cgi?id=174385
        <rdar://problem/33217736>

        Reviewed by Brady Eidson.

        * http/tests/navigation/resources/window-open-redirect-and-remove-opener.html: Added.
        * http/tests/navigation/window-open-redirect-and-remove-opener-expected.txt: Added.
        * http/tests/navigation/window-open-redirect-and-remove-opener.html: Added.

2017-07-14  Matt Lewis  <jlewis3@apple.com>

        Fixed expectations after Mac expectation change.
        https://trac.webkit.org/changeset/219507/webkit

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-07-14  Youenn Fablet  <youenn@apple.com>

        WebRTC: silence data not sent for disabled audio track
        https://bugs.webkit.org/show_bug.cgi?id=174456
        <rdar://problem/33284623>

        Reviewed by Eric Carlson.

        * webrtc/audio-muted-stats-expected.txt: Added.
        * webrtc/audio-muted-stats.html: Added.
        * webrtc/audio-muted-stats2-expected.txt: Added.
        * webrtc/audio-muted-stats2.html: Added.

2017-07-14  Jonathan Bedard  <jbedard@apple.com>

        Add High Sierra test expectations
        https://bugs.webkit.org/show_bug.cgi?id=174518
        <rdar://problem/32716970>

        Unreviewed test gardening.

        * platform/mac-highsierra: Added.
        * platform/mac-highsierra-wk1: Added.
        * platform/mac-highsierra-wk2: Added.

2017-07-14  Jer Noble  <jer.noble@apple.com>

        [MSE] Removing samples when presentation order does not match decode order can cause bad behavior.
        https://bugs.webkit.org/show_bug.cgi?id=174514

        Reviewed by Sam Weinig.

        * media/media-source/media-source-remove-decodeorder-crash-expected.txt: Added.
        * media/media-source/media-source-remove-decodeorder-crash.html: Added.

2017-07-14  Matt Lewis  <jlewis3@apple.com>

        Correcting test expectations after mac-expectation changes.
        https://bugs.webkit.org/show_bug.cgi?id=174472

        Unreviews test gardening.

        * platform/mac/TestExpectations:

2017-07-14  Jer Noble  <jer.noble@apple.com>

        Adding the 'autoplay' attribute to a media element during a user gesture should remove user gesture restrictions.
        https://bugs.webkit.org/show_bug.cgi?id=174373

        Reviewed by Eric Carlson.

        * media/video-add-autoplay-user-gesture-expected.txt: Added.
        * media/video-add-autoplay-user-gesture.html: Added.
        * media/platform/ios/TestExpectations: Skipped; requires EventSender.

2017-07-14  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219500.

        The test is consistently failing on iOS simulator.

        Reverted changeset:

        "AX: VoiceOver silent or skipping over time values on media
        player."
        https://bugs.webkit.org/show_bug.cgi?id=174324
        http://trac.webkit.org/changeset/219500

2017-07-14  Jonathan Bedard  <jbedard@apple.com>

        Add script to rebase patches during the WebKit2->WebKit/WebKit->WebKitLegacy transition
        https://bugs.webkit.org/show_bug.cgi?id=174438
        <rdar://problem/33277112>

        Reviewed by David Kilzer.

        * platform/mac-wk2/TestExpectations: Move skipped tests because of webkit.org/b/174504. 
        * platform/wk2/TestExpectations: Ditto.

2017-07-14  Fujii Hironori  <Hironori.Fujii@sony.com>

        [HarfBuzz] Decomposed Vietnamese characters are rendered incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=174418

        Reviewed by Michael Catanzaro.

        * fast/text/international/vietnamese-nfd-expected.html: Added.
        * fast/text/international/vietnamese-nfd.html: Added.

2017-07-14  Aaron Chu  <aaron_chu@apple.com>

        AX: VoiceOver silent or skipping over time values on media player.
        https://bugs.webkit.org/show_bug.cgi?id=174324
        <rdar://problem/32021784>

        Reviewed by Antoine Quint.

        Added role attribute to modern media controls time lable class so that VoiceOver can access the time label when the media is playing.

        * media/modern-media-controls/time-label/time-label-expected.txt:
        * media/modern-media-controls/time-label/time-label.html:

2017-07-13  Matt Lewis  <jlewis3@apple.com>

        Skipped multiple http/tests/webrtc/ test on iOS simulator.
        https://bugs.webkit.org/show_bug.cgi?id=173861

        Unreviewed test gardening.
        * platform/ios-simulator-wk2/TestExpectations:

2017-07-13  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=173487

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2017-07-13  Matt Lewis  <jlewis3@apple.com>

        Skipping media/video-source-before-src.html.
        https://bugs.webkit.org/show_bug.cgi?id=174284

        Unreviewed test gardening.

        * TestExpectations:

2017-07-13  Antoine Quint  <graouts@apple.com>

        REGRESSION: "visibility:hidden" does not hide play button for video elements
        ​https://bugs.webkit.org/show_bug.cgi?id=174258
        <rdar://problem/33181452>

        Unreviewed test gardening.

        Add a missing expectation file which is designed to be empty and is now just a space.

        * media/modern-media-controls/css/visibility-hidden-expected.html: Added.

2017-07-13  Alex Christensen  <achristensen@webkit.org>

        Deleting last URLSearchParams key should remove trailing ? in associated URL
        https://bugs.webkit.org/show_bug.cgi?id=174465

        Reviewed by Chris Dumez.

        * fast/dom/DOMURL/searchparams-expected.txt:
        * fast/dom/DOMURL/searchparams.html:

2017-07-13  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests failing at r219449.

        * platform/gtk/TestExpectations:

2017-07-13  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyRSA SPKI exports
        https://bugs.webkit.org/show_bug.cgi?id=173695

        Reviewed by Jiewen Tan.

        * platform/gtk/TestExpectations: Unskip the RSA SPKI export tests
        that are now passing.

2017-07-13  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyRSA SPKI imports
        https://bugs.webkit.org/show_bug.cgi?id=173694

        Reviewed by Jiewen Tan.

        * platform/gtk/TestExpectations: Unskip the RSA SPKI import tests
        that are now passing.

2017-07-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        REGRESSION(r219332): [GTK] 9 new failures on fast/forms spinbutton related tests
        https://bugs.webkit.org/show_bug.cgi?id=174395

        Reviewed by Carlos Garcia Campos.

        * fast/forms/number/number-spinbutton-in-multi-column.html: Instead of assuming that the width will be 100, calculate a -7 offset dinamically.
        * platform/gtk/TestExpectations: Remove expected failures now orking.
        * platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.png: Rebaseline.
        * platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.txt: Rebaseline.

2017-07-13  Caio Lima  <ticaiolima@gmail.com>

        [ESnext] Implement Object Spread
        https://bugs.webkit.org/show_bug.cgi?id=167963

        Reviewed by Saam Barati.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2017-07-12  Nan Wang  <n_wang@apple.com>

        AX: [iOS] Implement a way to retrieve a text marker range with desired text that is closest to a position
        https://bugs.webkit.org/show_bug.cgi?id=174393
        <rdar://problem/33248006>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/text-marker-range-matches-text-expected.txt: Added.
        * accessibility/ios-simulator/text-marker-range-matches-text.html: Added.

2017-07-12  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219409.

        The revision caused the Windows builds to fail.

        Reverted changeset:

        "AX: [iOS] Implement a way to retrieve a text marker range
        with desired text that is closest to a position"
        https://bugs.webkit.org/show_bug.cgi?id=174393
        http://trac.webkit.org/changeset/219409

2017-07-12  Commit Queue  <commit-queue@webkit.org>

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

        Huge PLUM memory regression on iOS (Requested by kling on
        #webkit).

        Reverted changeset:

        "[WebIDL] Convert MutationCallback to be a normal generate
        callback"
        https://bugs.webkit.org/show_bug.cgi?id=174140
        http://trac.webkit.org/changeset/219361

2017-07-12  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] a capture source failure should end the MediaStreamTrack
        https://bugs.webkit.org/show_bug.cgi?id=174375

        Reviewed by Youenn Fablet.

        * fast/mediastream/media-stream-track-source-failure-expected.txt: Added.
        * fast/mediastream/media-stream-track-source-failure.html: Added.

2017-07-12  Antoine Quint  <graouts@apple.com>

        Playback controls should not hide while AirPlay is active
        https://bugs.webkit.org/show_bug.cgi?id=174422
        <rdar://problem/33011477>

        Reviewed by Eric Carlson.

        Expand the existing AirPlaySupport test to check that when we enter AirPlay we correctly prevent
        the media controls from automatically hiding.

        * media/modern-media-controls/airplay-support/airplay-support-expected.txt:
        * media/modern-media-controls/airplay-support/airplay-support.html:

2017-07-12  Nan Wang  <n_wang@apple.com>

        AX: [iOS] Implement a way to retrieve a text marker range with desired text that is closest to a position
        https://bugs.webkit.org/show_bug.cgi?id=174393
        <rdar://problem/33248006>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/text-marker-range-matches-text-expected.txt: Added.
        * accessibility/ios-simulator/text-marker-range-matches-text.html: Added.

2017-07-12  Per Arne Vollan  <pvollan@apple.com>

        Skip WebRTC tests on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2017-07-12  Matt Lewis  <jlewis3@apple.com>

        Rebaseline of test fast/dom/Window/property-access-on-cached-window-after-frame-removed.html.
        https://bugs.webkit.org/show_bug.cgi?id=174400

        Unreviewed test gardening.

        * fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt:

2017-07-12  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219401.

        This revision rolled out the previous patch, but after talking
        with reviewer, a rebaseline is what was needed.Rolling back in
        before rebaseline.

        Reverted changeset:

        "Unreviewed, rolling out r219379."
        https://bugs.webkit.org/show_bug.cgi?id=174400
        http://trac.webkit.org/changeset/219401

2017-07-12  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219379.

        This revision caused a consistent failure in the test
        fast/dom/Window/property-access-on-cached-window-after-frame-
        removed.html.

        Reverted changeset:

        "Remove NAVIGATOR_HWCONCURRENCY"
        https://bugs.webkit.org/show_bug.cgi?id=174400
        http://trac.webkit.org/changeset/219379

2017-07-12  Charlie Turner  <cturner@igalia.com>

        [GTK] Media test gardening after r219253
        https://bugs.webkit.org/show_bug.cgi?id=174254

        Unreviewed test gardening.

        video-cookie was fixed by r219252.
        media/video-restricted-no-preload-metadata.html been passing consistently.

        * platform/gtk/TestExpectations:

2017-07-12  Tooru Fujisawa [:arai]  <arai.unmht@gmail.com>

        Wrong radix used in Unicode Escape in invalid character error message
        https://bugs.webkit.org/show_bug.cgi?id=174419

        Reviewed by Alex Christensen.

        * fast/loader/cache-encoding-expected.txt:
        * http/tests/preload/preload-encoding-expected.txt:
        * js/basic-strict-mode-expected.txt:
        * js/kde/parse-expected.txt:
        * loader/reload-subresource-when-type-changes-expected.txt:
        * platform/ios/imported/w3c/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003-expected.txt:
        * platform/ios/imported/w3c/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004-expected.txt:

2017-07-12  Youenn Fablet  <youenn@apple.com>

        WebRTC: Incorrect sdpMLineIndex for video breaks Firefox interop
        https://bugs.webkit.org/show_bug.cgi?id=173530

        Reviewed by Alex Christensen.

        * webrtc/ice-candidate-sdpMLineIndex-expected.txt: Added.
        * webrtc/ice-candidate-sdpMLineIndex.html: Added.

2017-07-12  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyEC PKCS#8 exports
        https://bugs.webkit.org/show_bug.cgi?id=173648

        Reviewed by Jiewen Tan.

        * platform/gtk/TestExpectations: Unskip the EC PKCS#8 export tests
        that are now passing.

2017-07-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        REGRESSION(r219332): [GTK] 9 new failures on fast/forms spinbutton related tests.
        https://bugs.webkit.org/show_bug.cgi?id=174395

        Unreviewed GTK gardening.

        * platform/gtk/TestExpectations: Mark the new failures. Further investigation pending.

2017-07-11  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION(r219045): The <body> element does not get repainted when its background image finishes decoding
        https://bugs.webkit.org/show_bug.cgi?id=174376

        Reviewed by Simon Fraser.

        * fast/images/async-image-body-background-image-expected.html: Added.
        * fast/images/async-image-body-background-image.html: Added.

2017-07-11  Youenn Fablet  <youenn@apple.com>

        We should do ICE candidate filtering at the Document level
        https://bugs.webkit.org/show_bug.cgi?id=173861
        <rdar://problem/33122058>

        Unreviewed.

        * resources/testharnessreport.js: Not calling setICECandidateFiltering if not defined.

2017-07-10  Sam Weinig  <sam@webkit.org>

        [WebIDL] Convert MutationCallback to be a normal generate callback
        https://bugs.webkit.org/show_bug.cgi?id=174140

        Reviewed by Chris Dumez.

        * fast/dom/MutationObserver/mutation-observer-constructor-expected.txt:
        Update results for standard error messages.

2017-07-11  Chris Dumez  <cdumez@apple.com>

        Window's [[OwnPropertyKeys]] is wrong for cross origin windows
        https://bugs.webkit.org/show_bug.cgi?id=174364
        <rdar://problem/33238056>

        Reviewed by Brent Fulgham.

        Update test to reflect behavior change. I verified that the test is passing in Firefox.
        The test fails in Chrome because its does not expose frames indexes on the Window, and
        it is incorrectly listing "assign" on Location.

        * http/tests/security/cross-frame-access-enumeration.html:

2017-07-11  Charlie Turner  <cturner@igalia.com>

        [GTK] editing/input new passes since r211277
        https://bugs.webkit.org/show_bug.cgi?id=160119

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-07-11  Brent Fulgham  <bfulgham@apple.com>

        Reset cookie partitioning state after network process crashes
        https://bugs.webkit.org/show_bug.cgi?id=174306
        <rdar://problem/33171605>

        Reviewed by Chris Dumez.

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html: Added.
        * http/tests/loading/resourceLoadStatistics/resources/get-cookies.php:
        * http/tests/loading/resourceLoadStatistics/resources/set-cookie.php:

2017-07-11  Charlie Turner  <cturner@igalia.com>

        REGRESSION(r219298): [GTK] imported/w3c/IndexedDB-private-browsing/idbfactory_open.html is crashing occassionaly
        https://bugs.webkit.org/show_bug.cgi?id=174354

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-07-11  Charlie Turner  <cturner@igalia.com>

        [GTK][WPE] Some resource load statistics tests added in r212183 also fail.
        https://bugs.webkit.org/show_bug.cgi?id=168171

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-07-11  Ali Juma  <ajuma@chromium.org>

        elementFromPoint() should consider x and y to be in client (layout viewport) coordinates
        https://bugs.webkit.org/show_bug.cgi?id=172019

        Reviewed by Simon Fraser.

        * fast/dom/elementFromPoint-scaled-scrolled-expected.txt: Updated.
        * fast/dom/elementFromPoint-scaled-scrolled.html: Updated.
        * platform/ios/TestExpectations:

2017-07-11  Charlie Turner  <cturner@igalia.com>

        [GTK] compositing/video/poster.html passing since r218320
        https://bugs.webkit.org/show_bug.cgi?id=169918

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-07-11  Sergio Villar Senin  <svillar@igalia.com>

        [SVG] Leak in SVGAnimatedListPropertyTearOff
        https://bugs.webkit.org/show_bug.cgi?id=172545

        Reviewed by Darin Adler.

        * svg/animations/animation-leak-list-property-instances-expected.txt: Added.
        * svg/animations/animation-leak-list-property-instances.html: Added.

2017-07-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Spin buttons on input type number appear over the value itself for small widths
        https://bugs.webkit.org/show_bug.cgi?id=173572

        Reviewed by Carlos Garcia Campos.

        * fast/forms/number/number-size-expected.txt:
        * fast/forms/number/number-size.html: Obtain the size of the spinbutton by inspecting the shadow dom (is more reliable)
          and make the test for user controlled style special for the case of GTK+.
        * platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.png: Added.
        * platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.txt: Added.
        * platform/gtk/fast/forms/number/number-size-spinbutton-nocover.html: Added.

2017-07-11  Youenn Fablet  <youenn@apple.com>

        We should do ICE candidate filtering at the Document level
        https://bugs.webkit.org/show_bug.cgi?id=173861
        <rdar://problem/33122058>

        Reviewed by Eric Carlson.

        * http/tests/webrtc/filtering-ice-candidate-cross-origin-frame-expected.txt: Added.
        * http/tests/webrtc/filtering-ice-candidate-cross-origin-frame.html: Added.
        * http/tests/webrtc/filtering-ice-candidate-same-origin-frame-expected.txt: Added.
        * http/tests/webrtc/filtering-ice-candidate-same-origin-frame.html: Added.
        * http/tests/webrtc/filtering-ice-candidate-same-origin-frame2-expected.txt: Added.
        * http/tests/webrtc/filtering-ice-candidate-same-origin-frame2.html: Added.
        * http/tests/webrtc/resources/check-ice-candidate-filtering.html: Added.
        * http/tests/webrtc/resources/do-get-user-media.html: Added.
        * platform/mac-wk1/TestExpectations: Disable http/tests/webrtc tests.
        * resources/testharnessreport.js: Disabled ICE candidate filtering by default.
        * webrtc/filtering-ice-candidate-after-reload-expected.txt: Added.
        * webrtc/filtering-ice-candidate-after-reload.html: Added.

2017-07-11  Sergio Villar Senin  <svillar@igalia.com>

        Unreviewed, rolling out r219325.

        The test is still flaky

        Reverted changeset:

        "[SVG] Leak in SVGAnimatedListPropertyTearOff"
        https://bugs.webkit.org/show_bug.cgi?id=172545
        http://trac.webkit.org/changeset/219325

2017-07-11  Charlie Turner  <cturner@igalia.com>

        [GTK] media/video-restricted-invisible-autoplay-not-allowed.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=174353

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:

2017-07-11  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations:
        Enable EMEv3 tests under media/encrypted-media/, all of them passing.

2017-07-10  Brent Fulgham  <bfulgham@apple.com>

        Reset cookie partitioning state after network process crashes
        https://bugs.webkit.org/show_bug.cgi?id=174306
        <rdar://problem/33171605>

        Reviewed by Daniel Bates.

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt: Rebaselined.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Rebaselined.
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Rebaselined.
        * http/tests/loading/resourceLoadStatistics/resources/get-cookies.php:
        * http/tests/loading/resourceLoadStatistics/resources/set-cookie.php:

2017-07-10  Brent Fulgham  <bfulgham@apple.com>

        Reset cookie partitioning state after network process crashes
        https://bugs.webkit.org/show_bug.cgi?id=174306
        <rdar://problem/33171605>

        Reviewed by Daniel Bates.

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt: Rebaselined.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Rebaselined.
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Rebaselined.
        * http/tests/loading/resourceLoadStatistics/resources/get-cookies.php:
        * http/tests/loading/resourceLoadStatistics/resources/set-cookie.php:

2017-07-10  Brent Fulgham  <bfulgham@apple.com>

        Resource Load Statistics: Prune statistics in orders of importance
        https://bugs.webkit.org/show_bug.cgi?id=174215
        <rdar://problem/33164403>

        Unreviewed test correction.

        Drive-by fix after recent refactoring to correct the new function names in TestRunner.

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:

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

        [WK2 iOS] REGRESSION (r216803) During momentum scroll, getBoundingClientRect returns wrong coordinates (missing images on pinterest, elle.com and many other sites)
        https://bugs.webkit.org/show_bug.cgi?id=174286
        rdar://problem/32864180

        Reviewed by Dean Jackson.

        * fast/visual-viewport/ios/get-bounding-client-rect-unstable-expected.txt: Added.
        * fast/visual-viewport/ios/get-bounding-client-rect-unstable.html: Added.

2017-07-10  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Prune statistics in orders of importance
        https://bugs.webkit.org/show_bug.cgi?id=174215
        <rdar://problem/33164403>

        Reviewed by Chris Dumez.

        * http/tests/loading/resourceLoadStatistics/prune-statistics-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/prune-statistics.html: Added.
        * platform/wk2/TestExpectations:
            Added http/tests/loading/resourceLoadStatistics/prune-statistics.html as
            [ Pass ] since Resource Load Statistics is WK2-only.

2017-07-10  Devin Rousso  <drousso@apple.com>

        Web Inspector: Highlight matching CSS canvas clients when hovering contexts in the Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=174279

        Reviewed by Matt Baker.

        * inspector/dom/highlightNodeList-expected.html: Added.
        * inspector/dom/highlightNodeList.html: Added.

2017-07-10  Javier Fernandez  <jfernandez@igalia.com>

        [css-align][css-flex][css-grid] 'auto' values of align-self and justify-self must not be resolved
        https://bugs.webkit.org/show_bug.cgi?id=172707

        Reviewed by Antti Koivisto.

        Updated layout tests so that resolved value is as specified, even for 'auto' values.

        * TestExpectations:
        * css3/flexbox/css-properties-expected.txt:
        * css3/flexbox/css-properties.html:
        * css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled-expected.txt:
        * css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html:
        * css3/parse-align-self.html:
        * css3/parse-alignment-of-root-elements-expected.txt:
        * css3/parse-alignment-of-root-elements.html:
        * css3/parse-place-items.html:
        * css3/parse-place-self.html:
        * fast/css/ensure-flexbox-compatibility-with-initial-values-expected.txt:
        * fast/css/parse-justify-self.html:

2017-07-10  Myles C. Maxfield  <mmaxfield@apple.com>

        fast/text/trak-optimizeLegibility.html is failing on macOS High Sierra
        https://bugs.webkit.org/show_bug.cgi?id=174325
        <rdar://problem/33190322>

        Reviewed by Zalan Bujtas.

        The name of the font changed.

        * fast/text/trak-optimizeLegibility.html:

2017-07-10  Youenn Fablet  <youenn@apple.com>

        Update webrtc expectations
        https://bugs.webkit.org/show_bug.cgi?id=174318

        Unreviewed.

        Updated expectation according flakiness dashboard information.

        * TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/wk2/TestExpectations:

2017-07-10  Wenson Hsieh  <wenson_hsieh@apple.com>

        [WK2] Ignore touch events that interrupt platform-driven momentum scrolling
        https://bugs.webkit.org/show_bug.cgi?id=174300
        <rdar://problem/33030639>

        Reviewed by Simon Fraser.

        Adds 3 new LayoutTests covering cases of touch event handling during scroll deceleration in mainframe and
        overflow scrolling containers. See Source/WebKit2/ChangeLog for more detail.

        * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt: Added.
        * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe.html: Added.
        * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow-expected.txt: Added.
        * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html: Added.
        * fast/events/ios/touch-events-during-scroll-deceleration-in-overflow-expected.txt: Added.
        * fast/events/ios/touch-events-during-scroll-deceleration-in-overflow.html: Added.

2017-07-10  Matt Lewis  <jlewis3@apple.com>

        Marked animations/resume-after-page-cache.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=174183

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2017-07-10  Jeremy Jones  <jeremyj@apple.com>

        media element handle adding source immediately before src.
        https://bugs.webkit.org/show_bug.cgi?id=174284
        rdar://problem/33115439

        Reviewed by David Kilzer.

        * media/video-source-before-src.html: Added.

2017-07-10  Matt Lewis  <jlewis3@apple.com>

        Fixed test expectations for http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
        https://bugs.webkit.org/show_bug.cgi?id=174120

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-07-03  Brian Burg  <bburg@apple.com>

        Web Replay: remove some unused code
        https://bugs.webkit.org/show_bug.cgi?id=173903

        Rubber-stamped by Joseph Pecoraro.

        * inspector/replay/javascript-date-now-expected.txt: Removed.
        * inspector/replay/javascript-date-now.html: Removed.
        * inspector/replay/javascript-random-seed-expected.txt: Removed.
        * inspector/replay/javascript-random-seed.html: Removed.
        * inspector/replay/window-navigator-plugins-memoized-expected.txt: Removed.
        * inspector/replay/window-navigator-plugins-memoized.html: Removed.

2017-07-10  Matt Lewis  <jlewis3@apple.com>

        Skipped http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
        https://bugs.webkit.org/show_bug.cgi?id=174120

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-07-10  Chris Dumez  <cdumez@apple.com>

        Further WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore clean up
        https://bugs.webkit.org/show_bug.cgi?id=174301

        Reviewed by Brent Fulgham.

        Update existing layout tests to reflect testRunner API changes.

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:

2017-07-10  Andreas Kling  <akling@apple.com>

        REGRESSION(r210226): Keyboard-focused element not preserved when navigating back through page cache, causing multiple elements to have focus
        https://bugs.webkit.org/show_bug.cgi?id=174302
        <rdar://problem/33204273>

        Reviewed by Antti Koivisto.

        * fast/history/page-cache-element-state-focused-expected.html: Added.
        * fast/history/page-cache-element-state-focused.html: Added.

2017-07-10  Zalan Bujtas  <zalan@apple.com>

        Block of text is missing in iBooks sample books.
        https://bugs.webkit.org/show_bug.cgi?id=174295
        <rdar://problem/32955620>

        Reviewed by Antti Koivisto.

        * fast/multicol/simple-line-layout-line-index-after-strut-2-expected.html: Added.
        * fast/multicol/simple-line-layout-line-index-after-strut-2.html: Added.

2017-07-08  John Wilander  <wilander@apple.com>

        Resource Load Statistics: User interaction should always go to top document
        https://bugs.webkit.org/show_bug.cgi?id=174120
        <rdar://problem/33117899>

        Reviewed by Chris Dumez.

        * http/tests/loading/resourceLoadStatistics/resources/dummy.html: Added.
        * http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html: Added.
        * platform/mac-wk2/TestExpectations:
            Added as [ Pass ].

2017-07-08  Antoine Quint  <graouts@apple.com>

        REGRESSION: "visibility:hidden" does not hide play button for video elements
        https://bugs.webkit.org/show_bug.cgi?id=174258
        <rdar://problem/33181452>

        Reviewed by Dean Jackson.

        Add a test that checks that <video controls style="visibility:hidden"> does not render anything.

        * media/modern-media-controls/css/visibility-hidden-expected.html: Added.
        * media/modern-media-controls/css/visibility-hidden.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-08  Chris Dumez  <cdumez@apple.com>

        Simplify WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore
        https://bugs.webkit.org/show_bug.cgi?id=174290

        Reviewed by Brent Fulgham.

        Update layout tests to reflect changes to the testRunner API naming.

        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html:
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html:
        * http/tests/loading/resourceLoadStatistics/grandfathering.html:
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html:
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/telemetry-generation.html:

2017-07-07  Daniel Bates  <dabates@apple.com>

        [AppCache] Ignore fallback entries whose namespace is not prefixed with manifest path
        https://bugs.webkit.org/show_bug.cgi?id=174273
        <rdar://problem/33011682>

        Reviewed by Brent Fulgham.

        * http/tests/appcache/fallback-namespace-outside-manifest-path-expected.txt: Added.
        * http/tests/appcache/fallback-namespace-outside-manifest-path.html: Added.
        * http/tests/appcache/resources/fallback-namespace-outside-manifest-path.txt: Added.

2017-07-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Show all elements currently using a given CSS Canvas
        https://bugs.webkit.org/show_bug.cgi?id=173965

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/css-canvas-clients-expected.txt: Added.
        * inspector/canvas/css-canvas-clients.html: Added.
        * platform/mac/TestExpectations:

2017-07-07  Matt Lewis  <jlewis3@apple.com>

        Adjusted test expectations for webrtc/video-replace-muted-track.html.
        https://bugs.webkit.org/show_bug.cgi?id=173608

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-07-07  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219257.

        The test added in the revision was still extreamly flaky on
        all testers.

        Reverted changeset:

        "[SVG] Leak in SVGAnimatedListPropertyTearOff"
        https://bugs.webkit.org/show_bug.cgi?id=172545
        http://trac.webkit.org/changeset/219257

2017-07-07  Mark Lam  <mark.lam@apple.com>

        \n\r is not the same as \r\n.
        https://bugs.webkit.org/show_bug.cgi?id=173053

        Reviewed by Keith Miller.

        * js/parse-backslash-before-newline-expected.txt:
        * js/script-tests/parse-backslash-before-newline.js:

2017-07-07  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219256.

        Previous change to Test Expectations broke the tests

        Reverted changeset:

        "[WPE] Unreviewed gardening"
        http://trac.webkit.org/changeset/219256

2017-07-07  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219258.

        Previous change to Test Expectations broke the tests

        Reverted changeset:

        "Unreviewed gardening, fix WK2 expectations after my previous
        commit"
        http://trac.webkit.org/changeset/219258

2017-07-07  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed gardening, fix WK2 expectations after my previous commit

        * platform/wk2/TestExpectations:

2017-07-07  Michael Catanzaro  <mcatanzaro@igalia.com>

        [WPE] Unreviewed gardening

        * platform/wk2/TestExpectations: Do not mark individual resourceLoadStatistics tests as
        passing. Instead, mark the entire directory, so we don't have to override the expectations
        for every single test individually in the WPE expectations file.
        * platform/wpe/TestExpectations: Update resourceLoadStatistics expectations.

2017-07-07  Yusuke Suzuki  <utatane.tea@gmail.com>

        [GTK][WPE] Enable X-Content-Type-Options: nosniff
        https://bugs.webkit.org/show_bug.cgi?id=174250

        Reviewed by Carlos Alberto Lopez Perez.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/fetch/nosniff/stylesheet-expected.txt: Removed.

2017-07-07  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] New baseline after r218740

        Unreviewed gardening.
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-07-07  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Unreviewed gardening

        resourceLoadingStatistics tests are timing out and failing.
        * platform/wpe/TestExpectations:

2017-07-07  Charlie Turner  <cturner@igalia.com>

        [GStreamer] vid.me videos do not play
        https://bugs.webkit.org/show_bug.cgi?id=172240

        Reviewed by Xabier Rodriguez-Calvar.

        Add a test for single output file HLS playlists that require HTTP
        range requests to playback. This failed using the WK http source
        for reasons documented in the linked bug.

        Generated with mp4hls --segment-duration 3 --output-single-file

        * Http/tests/media/hls/range-request-expected.txt: Added.
        * http/tests/media/hls/range-request.html: Added.
        * http/tests/media/resources/hls/range-request-playlist.m3u8: Added.
        * http/tests/media/resources/hls/range-request-playlists/iframes.m3u8: Added.
        * http/tests/media/resources/hls/range-request-playlists/media.ts: Added.
        * http/tests/media/resources/hls/range-request-playlists/stream.m3u8: Added.

2017-07-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK and WPE test gardening

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https-expected.txt:
        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https-expected.txt:

2017-07-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        Follow-up to "REGRESSION(r209495): materiauxlaverdure.com fails to load"
        https://bugs.webkit.org/show_bug.cgi?id=173301
        <rdar://problem/32624850>

        Unreviewed gardening. Attempt to fix this test by updating it to expect double quotes. It
        was missed because it is marked as flaky on Mac, so no way to automatically detect the
        failure there.

        This doesn't actually fix the test for me due to some floating point issues, but it's a step
        in the right direction, and I speculate this will fix the test on the GTK and WPE bots.

        * transitions/clip-path-path-transitions.html:

2017-07-06  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r216944): Font loads can cause Chinese characters to draw as .notdef
        https://bugs.webkit.org/show_bug.cgi?id=173962
        <rdar://problem/32925318>

        Reviewed by Simon Fraser.

        * fast/text/font-loading-system-fallback-expected.html: Added.
        * fast/text/font-loading-system-fallback.html: Added.
        * http/tests/webfont/font-loading-system-fallback-visibility-expected.html: Added.
        * http/tests/webfont/font-loading-system-fallback-visibility.html: Added.

2017-07-06  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219193.

        The tests added with this revision were extreamly flaky on all
        platforms.

        Reverted changeset:

        "[SVG] Leak in SVGAnimatedListPropertyTearOff"
        https://bugs.webkit.org/show_bug.cgi?id=172545
        http://trac.webkit.org/changeset/219193

2017-07-06  Matt Lewis  <jlewis3@apple.com>

        Marked js/slow-stress/Int32Array-alloc-huge.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173010

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2017-07-06  Devin Rousso  <drousso@apple.com>

        Web Inspector: Support getting the content of WebGL/WebGL2 contexts
        https://bugs.webkit.org/show_bug.cgi?id=173569
        <rdar://problem/33112420>

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/requestContent-2d-expected.txt: Added.
        * inspector/canvas/requestContent-2d.html: Added.
        * inspector/canvas/requestContent-webgl-expected.txt: Added.
        * inspector/canvas/requestContent-webgl.html: Added.
        * inspector/canvas/requestContent-webgl2-expected.txt: Added.
        * inspector/canvas/requestContent-webgl2.html: Added.
        * inspector/canvas/requestContent-expected.txt: Removed.
        * inspector/canvas/requestContent.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/win/TestExpectations:
        Split the existing canvas content tests into one for each context type. This allows
        platforms that don't support certain context types to ignore just those tests (e.g. WebGL2).

2017-07-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Layout test gardening.

        Unreviewed.

        * platform/gtk/TestExpectations: Update WebRTC related expectations and mark a new emoji related test failing after r218371.
        * platform/gtk/fast/css/css2-system-fonts-expected.txt: Rebaseline after r218446.
        * platform/gtk/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Removed. Rebaseline after r218446 (use the general expectation).
        * platform/gtk/fast/text/font-stretch-parse-expected.txt: Removed. Rebaseline after r218446 (use the general expectation).
        * platform/gtk/fast/text/font-style-parse-expected.txt: Removed. Rebaseline after r218446 (use the general expectation).
        * platform/gtk/fast/text/font-weight-parse-expected.txt: Removed Rebaseline after r218446 (use the general expectation).

2017-07-06  Commit Queue  <commit-queue@webkit.org>

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

        it broke some layout tests (Requested by clopez on #webkit).

        Reverted changeset:

        "[GStreamer] vid.me videos do not play"
        https://bugs.webkit.org/show_bug.cgi?id=172240
        http://trac.webkit.org/changeset/219194

2017-07-06  Charlie Turner  <cturner@igalia.com>

        [GStreamer] vid.me videos do not play
        https://bugs.webkit.org/show_bug.cgi?id=172240

        Reviewed by Xabier Rodriguez-Calvar.

        Add a test for single output file HLS playlists that require HTTP
        range requests to playback. This failed using the WK http source
        for reasons documented in the linked bug.

        Generated with mp4hls --segment-duration 3 --output-single-file

        * Http/tests/media/hls/range-request-expected.txt: Added.
        * http/tests/media/hls/range-request.html: Added.
        * http/tests/media/resources/hls/range-request-playlist.m3u8: Added.
        * http/tests/media/resources/hls/range-request-playlists/iframes.m3u8: Added.
        * http/tests/media/resources/hls/range-request-playlists/media.ts: Added.
        * http/tests/media/resources/hls/range-request-playlists/stream.m3u8: Added.

2017-07-05  Zalan Bujtas  <zalan@apple.com>

        REGRESSION: Stack overflow in RenderBlockFlow::layoutBlock after increasing the font size to max in some RTL vertical books.
        https://bugs.webkit.org/show_bug.cgi?id=174144
        <rdar://problem/32781038>

        Reviewed by Simon Fraser.

        * fast/ruby/ruby-overhang-margin-crash-expected.txt: Added.
        * fast/ruby/ruby-overhang-margin-crash.html: Added.

2017-07-05  Jonathan Bedard  <jbedard@apple.com>

        Move internal iOS 11 TestExpectations to OpenSource
        <rdar://problem/32717028>

        Unreviewed test gardening.

        * platform/ios-11/platform/ios/ios/fast/text/opticalFont-expected.txt: Added.
        * platform/ios-11/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Added.
        * platform/ios-11/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Added.

2017-07-05  Myles C. Maxfield  <mmaxfield@apple.com>

        CSSFontStyleValue::isItalic seems a bit bogus.
        https://bugs.webkit.org/show_bug.cgi?id=174149

        Reviewed by Tim Horton.

        * editing/execCommand/italicizeByCharacter-normal-expected.txt: Added.
        * editing/execCommand/italicizeByCharacter-normal.html: Added.

2017-07-05  Matt Lewis  <jlewis3@apple.com>

        Skipped webgl/1.0.2/conformance/glsl/misc/shader-with-non-reserved-words.html.
        https://bugs.webkit.org/show_bug.cgi?id=174100

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2017-07-05  Brady Eidson  <beidson@apple.com>

        Allow navigations in subframes to get a ShouldOpenExternalURLsPolicy of "ShouldAllow".
        <rdar://problem/22485589> and https://bugs.webkit.org/show_bug.cgi?id=174178

        Reviewed by Alex Christensen.

        Added a new explicit test and updated expectations for an old one.
        
        * loader/navigation-policy/should-open-external-urls/resources/main-frame-with-subframe-main-programatically-navigates-subframe.html: Added.
        * loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt:
        * loader/navigation-policy/should-open-external-urls/subframe-navigated-programatically-by-main-frame-expected.txt: Added.
        * loader/navigation-policy/should-open-external-urls/subframe-navigated-programatically-by-main-frame.html: Added.

2017-07-05  Matt Lewis  <jlewis3@apple.com>

        Marked animations/needs-layout.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172397

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-07-05  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
        https://bugs.webkit.org/show_bug.cgi?id=174070

        Reviewed by Simon Fraser.

        * fast/css/getComputedStyle/computed-style-expected.txt:

2017-07-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: Allow users to log any tracked canvas context
        https://bugs.webkit.org/show_bug.cgi?id=173397
        <rdar://problem/33111581>

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/resolveCanvasContext-2d-expected.txt: Added.
        * inspector/canvas/resolveCanvasContext-2d.html: Added.
        * inspector/canvas/resolveCanvasContext-webgl-expected.txt: Added.
        * inspector/canvas/resolveCanvasContext-webgl.html: Added.
        * inspector/canvas/resolveCanvasContext-webgl2-expected.txt: Added.
        * inspector/canvas/resolveCanvasContext-webgl2.html: Added.
        * inspector/canvas/resolveCanvasContext-webgpu-expected.txt: Added.
        * inspector/canvas/resolveCanvasContext-webgpu.html: Added.
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/win/TestExpectations:

2017-07-05  Antti Koivisto  <antti@apple.com>

        Low memory notification shouldn't cause style recalc
        https://bugs.webkit.org/show_bug.cgi?id=173574
        <rdar://problem/32616997>

        Reviewed by Andreas Kling.

        * platform/mac/printing/width-overflow-expected.txt:

            1px width change that doesn't affect what is being tested.

2017-07-05  Jonathan Bedard  <jbedard@apple.com>

        Move internal iOS 11 TestExpectations to OpenSource
        <rdar://problem/32717028>

        Unreviewed test gardening.

        * platform/ios-11: Added.

2017-07-05  Matt Lewis  <jlewis3@apple.com>

        Adjusted test expectations for tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html.
        https://bugs.webkit.org/show_bug.cgi?id=168937

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-07-05  Charlie Turner  <cturner@igalia.com>

        Incorrect IfModule on Fedora with with PHP 7
        https://bugs.webkit.org/show_bug.cgi?id=174159

        Reviewed by Michael Catanzaro.

        * http/conf/fedora-httpd-2.4-php7.conf:

2017-07-05  Youenn Fablet  <youenn@apple.com>

        Receiving tracks should be ended when peer connection is being closed
        https://bugs.webkit.org/show_bug.cgi?id=174109

        Reviewed by Eric Carlson.

        * webrtc/peer-connection-track-end-expected.txt: Added.
        * webrtc/peer-connection-track-end.html: Added.

2017-07-04  Antti Koivisto  <antti@apple.com>

        FrameView should not set RenderView::logicalWidth directly for printing
        https://bugs.webkit.org/show_bug.cgi?id=174135

        Reviewed by Zalan Bujtas.

        * platform/mac/printing/width-overflow-expected.txt:

            This is a progression, view and root element sizes now match.
            Printing output is not affected.

2017-07-03  Saam Barati  <sbarati@apple.com>

        LayoutTest workers/bomb.html is a Crash
        https://bugs.webkit.org/show_bug.cgi?id=167757
        <rdar://problem/33086462>

        Reviewed by Keith Miller.

        * platform/mac-wk2/TestExpectations:

2017-07-03  Matt Lewis  <jlewis3@apple.com>

        Removed expectations and skipped workers/bomb.html on mac.
        https://bugs.webkit.org/show_bug.cgi?id=167757

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-03  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(Variation Fonts): Specifying Skia by PostScript name does not yield the expected result
        https://bugs.webkit.org/show_bug.cgi?id=174079
        <rdar://problem/33040854>

        Reviewed by Alex Christensen.

        * fast/text/variations/skia-postscript-name-expected-mismatch.html: Added.
        * fast/text/variations/skia-postscript-name.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-07-03  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-07-03  Brady Eidson  <beidson@apple.com>

        Switch all WebKit API related to favicons from WebIconDatabase over to new WebCore::IconLoader mechanism.
        https://bugs.webkit.org/show_bug.cgi?id=174073

        Reviewed by Andy Estes.

        * http/tests/security/contentSecurityPolicy/block-favicon-expected.txt: Updated results to actually catch
          the load being blocked due to CSP.

2017-07-03  Matt Lewis  <jlewis3@apple.com>

        Marked media/track/track-cues-sorted-before-dispatch.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=168092

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-07-03  Youenn Fablet  <youenn@apple.com>

        WebAudioSourceProviderAVFObjC should not reconfigure for each data call
        https://bugs.webkit.org/show_bug.cgi?id=174101

        Reviewed by Eric Carlson.

        * TestExpectations:
        * webrtc/peer-connection-audio-mute2.html:
        * webrtc/peer-connection-remote-audio-mute2.html:

2017-07-03  Alex Christensen  <achristensen@webkit.org>

        Rebase test after r219024
        https://bugs.webkit.org/show_bug.cgi?id=174051

        * fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame-expected.txt:

2017-07-03  Jonathan Bedard  <jbedard@apple.com>

        Run webgl tests on iOS ports
        https://bugs.webkit.org/show_bug.cgi?id=173000

        Unreviewed test gardening.

        * platform/ios-device/TestExpectations: Garden webgl tests.
        * platform/ios-simulator/TestExpectations: Ditto.
        * platform/ios/TestExpectations: Ditto.
        * platform/ios/fast/canvas/webgl: Added.
        * platform/ios/fast/canvas/webgl/css-webkit-canvas-expected.txt: Added.
        * platform/ios/fast/canvas/webgl/css-webkit-canvas-repaint-expected.txt: Added.

2017-07-02  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r218910): Crash inside textMarkerDataForFirstPositionInTextControl
        https://bugs.webkit.org/show_bug.cgi?id=174077
        <rdar://problem/33083972>

        Reviewed by Chris Fleizach.

        Added a regression test for changing the input element's type during editing.

        * accessibility/mac/input-type-change-crash-expected.txt: Added.
        * accessibility/mac/input-type-change-crash.html: Added.

2017-07-03  Saam Barati  <sbarati@apple.com>

        Unreviewed. Mark workers/bomb.html as flaky.

        * platform/ios-device/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-07-03  Devin Rousso  <drousso@apple.com>

        Web Inspector: Support listing WebGL2 and WebGPU contexts
        https://bugs.webkit.org/show_bug.cgi?id=173396

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/create-canvas-contexts-expected.txt: Removed.
        * inspector/canvas/create-canvas-contexts.html: Removed.
        * inspector/canvas/create-context-2d-expected.txt: Added.
        * inspector/canvas/create-context-2d.html: Added.
        * inspector/canvas/create-context-webgl-expected.txt: Added.
        * inspector/canvas/create-context-webgl.html: Added.
        * inspector/canvas/create-context-webgl2-expected.txt: Added.
        * inspector/canvas/create-context-webgl2.html: Added.
        * inspector/canvas/create-context-webgpu-expected.txt: Added.
        * inspector/canvas/create-context-webgpu.html: Added.
        * inspector/canvas/resources/create-context-utilities.css: Added.
        (.canvas):
        * inspector/canvas/resources/create-context-utilities.js: Added.
        (createAttachedCanvas):
        (createDetachedCanvas):
        (createCSSCanvas):
        (destroyCanvases):
        (TestPage.registerInitializer.awaitCanvasAdded):
        (TestPage.registerInitializer.awaitCanvasRemoved):
        (TestPage.registerInitializer.window.initializeTestSuite):
        (TestPage.registerInitializer.window.addSimpleTestCase):
        (TestPage.registerInitializer.window.addCSSCanvasTestCase):
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        Split the existing canvas lifecycle tests into one for each context type. This allows
        platforms that don't support certain context types to ignore just those tests (e.g. WebGPU).

2017-07-03  Chris Fleizach  <cfleizach@apple.com>

        AX: role="none" (or presentation) does not work on iframes
        https://bugs.webkit.org/show_bug.cgi?id=173930
        <rdar://problem/33034347>

        Reviewed by Ryosuke Niwa.

        * accessibility/presentation-role-iframe-expected.txt: Added.
        * accessibility/presentation-role-iframe.html: Added.

2017-07-03  Alex Christensen  <achristensen@webkit.org>

        Rebase test after r219024
        https://bugs.webkit.org/show_bug.cgi?id=174051

        * http/tests/security/no-popup-from-sandbox-top-expected.txt:

2017-07-03  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r219030.

        This was a rebaseline of a test that was broken with revision
        r219024

        Reverted changeset:

        "Rebase test after r219024"
        https://bugs.webkit.org/show_bug.cgi?id=174051
        http://trac.webkit.org/changeset/219030

2017-07-03  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyEC SPKI exports
        https://bugs.webkit.org/show_bug.cgi?id=173646

        Reviewed by Jiewen Tan.

        * platform/gtk/TestExpectations:
        Unskip tests that cover SPKI exports of EC keys.

2017-07-02  Sam Weinig  <sam@webkit.org>

        [WebIDL] Remove special casing for RegExp which is no longer required by the spec
        https://bugs.webkit.org/show_bug.cgi?id=174025

        Reviewed by Chris Dumez.

        * fast/files/blob-constructor-expected.txt:
        * fast/files/blob-constructor.html:
        * fast/files/file-constructor-expected.txt:
        * fast/files/file-constructor.html:
        Update tests/results for change in conversions of RegExp.

2017-07-01  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r218371): Reeder's default font is Times instead of San Francisco
        https://bugs.webkit.org/show_bug.cgi?id=173617
        <rdar://problem/32969819>

        Reviewed by Simon Fraser.

        * fast/text/font-face-local-system-expected.html: Added.
        * fast/text/font-face-local-system.html: Added.

2017-06-30  Said Abou-Hallawa  <sabouhallawa@apple.com>

        If an image appears more than once on a page, decoding for painting one instance repaints them all
        https://bugs.webkit.org/show_bug.cgi?id=169944

        Reviewed by Simon Fraser.

        * fast/images/async-image-multiple-clients-repaint-expected.txt: Added.
        * fast/images/async-image-multiple-clients-repaint.html: Added.
        * platform/ios-simulator/fast/images: Added.
        * platform/ios-simulator/fast/images/async-image-multiple-clients-repaint-expected.txt: Added.

2017-06-30  Jonathan Bedard  <jbedard@apple.com>

        Run webgl tests on iOS ports
        https://bugs.webkit.org/show_bug.cgi?id=173000

        Unreviewed test gardening.

        * platform/ios/TestExpectations: Enable webgl, fast/canvas/webgl and http/tests/webgl.

2017-06-30  Matt Baker  <mattbaker@apple.com>

        Web Inspector: AsyncStackTrace nodes can be corrupted when truncating
        https://bugs.webkit.org/show_bug.cgi?id=173840
        <rdar://problem/30840820>

        Reviewed by Joseph Pecoraro.

        Add a test for truncating a branching asynchronous stack trace.

        * inspector/debugger/truncate-async-stack-trace-expected.txt: Added.
        * inspector/debugger/truncate-async-stack-trace.html: Added.

2017-06-30  Alex Christensen  <achristensen@webkit.org>

        Rebase test after r219024
        https://bugs.webkit.org/show_bug.cgi?id=174051

        * fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame-expected.txt:
        This was an intentional change making URL parsing how it was before r215096 for URLs with non-special schemes.

2017-06-30  Matt Lewis  <jlewis3@apple.com>

        Marked test imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getKey.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173068

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-06-30  Chris Dumez  <cdumez@apple.com>

        Move store logic from WebResourceLoadStatisticsManager to WebResourceLoadStatisticsStore
        https://bugs.webkit.org/show_bug.cgi?id=174038

        Reviewed by Brent Fulgham.

        Fix typo in testRunner API.

        * http/tests/loading/resourceLoadStatistics/grandfathering.html:
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html:
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html:
        * http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html:

2017-06-30  Devin Rousso  <drousso@apple.com>

        Web Inspector: Default string comparisons to treat numeric characters as numbers
        https://bugs.webkit.org/show_bug.cgi?id=173984

        Reviewed by Joseph Pecoraro.

        * inspector/unit-tests/string-utilities.html:
        Add tests for String.prototype.extendedLocaleCompare.

2017-06-30  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r214194): Safari leaves a popup window open opened during before unload
        https://bugs.webkit.org/show_bug.cgi?id=174016

        Reviewed by Chris Dumez.

        Added regression tests for navigating a new window, a sibling iframe, and another existing window.

        * fast/events/before-unload-navigate-different-window-expected.txt: Added.
        * fast/events/before-unload-navigate-different-window.html: Added.
        * fast/events/before-unload-open-window-expected.txt: Added.
        * fast/events/before-unload-open-window.html: Added.
        * fast/events/before-unload-sibling-frame-expected.txt: Added.
        * fast/events/before-unload-sibling-frame.html: Added.
        * fast/events/resources/message-opener.html: Added.
        * fast/events/resources/message-top.html: Added.

2017-06-30  Fujii Hironori  <Hironori.Fujii@sony.com>

        ASSERTION FAILED: !canAnimate() && !m_currentFrame
        https://bugs.webkit.org/show_bug.cgi?id=173089

        Reviewed by Said Abou-Hallawa.

        * fast/images/animated-gif-paint-after-animation-expected.txt: Added.
        * fast/images/animated-gif-paint-after-animation.html: Added.
        * fast/images/resources/animated-red-green-1000x1000-repeat-1.gif: Added.

2017-06-30  John Wilander  <wilander@apple.com>

        Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=173940

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/wk2/TestExpectations:
            http/tests/loading/resourceLoadStatistics/telemetry-generation.html
            is still failing.

2017-06-30  Antoine Quint  <graouts@apple.com>

        Top controls bars should invert with right-to-left user interface layout direction locale
        https://bugs.webkit.org/show_bug.cgi?id=173989
        <rdar://problem/32863552>

        Reviewed by Dean Jackson.

        Add a new test to check we correctly layout the top controls bars in RTL and rebaseline a
        test that now requires an asynchronous assertion.

        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-rtl-expected.txt: Added.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-rtl.html: Added.
        * media/modern-media-controls/mute-button/mute-button-expected.txt:
        * media/modern-media-controls/mute-button/mute-button.html:
        * platform/mac/TestExpectations:

2017-06-30  Dean Jackson  <dino@apple.com>

        REGRESSION (High Sierra): Gradient LayoutTests are failing
        https://bugs.webkit.org/show_bug.cgi?id=174015
        <rdar://problem/32332022>

        Reviewed by Tim Horton.

        Add the fudge factor to more of the gradient tests.

        * canvas/philip/tests.js:
        (_assertPixelWithGradientNoise): Bump the factor up a bit.
        * canvas/philip/tests/2d.gradient.interpolate.multiple.html:
        * canvas/philip/tests/2d.gradient.interpolate.solid.html:
        * canvas/philip/tests/2d.gradient.radial.transform.1.html:
        * canvas/philip/tests/2d.gradient.radial.transform.2.html:
        * canvas/philip/tests/2d.gradient.radial.transform.3.html:
        * canvas/philip/tests/initial.reset.gradient.html:

2017-06-29  Chris Fleizach  <cfleizach@apple.com>

        AX: Cannot call setValue() on contenteditable or ARIA text controls
        https://bugs.webkit.org/show_bug.cgi?id=173520

        Reviewed by Ryosuke Niwa.

        * accessibility/mac/set-value-editable-types-expected.txt: Added.
        * accessibility/mac/set-value-editable-types.html: Added.

2017-06-28  Simon Fraser  <simon.fraser@apple.com>

        getBoundingClientRect returns wrong value for combination of page zoom and scroll
        https://bugs.webkit.org/show_bug.cgi?id=173841
        rdar://problem/32983841

        Reviewed by Dean Jackson.

        * fast/events/clientXY-in-zoom-and-scroll.html: New baseline for progressed behavior.
        * fast/events/simulated-click-zoomed-expected.txt: Added.
        * fast/events/simulated-click-zoomed.html: Added.
        * fast/visual-viewport/client-rects-relative-to-layout-viewport-zoomed-expected.txt: Added.
        * fast/visual-viewport/client-rects-relative-to-layout-viewport-zoomed.html: Added.
        * platform/ios/TestExpectations:
        * platform/mac/fast/events/clientXY-in-zoom-and-scroll-expected.txt:

2017-06-29  John Wilander  <wilander@apple.com>

        Fix for intermittent Layout Test fail http/tests/loading/resourceLoadStatistics/telemetry-generation.html
        https://bugs.webkit.org/show_bug.cgi?id=173940
        <rdar://problem/33018125>

        Reviewed by Brent Fulgham.

        * platform/wk2/TestExpectations:
            http/tests/loading/resourceLoadStatistics/telemetry-generation.html
            is now expected to pass.

2017-06-29  Sam Weinig  <sam@webkit.org>

        [WebIDL] Add a new extended attribute to model the forced return value optimization used on Node and Crypto
        https://bugs.webkit.org/show_bug.cgi?id=173961

        Reviewed by Darin Adler.

        * js/dom/dot-node-base-exception-expected.txt: Removed.
        * js/dom/dot-node-base-exception.html: Removed.
        * js/dom/script-tests/dot-node-base-exception.js: Removed.
        Remove now obsolete test.

2017-06-29  Commit Queue  <commit-queue@webkit.org>

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

        "It changes the behavior of the JS API's JSEvaluateScript
        which breaks TurboTax" (Requested by saamyjoon on #webkit).

        Reverted changeset:

        "test262: Completion values for control flow do not match the
        spec"
        https://bugs.webkit.org/show_bug.cgi?id=171265
        http://trac.webkit.org/changeset/218512

2017-06-29  Alex Christensen  <achristensen@webkit.org>

        WKContentRuleLists with if-top-url or unless-top-url should run regex against entire top URL
        https://bugs.webkit.org/show_bug.cgi?id=173980

        Reviewed by Tim Horton.

        * http/tests/contentextensions/top-url-expected.txt: Added.
        * http/tests/contentextensions/top-url.html: Added.
        * http/tests/contentextensions/top-url.html.json: Added.

2017-06-29  JF Bastien  <jfbastien@apple.com>

        WebAssembly: disable some APIs under CSP
        https://bugs.webkit.org/show_bug.cgi?id=173892
        <rdar://problem/32914613>

        Reviewed by Daniel Bates.

        These tests are basically the same as eval-blocked, but with
        WebAssembly APIs instead of eval.

        Disable all of them on iOS simulator which doesn't support
        WebAssembly (whereas iOS does).

        * http/tests/security/contentSecurityPolicy/WebAssembly-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-about-blank-iframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-about-blank-iframe.html: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-external-script-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-external-script.html: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-subframe-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-subframe.html: Added.
        * http/tests/security/contentSecurityPolicy/WebAssembly-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/WebAssembly-blocked-in-external-script.js: Added.
        * platform/ios-simulator/TestExpectations:

2017-06-29  Antoine Quint  <graouts@apple.com>

        Full stop shows to the right of the picture-in-picture localised string in Hebrew
        https://bugs.webkit.org/show_bug.cgi?id=173966
        <rdar://problem/32847376>

        Reviewed by Dean Jackson.

        * media/modern-media-controls/placard/placard-ltr-expected.txt: Added.
        * media/modern-media-controls/placard/placard-ltr.html: Added.

2017-06-29  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Fix ReadableStream "strategy" argument handling
        https://bugs.webkit.org/show_bug.cgi?id=172716

        Reviewed by Xabier Rodriguez-Calvar.

        Added new tests and updated some existing ones based on the newly
        expected behavior.

        * streams/readable-byte-stream-controller-expected.txt: Updated.
        * streams/readable-byte-stream-controller.js: Updated.

2017-06-29  Antti Koivisto  <antti@apple.com>

        NAS4Free Pop-down menus take 3 seconds to appear
        https://bugs.webkit.org/show_bug.cgi?id=173967
        <rdar://problem/32690114>

        Reviewed by Andreas Kling.

        * compositing/backing/non-composited-visibility-change-expected.html: Added.
        * compositing/backing/non-composited-visibility-change.html: Added.

2017-06-28  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-06-27  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS] Cannot italicize or bold text rendered with text styles
        https://bugs.webkit.org/show_bug.cgi?id=173634

        Reviewed by Darin Adler.

        * fast/text/ipad/bold-tall-body-text-style-expected-mismatch.html: Added.
        * fast/text/ipad/bold-tall-body-text-style.html: Added.

2017-06-28  Devin Rousso  <drousso@apple.com>

        Web Inspector: Instrument active pixel memory used by canvases
        https://bugs.webkit.org/show_bug.cgi?id=173087
        <rdar://problem/32719261>

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/memory-expected.txt: Added.
        * inspector/canvas/memory.html: Added.

2017-06-28  Ryan Haddad  <ryanhaddad@apple.com>

        Skip webrtc/video-replace-muted-track.html on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=173608

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-06-28  Antoine Quint  <graouts@apple.com>

        Volume controls should be hidden when AirPlay is active
        https://bugs.webkit.org/show_bug.cgi?id=173933
        <rdar://problem/33011931>

        Reviewed by Dean Jackson.

        Expand the AirplaySupport testing to check that the mute button's enabled state is set to "false"
        in AirPlay and add new tests to check that volume controls are correctly hidden when the mute button
        is disabled.

        * media/modern-media-controls/airplay-support/airplay-support-expected.txt:
        * media/modern-media-controls/airplay-support/airplay-support.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled-expected.txt: Added.
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled.html: Added.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled-expected.txt: Added.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled.html: Added.
        * platform/mac/TestExpectations:

2017-06-28  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/IndexedDB/idbindex_getAllKeys.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172834

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-28  Matt Lewis  <jlewis3@apple.com>

        Adjusted test expectations for http/tests/loading/resourceLoadStatistics/telemetry-generation.html.
        https://bugs.webkit.org/show_bug.cgi?id=173499

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-06-28  Antoine Quint  <graouts@apple.com>

        Media controls volume glyph does not have the correct material
        https://bugs.webkit.org/show_bug.cgi?id=173918
        <rdar://problem/33012697>

        Reviewed by Eric Carlson.

        Add a new test to check the mute button is correctly hosted in the top-right controls bar
        when width becomes scarce.

        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-mute-button-in-bottom-or-top-right-controls-bar-expected.txt: Added.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-mute-button-in-bottom-or-top-right-controls-bar.html: Added.
        * platform/mac/TestExpectations:

2017-06-28  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] LayoutTest webaudio/silent-audio-interrupted-in-background.html makes its subsequent test flaky crash
        https://bugs.webkit.org/show_bug.cgi?id=173916

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: Marked it Skip.

2017-06-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Cleanup RemoteObject tests
        https://bugs.webkit.org/show_bug.cgi?id=173885

        Reviewed by Matt Baker.

        * inspector/model/remote-object-dom.html: Added.
        * inspector/model/remote-object-expected.txt:
        * inspector/model/remote-object.html:
        Split out DOM results (which differ across ports and features).

        * inspector/model/resources/remote-object-utilities.js:
        (TestPage.registerInitializer.window.runSteps):
        This should have been a continue not a return.

        * platform/mac/inspector/model/remote-object-dom-expected.txt: Added.
        * platform/mac/inspector/model/remote-object-expected.txt: Removed.
        Platform expectations are now limited to just the DOM test.

2017-06-27  Caio Lima  <ticaiolima@gmail.com>

        [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
        https://bugs.webkit.org/show_bug.cgi?id=167962

        Reviewed by Saam Barati.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2017-06-27  Yusuke Suzuki  <utatane.tea@gmail.com>

        Unreviewed, unmark workers/bomb.html flakiness after r218856

        * platform/gtk-wayland/TestExpectations:
        * platform/ios-device/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-27  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/loading/resourceLoadStatistics/telemetry-generation.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173499

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-06-27  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Accessibility labels should be formatted using NSDateComponentsFormatter
        https://bugs.webkit.org/show_bug.cgi?id=173858
        <rdar://problem/32643171>

        Reviewed by Dean Jackson.

        * media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt:
        * media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html:

2017-06-27  Antoine Quint  <graouts@apple.com>

        Placard icons act like buttons (can get keyboard focus and shows up in VoiceOver)
        https://bugs.webkit.org/show_bug.cgi?id=173891
        <rdar://problem/33011855>

        Reviewed by Dean Jackson.

        Update the Placard test to check that its <button> is disabled.

        * media/modern-media-controls/placard/placard-expected.txt:
        * media/modern-media-controls/placard/placard.html:

2017-06-27  Jeremy Jones  <jeremyj@apple.com>

        Disable m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause
        https://bugs.webkit.org/show_bug.cgi?id=173843
        rdar://problem/32982431

        Reviewed by Eric Carlson.

        Some pages may not have a fullscreen button, so disabled m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause.

        * media/media-fullscreen-pause-inline-expected.txt: Added.
        * media/media-fullscreen-pause-inline.html: Added.
        * platform/mac-wk2/TestExpectations:

2017-06-27  Saam Barati  <sbarati@apple.com>

        Function constructor needs to follow the spec and validate parameters and body independently
        https://bugs.webkit.org/show_bug.cgi?id=173303
        <rdar://problem/32732526>

        Reviewed by Keith Miller.

        * fast/dom/attribute-event-listener-errors-expected.txt:
        * fast/events/attribute-listener-deletion-crash-expected.txt:
        * fast/events/window-onerror-syntax-error-in-attr-expected.txt:
        * js/dom/invalid-syntax-for-function-expected.txt:

2017-06-27  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Add telemetry
        https://bugs.webkit.org/show_bug.cgi?id=173499
        <rdar://problem/32826094>

        Reviewed by Brent Fulgham.

        * http/tests/loading/resourceLoadStatistics/telemetry-generation-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/telemetry-generation.html: Added.
        * platform/wk2/TestExpectations:
            Enabled here since ResourceLoadStatistics is WK2-only.

2017-06-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Crash generating object preview for ArrayIterator
        https://bugs.webkit.org/show_bug.cgi?id=173754
        <rdar://problem/32859012>

        Reviewed by Saam Barati.

        * platform/mac/inspector/model/remote-object-expected.txt:
        * inspector/model/remote-object-expected.txt:
        * inspector/model/remote-object.html:
        Test generating a preview for an ArrayIterator that has had a `return` property added to it.

        * inspector/model/remote-object-mutated-iterators-expected.txt: Added.
        * inspector/model/remote-object-mutated-iterators.html: Added.
        Test generating a preview for different iterators after the IteratorPrototypes have been mutated.

        * inspector/model/resources/remote-object-utilities.js: Added.
        (runInBrowserTest):
        (TestPage.registerInitializer):
        (TestPage.registerInitializer.checkComplete):
        (TestPage.registerInitializer.window.runSteps):
        Share code for remote-object dump tests.

2017-06-27  Frederic Wang  <fwang@igalia.com>

        Some tests to verify forbidden frame navigation time out
        https://bugs.webkit.org/show_bug.cgi?id=173657

        Reviewed by Chris Dumez.

        * fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt: Add the security error.
        * http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html: Adjust
        the test to catch and dump the exception and complete immediately.
        * http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child-expected.txt:
        Add the dumped security error exception.

2017-06-27  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/datachannel/multiple-connections.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=173853

        Reviewed by Eric Carlson.

        * webrtc/datachannel/multiple-connections.html:

2017-06-26  Antti Koivisto  <antti@apple.com>

        REGRESSION (AsyncImageDecoding): A tab with the WWDC keynote paused is killed for using excessive power (Image thrashing)
        https://bugs.webkit.org/show_bug.cgi?id=173804
        <rdar://problem/32623745>

        Reviewed by Simon Fraser.

        * fast/images/low-memory-decode-expected.txt: Added.
        * fast/images/low-memory-decode.html: Added.

2017-06-26  Matt Lewis  <jlewis3@apple.com>

        Marked media/media-source/media-source-paint-to-canvas.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173565

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-06-26  Matt Lewis  <jlewis3@apple.com>

        Marked animations/play-state-suspend.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173726

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-06-26  Jonathan Bedard  <jbedard@apple.com>

        Unreviewed, rolling out r218783.

        Causing accessibility/mac/setting-attributes-is-
        asynchronous.html to crash consistently on mac-wk2 Debug

        Reverted changeset:

        "AX: Cannot call setValue() on contenteditable or ARIA text
        controls"
        https://bugs.webkit.org/show_bug.cgi?id=173520
        http://trac.webkit.org/changeset/218783

2017-06-26  Youenn Fablet  <youenn@apple.com>

        Make webrtc/video-replace-track-to-null.html more robust
        https://bugs.webkit.org/show_bug.cgi?id=173834

        Reviewed by Eric Carlson.

        * webrtc/video-replace-track-to-null.html:

2017-06-26  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Add support for aria-details and aria-errormessage
        https://bugs.webkit.org/show_bug.cgi?id=172588

        Reviewed by Chris Fleizach.

        Add new test cases to relation-types.html.

        * accessibility/gtk/relation-types-expected.txt:
        * accessibility/gtk/relation-types.html:

2017-06-26  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE][GCrypt] Unreviewed gardening

        After r218744, land new expectations for AES-CFB tests.
        * platform/wpe/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt: Added.
        * platform/wpe/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt: Added.
        * platform/wpe/crypto/subtle/aes-export-key-malformed-parameters-expected.txt: Added.
        * platform/wpe/crypto/subtle/aes-generate-key-malformed-parameters-expected.txt: Added.
        * platform/wpe/crypto/subtle/aes-import-key-malformed-parameters-expected.txt: Added.

2017-06-26  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-06-25  Youenn Fablet  <youenn@apple.com>

        Remove use of mock webrtc backend factory at injected bundle reset time
        https://bugs.webkit.org/show_bug.cgi?id=173817

        Reviewed by Darin Adler.

        Making some tests less flaky.

        * TestExpectations:
        * fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt:
        * platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:
        * webrtc/audio-peer-connection-webaudio.html:
        * webrtc/captureCanvas-webrtc.html:
        * webrtc/datachannel/bufferedAmountLowThreshold-default-expected.txt: Added.
        * webrtc/datachannel/bufferedAmountLowThreshold-default.html: Added.
        * webrtc/datachannel/bufferedAmountLowThreshold-expected.txt:
        * webrtc/datachannel/bufferedAmountLowThreshold.html:
        * webrtc/routines.js:
        * webrtc/video-replace-muted-track.html:
        * webrtc/video-unmute.html:

2017-06-24  Joseph Pecoraro  <pecoraro@apple.com>

        Remove Reflect.enumerate
        https://bugs.webkit.org/show_bug.cgi?id=173806

        Reviewed by Yusuke Suzuki.

        * inspector/model/remote-object-expected.txt:
        * inspector/model/remote-object.html:
        * platform/mac/inspector/model/remote-object-expected.txt:

2017-06-24  Chris Fleizach  <cfleizach@apple.com>

        AX: Cannot call setValue() on contenteditable or ARIA text controls
        https://bugs.webkit.org/show_bug.cgi?id=173520

        Reviewed by Ryosuke Niwa.

        * accessibility/mac/set-value-editable-types-expected.txt: Added.
        * accessibility/mac/set-value-editable-types.html: Added.

2017-06-23  Chris Dumez  <cdumez@apple.com>

        fast/events/page-visibility-iframe-delete-test.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=173798

        Reviewed by Simon Fraser.

        Modernize the test and deflake it by not making it rely on a specific order
        for the visibilitychange events. The event queues are per documents and there
        is therefore no guarantee those events will fire in frame tree order.

        * fast/events/page-visibility-iframe-delete-test-expected.txt:
        * fast/events/page-visibility-iframe-delete-test.html:

2017-06-23  Youenn Fablet  <youenn@apple.com>

        Add a binary data channel webrtc test
        https://bugs.webkit.org/show_bug.cgi?id=173787

        Reviewed by Alex Christensen.

        * webrtc/datachannel/binary-expected.txt: Added.
        * webrtc/datachannel/binary.html: Added.

2017-06-23  Youenn Fablet  <youenn@apple.com>

        Set getUserMedia permission to true by default on WTR
        https://bugs.webkit.org/show_bug.cgi?id=173610

        Reviewed by Alex Christensen.

        * fast/mediastream/delayed-permission-allowed.html:
        * fast/mediastream/delayed-permission-denied.html:

2017-06-23  Youenn Fablet  <youenn@apple.com>

        webrtc/routines.js should call createAnswer once setRemoteDescription promise is resolved
        https://bugs.webkit.org/show_bug.cgi?id=173785

        Reviewed by Alex Christensen.

        * webrtc/routines.js:

2017-06-23  Youenn Fablet  <youenn@apple.com>

        webrtc::WebRtcSession is not handling correctly its state when setLocalDescription fails and is called again
        https://bugs.webkit.org/show_bug.cgi?id=173783

        Reviewed by Alex Christensen.

        * webrtc/libwebrtc/setLocalDescriptionCrash-expected.txt: Added.
        * webrtc/libwebrtc/setLocalDescriptionCrash.html: Added.

2017-06-23  Matt Lewis  <jlewis3@apple.com>

        Added additional test expectations for webrtc/video-replace-muted-track.html.
        https://bugs.webkit.org/show_bug.cgi?id=173608

        Unreviewed test expectations.

        * platform/mac-wk2/TestExpectations:

2017-06-23  Frederic Wang  <fwang@igalia.com>

        Remove fast/regions/region-leak-js-information-when-disabled-at-runtime.html
        https://bugs.webkit.org/show_bug.cgi?id=173784

        Reviewed by Simon Fraser.

        fast/regions/region-leak-js-information-when-disabled-at-runtime.html is supposed to test
        that some JS properties are undefined when CSS regions are disabled at runtime. However, this
        part is currently commented out and the test is no longer relevant after r200524. Hence we
        just remove it.

        * fast/regions/region-leak-js-information-when-disabled-at-runtime-expected.txt: Removed.
        * fast/regions/region-leak-js-information-when-disabled-at-runtime.html: Removed.

2017-06-23  Frederic Wang  <fwang@igalia.com>

        Use window.internals instead of overridePreference to set WebCore settings in tests
        https://bugs.webkit.org/show_bug.cgi?id=173714

        Reviewed by Simon Fraser.

        This commit is a first step to replace the use of testRunner.overridePreference with
        internals.settings.set* calls in tests. Such a call will fail immediately and obviously if
        its a function that does not exist, and these settings are restored properly between tests.
        Some preferences that do not have a WebCore setting or an internals.settings setter are not
        handled yet. The temporary failure added in r218480 for fast/frames/flattening/set-preference
        is removed and so is a custom expectation caret-mode-document-begin-end for Mac WK1.

        * accessibility/gtk/caret-browsing-select-focus.html: Use internals.settings.set* function.
        * accessibility/gtk/caret-browsing-text-focus.html: Ditto.
        * accessibility/gtk/caret-offsets-and-extraneous-white-spaces.html: Ditto.
        * accessibility/gtk/caret-offsets.html: Ditto.
        * accessibility/gtk/text-in-span-block-in-a-block.html: Ditto.
        * css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html: Ditto.
        * css3/blending/blend-mode-simple.html: Ditto.
        * css3/blending/effect-background-blend-mode.html: Ditto.
        * css3/filters/blur-filter-page-scroll-parents.html: Ditto.
        * css3/filters/blur-filter-page-scroll-self.html: Ditto.
        * css3/filters/blur-filter-page-scroll.html: Ditto.
        * css3/filters/effect-blur.html: Ditto.
        * css3/filters/effect-brightness-clamping.html: Ditto.
        * css3/filters/effect-brightness.html: Ditto.
        * css3/filters/effect-combined.html: Ditto.
        * css3/filters/effect-contrast.html: Ditto.
        * css3/filters/effect-drop-shadow.html: Ditto.
        * css3/filters/effect-grayscale.html: Ditto.
        * css3/filters/effect-hue-rotate.html: Ditto.
        * css3/filters/effect-invert.html: Ditto.
        * css3/filters/effect-opacity.html: Ditto.
        * css3/filters/effect-saturate.html: Ditto.
        * css3/filters/effect-sepia.html: Ditto.
        * css3/filters/filter-repaint.html: Ditto.
        * css3/filters/null-effect-check.html: Ditto.
        * editing/selection/caret-mode-document-begin-end.html: Ditto.
        * editing/selection/caret-mode-paragraph-keys-navigation.html: Ditto.
        * fast/animation/request-animation-frame-disabled.html: Ditto.
        * fast/canvas/canvas-blend-image.html: Ditto.
        * fast/canvas/canvas-blend-solid.html: Ditto.
        * fast/canvas/canvas-imageSmoothingQuality.html: Ditto.
        * fast/canvas/drawImage-with-small-values.html: Ditto.
        * fast/images/exif-orientation-composited.html: Ditto.
        * fast/images/exif-orientation-css.html: Ditto.
        * fast/images/exif-orientation.html: Ditto.
        * fast/images/image-controls-basic.html: Ditto.
        * fast/parser/pre-html5-parser-quirks.html: Ditto.
        * fast/repaint/no-caret-repaint-in-non-content-editable-element.html: Ditto.
        * http/tests/appcache/disabled.html: Ditto.
        * http/tests/contentextensions/block-cookies-in-ping.html: Ditto.
        * http/tests/contentextensions/block-ping.html: Ditto.
        * http/tests/contentextensions/hide-on-ping-with-ping-that-redirects.html: Ditto.
        * http/tests/contentextensions/hide-on-ping.html: Ditto.
        * http/tests/misc/favicon-loads-with-icon-loading-override.html: Ditto.
        * http/tests/navigation/ping-attribute/anchor-cookie.html: Ditto.
        * http/tests/navigation/ping-attribute/anchor-cross-origin-from-https.html: Ditto.
        * http/tests/navigation/ping-attribute/anchor-cross-origin.html: Ditto.
        * http/tests/navigation/ping-attribute/anchor-ping-and-follow-redirect-when-sending-ping.html: Ditto.
        * http/tests/navigation/ping-attribute/anchor-same-origin.html: Ditto.
        * http/tests/navigation/ping-attribute/area-cookie.html: Ditto.
        * http/tests/navigation/ping-attribute/area-cross-origin-from-https.html: Ditto.
        * http/tests/navigation/ping-attribute/area-cross-origin.html: Ditto.
        * http/tests/navigation/ping-attribute/area-same-origin.html: Ditto.
        * http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked.html: Ditto.
        * imported/blink/fast/css/image-orientation/image-orientation-dynamic-expected.html: Ditto.
        * loader/meta-refresh-disabled.html: Ditto.
        * media/crash-closing-page-with-media-as-plugin-fallback.html: Ditto.
        * platform/mac-wk1/editing/selection/caret-mode-document-begin-end-expected.txt: Removed.
        Mac WK1 now produces the same output as other platforms.
        * platform/mac/TestExpectations: Remove the failure for FrameFlattening now that the test
        uses internals.settings.set*.
        * platform/mac/fast/frames/flattening/set-preference.html: Use internals.settings.set*.
        * plugins/crash-restoring-plugin-page-from-page-cache.html: Ditto.
        * plugins/frameset-with-plugin-frame.html: Ditto.
        * plugins/netscape-plugin-page-cache-works.html: Ditto.

2017-06-23  Chris Dumez  <cdumez@apple.com>

        [mac-wk1] requestAnimationFrame callbacks may not get serviced
        https://bugs.webkit.org/show_bug.cgi?id=173628

        Reviewed by Simon Fraser.

        Extend layout test coverage.

        * fast/events/page-visibility-transition-test-expected.txt:
        * fast/events/page-visibility-transition-test.html:

2017-06-23  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Drop the AES-CFB support
        https://bugs.webkit.org/show_bug.cgi?id=173547

        Reviewed by Jiewen Tan.

        Add GTK+-specific baselines for AES tests that also cover the CFB variation.
        These tests still pass because errors are expected, it's just that errors now
        occur because the algorithm isn't supported anymore, rather than because of
        operation errors due to malformed parameters.

        * platform/gtk/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt: Added.
        * platform/gtk/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt: Added.
        * platform/gtk/crypto/subtle/aes-export-key-malformed-parameters-expected.txt: Added.
        * platform/gtk/crypto/subtle/aes-generate-key-malformed-parameters-expected.txt: Added.
        * platform/gtk/crypto/subtle/aes-import-key-malformed-parameters-expected.txt: Added.

2017-06-22  Antti Koivisto  <antti@apple.com>

        REGRESSION(r217695): Offscreen/overflowed items not being rendered while translating in-frame
        https://bugs.webkit.org/show_bug.cgi?id=173732

        Reviewed by Simon Fraser.

        * compositing/backing/transform-transition-from-outside-view-expected.txt: Added.
        * compositing/backing/transform-transition-from-outside-view.html: Added.

2017-06-22  Myles C. Maxfield  <mmaxfield@apple.com>

        @font-face rules with invalid primary fonts never download their secondary fonts
        https://bugs.webkit.org/show_bug.cgi?id=173138
        <rdar://problem/32554450>

        Reviewed by Simon Fraser.

        * fast/text/font-fallback-invalid-load-expected.html: Added.
        * fast/text/font-fallback-invalid-load.html: Added.
        * fast/text/resources/bogus.svg: Added.

2017-06-22  Youenn Fablet  <youenn@apple.com>

        Add a test for multi data channel peer connection
        https://bugs.webkit.org/show_bug.cgi?id=173735

        Reviewed by Eric Carlson.

        * webrtc/datachannel/multi-channel-expected.txt: Added.
        * webrtc/datachannel/multi-channel.html: Added.

2017-06-22  Antoine Quint  <graouts@apple.com>

        REGRESSION: LayoutTest media/modern-media-controls/placard-support/placard-support-pip.html is a flaky timeout on Sierra
        https://bugs.webkit.org/show_bug.cgi?id=173725

        Reviewed by Dean Jackson.

        On WK1, this test enters fullscreen rather than PiP (which is unexpected, see webkit.org/b/173729) and thus the button
        to exit PiP could not be clicked. But we don't need a button click to exit PiP, so instead we just call a method to
        toggle it.

        * media/modern-media-controls/placard-support/placard-support-pip.html:

2017-06-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark perf/object-keys.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=171617

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-06-22  Zalan Bujtas  <zalan@apple.com>

        REGRESSION(r214712): Infinite recursion in RenderTable::layout in paginated mode
        https://bugs.webkit.org/show_bug.cgi?id=173731
        <rdar://problem/32237775>

        Reviewed by Antti Koivisto.

        * fast/table/caption-bottom-with-pagination-expected.txt: Added.
        * fast/table/caption-bottom-with-pagination.html: Added.

2017-06-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/forward-button/forward-button.html as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=168265

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-06-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Pausing with a deep call stack can be very slow, avoid eagerly generating object previews
        https://bugs.webkit.org/show_bug.cgi?id=173698

        Reviewed by Matt Baker.

        * inspector/runtime/getPreview-expected.txt: Added.
        * inspector/runtime/getPreview.html: Added.
        Test the new protocol command `Runtime.getPreview` as well as the frontend
        model method RemoteObject.prototype.updatePreview which uses it with its
        own slightly different semantics about when it should be used.

        * inspector/debugger/tail-deleted-frames-this-value.html:
        This test used `CallFrame.thisObject.preview` so rewrite it to first
        load the preview and then check values with it.

2017-06-22  Ryan Haddad  <ryanhaddad@apple.com>

        Skip fast/forms/file/input-file-write-files-using-open-panel.html on ios-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=173733

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-06-22  Ryan Haddad  <ryanhaddad@apple.com>

        Remove TestExpectations for test that were removed in r218651.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-06-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webaudio/silent-audio-interrupted-in-background.html as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=172201

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-22  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r218633.

        The test is failing frequently on Sierra Debug and Windows

        Reverted changeset:

        "AX: Cannot call setValue() on contenteditable or ARIA text
        controls"
        https://bugs.webkit.org/show_bug.cgi?id=173520
        http://trac.webkit.org/changeset/218633

2017-06-22  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Implement ReadableStreamBYOBReader read()
        https://bugs.webkit.org/show_bug.cgi?id=172714

        Reviewed by Youenn Fablet.

        Added 1 test to check that read() can only be applied to a ReadableStreamBYOBReader.
        Other behaviors are checked by WPT (web-platform-tests/streams/readable-byte-streams/general.js).

        * streams/readable-stream-byob-reader-expected.txt: Updated.
        * streams/readable-stream-byob-reader.js: Added 1 test.


2017-06-22  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Prevent capturing at unconventional resolutions when using the SW encoder on Mac
        https://bugs.webkit.org/show_bug.cgi?id=172602
        <rdar://problem/32407693>

        Reviewed by Eric Carlson.

        * platform/mac-wk1/TestExpectations: Mark captureCanvas as flaky due to AVDCreateGPUAccelerator: Error loading GPU renderer" appearing on some bots.
        * platform/mac/webrtc/captureCanvas-webrtc-software-encoder-expected.txt: Copied from LayoutTests/webrtc/captureCanvas-webrtc-expected.txt.
        * platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html: Added.
        * webrtc/captureCanvas-webrtc-expected.txt:
        * webrtc/captureCanvas-webrtc.html:

2017-06-22  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTests/inspector/indexeddb/requestDatabaseNames.html: Sort database names to prevent flakiness
        https://bugs.webkit.org/show_bug.cgi?id=173699

        Reviewed by Alex Christensen.

        * inspector/indexeddb/requestDatabaseNames.html:
        Sort database names (when more than one) to ensure a consistent order.

2017-06-22  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Skip js geolocation test.

        Unreviewed gardening.
        Geolocation was disabled since r218553.
        * platform/wpe/TestExpectations:

2017-06-22  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Unskip http cache tests.

        Unreviewed gardening.

        Currently failing tests are the same as in the GTK+ port.
        * platform/wpe/TestExpectations:

2017-06-21  Youenn Fablet  <youenn@apple.com>

        [Fetch API] TypeError when called with body === {}
        https://bugs.webkit.org/show_bug.cgi?id=173295
        <rdar://problem/32746733>

        Reviewed by Sam Weinig.

        * fetch/body-init-expected.txt: Added.
        * fetch/body-init.html: Added.

2017-06-21  Antoine Quint  <graouts@apple.com>

        CSS text properties affect <video> shadow root
        https://bugs.webkit.org/show_bug.cgi?id=173664
        <rdar://problem/32904328>

        Reviewed by Dean Jackson.

        Add a test that ensures that setting an inheritable style on the <video> does not affect
        time labels within the shadow root.

        * media/modern-media-controls/time-label/time-label-inherited-text-indent-expected.txt: Added.
        * media/modern-media-controls/time-label/time-label-inherited-text-indent.html: Added.

2017-06-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Using "break on all exceptions" when throwing stack overflow hangs inspector
        https://bugs.webkit.org/show_bug.cgi?id=172432
        <rdar://problem/29870873>

        Reviewed by Saam Barati.

        * inspector/debugger/no-pause-out-of-memory-exception-expected.txt: Added.
        * inspector/debugger/no-pause-out-of-memory-exception.html: Added.
        * inspector/debugger/no-pause-stack-overflow-exception-expected.txt: Added.
        * inspector/debugger/no-pause-stack-overflow-exception.html: Added.

2017-06-20  Simon Fraser  <simon.fraser@apple.com>

        Remove WILL_REVEAL_EDGE_EVENTS code
        https://bugs.webkit.org/show_bug.cgi?id=173632

        Reviewed by Sam Weinig, Beth Dakin.

        Remove will-reveal-edge events, which never took off.

        * fast/events/will-reveal-edge-on-div-expected.txt: Removed.
        * fast/events/will-reveal-edge-on-div.html: Removed.
        * fast/events/will-reveal-edges-body-attributes-expected.txt: Removed.
        * fast/events/will-reveal-edges-body-attributes.html: Removed.
        * fast/events/will-reveal-edges-event-listeners-expected.txt: Removed.
        * fast/events/will-reveal-edges-event-listeners.html: Removed.
        * fast/events/will-reveal-edges-window-attributes-expected.txt: Removed.
        * fast/events/will-reveal-edges-window-attributes.html: Removed.

2017-06-21  Simon Fraser  <simon.fraser@apple.com>

        svgPath.getTotalLength() freezes webkit
        https://bugs.webkit.org/show_bug.cgi?id=173566
        <rdar://problem/32866731>

        Reviewed by Dean Jackson.

        * svg/custom/path-getTotalLength-hang.html: Added.

2017-06-21  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Unreviewed gardening

        Update expectations to known flaky http/appcache tests and also a
        couple of flaky crashing tests.
        * platform/wpe/TestExpectations:

2017-06-21  Chris Fleizach  <cfleizach@apple.com>

        AX: Cannot call setValue() on contenteditable or ARIA text controls
        https://bugs.webkit.org/show_bug.cgi?id=173520

        Reviewed by Ryosuke Niwa.

        * accessibility/set-value-editable-types-expected.txt: Added.
        * accessibility/set-value-editable-types.html: Added.

2017-06-20  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] Implement CryptoKeyEC SPKI imports
        https://bugs.webkit.org/show_bug.cgi?id=172927

        Reviewed by Jiewen Tan, Michael Catanzaro and Carlos Garcia Campos.

        * platform/gtk/TestExpectations:
        Unskip or enable the EC-based SPKI import tests that are now passing.

2017-06-20  Myles C. Maxfield  <mmaxfield@apple.com>

        Disable font variations on macOS Sierra and iOS 10
        https://bugs.webkit.org/show_bug.cgi?id=173618
        <rdar://problem/32879164>

        Reviewed by Jon Lee.

        Update expected test results. The old test results are now High Sierra- and iOS 11-expected.

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-font-family-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * fast/text/font-selection-font-face-parse-expected.txt:
        * fast/text/font-selection-font-loading-api-parse-expected.txt:
        * fast/text/font-stretch-parse-expected.txt:
        * fast/text/font-style-parse-expected.txt:
        * fast/text/font-weight-parse-expected.txt:
        * platform/ios/TestExpectations:
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/font-selection-font-loading-api-parse-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/font-stretch-parse-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/font-style-parse-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/font-weight-parse-expected.txt: Removed.
        * platform/mac-elcapitan/svg/css/getComputedStyle-basic-expected.txt: Removed
        * platform/mac/TestExpectations:
        * platform/mac/svg/css/getComputedStyle-basic-expected.txt: Removed

2017-06-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: Send context attributes for tracked canvases
        https://bugs.webkit.org/show_bug.cgi?id=173327

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/context-attributes-expected.txt: Added.
        * inspector/canvas/context-attributes.html: Added.

2017-06-20  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/video-replace-muted-track.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173486

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-06-20  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] The system Japanese font cannot be italicized
        https://bugs.webkit.org/show_bug.cgi?id=173300
        <rdar://problem/31805407>

        Reviewed by Ryosuke Niwa.

        * fast/text/system-font-japanese-synthetic-italic-expected-mismatch.html: Added.
        * fast/text/system-font-japanese-synthetic-italic.html: Added.
        * platform/mac/TestExpectations: This codepath doesn't work in El Capitan.

2017-06-20  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r218524.

        This change broke internal builds.

        Reverted changeset:

        "[Cocoa] The system Japanese font cannot be italicized"
        https://bugs.webkit.org/show_bug.cgi?id=173300
        http://trac.webkit.org/changeset/218524

2017-06-20  Simon Fraser  <simon.fraser@apple.com>

        <rdar://problem/32862652> [REGRESSION] r218374: fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html
        
        Rebaseline.

        * fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt:

2017-06-20  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/events/touch/document-create-touch-list tests.

        Unreviewed test gardening.

        * fast/events/touch/document-create-touch-list-crash-expected.txt:
        * fast/events/touch/document-create-touch-list-ios-expected.txt:

2017-06-20  Matt Baker  <mattbaker@apple.com>

        LayoutTest inspector/canvas/create-canvas-contexts.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=173603

        Reviewed by Joseph Pecoraro.

        Removed test case `CheckCanvasesCleared`, which involved a page reload
        and would intermittently timeout.

        * inspector/canvas/create-canvas-contexts-expected.txt:
        * inspector/canvas/create-canvas-contexts.html:

2017-06-20  Antoine Quint  <graouts@apple.com>

        REGRESSION: media/remote-control-command-seek.html is timing out
        https://bugs.webkit.org/show_bug.cgi?id=173615
        <rdar://problem/32626498>

        Reviewed by Eric Carlson.

        This test assumes that we load metadata and video data that can be seeked through
        at the same time, but this is incorrect. Using the "canplaythrough" event guarantees
        that the video is seekable, so we switch to this event to make the test more robust.

        * media/remote-control-command-seek-expected.txt:
        * media/remote-control-command-seek.html:

2017-06-20  Matt Lewis  <jlewis3@apple.com>

        Added additional test expectations for media/video-buffered.html.
        https://bugs.webkit.org/show_bug.cgi?id=173611

        Uneviewed test gardening.

        * platform/ios/TestExpectations:

2017-06-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: add console messages for WebGL shader compile and program link errors/warnings
        https://bugs.webkit.org/show_bug.cgi?id=143236
        <rdar://problem/20352149>

        Reviewed by Dean Jackson.

        * fast/canvas/webgl/fragment-shader-assertion.html:
        * fast/canvas/webgl/shader-compile-logging-expected.txt: Added.
        * fast/canvas/webgl/shader-compile-logging.html: Added.

2017-06-19  Antoine Quint  <graouts@apple.com>

        Media document experience with long-loading files is poor
        https://bugs.webkit.org/show_bug.cgi?id=173575
        <rdar://problem/32178119>

        Reviewed by Dean Jackson.

        Fix a test that started failing with this patch and add two new tests that check we are adding
        the expected CSS classes when loading video and invalid media documents.

        * media/modern-media-controls/media-documents/media-document-invalid-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-invalid.html: Added.
        * media/modern-media-controls/media-documents/media-document-video-with-initial-audio-layout-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-video-with-initial-audio-layout.html: Added.
        * media/modern-media-controls/volume-up-support/volume-up-support-expected.txt:
        * media/modern-media-controls/volume-up-support/volume-up-support.html:

2017-06-20  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Enable appcache tests

        Unreviewed gardening.

        Most of these tests are passing, so enable them. For known GTK+
        failures, copy the expectations. Mark as failing deferred events
        tests that have slight differences that need to be investigated.
        * platform/wpe/TestExpectations:

2017-06-20  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Skip geolocation tests

        Geolocation was disabled since r218553 and thus far tests were
        only using the mock provider. Skip until we add geoclue
        support.
        * platform/wpe/TestExpectations:

2017-06-20  Oleksandr Skachkov  <gskachkov@gmail.com>

        Revert changes in bug#160417 about extending `null` not being a derived class
        https://bugs.webkit.org/show_bug.cgi?id=169293

        Reviewed by Saam Barati.

        * js/class-syntax-extends-expected.txt:
        * js/class-syntax-super-expected.txt:
        * js/script-tests/class-syntax-extends.js:
        * js/script-tests/class-syntax-super.js:

2017-06-20  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        Unskipping AES-CTR and RSA-PSS layout tests that already pass.

        Adding layout test baselines for two imported W3C tests that cover AES-CBC.
        The subtests there pass, but the generic baseline expects failures, so we
        work around that by adding baselines that expect passing tests.

        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https-expected.txt: Added.

2017-06-20  Miguel Gomez  <magomez@igalia.com>

        [GTK] Layout Test fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html makes the subsequent test case flaky crash.
        https://bugs.webkit.org/show_bug.cgi?id=173459

        Reviewed by Carlos Garcia Campos.

        Unskip fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html.

        * platform/gtk/TestExpectations:

2017-06-19  Devin Rousso  <drousso@apple.com>

        Web Inspector: create canvas content view and details sidebar panel
        https://bugs.webkit.org/show_bug.cgi?id=138941
        <rdar://problem/19051672>

        Reviewed by Joseph Pecoraro.

        * inspector/canvas/requestContent-expected.txt: Added.
        * inspector/canvas/requestContent.html: Added.
        * inspector/canvas/requestNode-expected.txt: Added.
        * inspector/canvas/requestNode.html: Added.

2017-06-19  Frederic Wang  <fwang@igalia.com>

        [iOS] Always include frames in the scrolling tree when async frame scrolling is enabled
        https://bugs.webkit.org/show_bug.cgi?id=173405

        Reviewed by Simon Fraser.

        Add some new expectations for iOS/WK2 now that the "async frame scrolling" setting is taken
        into account for the layer and scrolling trees.

        * platform/ios-wk2/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
        A specific layer is created for the iframe.
        * platform/ios-wk2/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.
        The frame appears in the scrolling tree.
        * platform/ios/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/scrolling/scrolling-tree-includes-frame-expected.txt.
        Use this as a generic expectation for iOS.

2017-06-19  Frederic Wang  <fwang@igalia.com>

        [Mac] Add an experimental feature setting for async frame scrolling
        https://bugs.webkit.org/show_bug.cgi?id=173359

        Reviewed by Simon Fraser.

        * compositing/iframes/compositing-for-scrollable-iframe.html: Use "async frame scrolling" for
        this test.
        * fast/scrolling/scrolling-tree-includes-frame.html: Ditto.

2017-06-19  Zan Dobersek  <zdobersek@igalia.com>

        [WebCrypto] Add test for ECDH SPKI imports using the ecDH algorithm identifier
        https://bugs.webkit.org/show_bug.cgi?id=173543

        Reviewed by Jiewen Tan.

        Add the ecdh-import-spki-key-ecdh-identifier.html layout test which
        tests for successful import of EC keys through the SPKI format when
        using the ecDH algorithm identifier (OID 1.3.132.1.12) and following
        the ECDH algorithm import steps.

        No implementation supports this yet, so the test is skipped on all ports.

        * TestExpectations:
        * crypto/subtle/ecdh-import-spki-key-ecdh-identifier-expected.txt: Added.
        * crypto/subtle/ecdh-import-spki-key-ecdh-identifier.html: Added.

2017-06-19  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] The system Japanese font cannot be italicized
        https://bugs.webkit.org/show_bug.cgi?id=173300
        <rdar://problem/31805407>

        Reviewed by Ryosuke Niwa.

        * fast/text/system-font-japanese-synthetic-italic-expected-mismatch.html: Added.
        * fast/text/system-font-japanese-synthetic-italic.html: Added.
        * platform/mac/TestExpectations: This codepath doesn't work in El Capitan.

2017-06-19  Youenn Fablet  <youenn@apple.com>

        Improve debugging ability of some webrtc tests
        https://bugs.webkit.org/show_bug.cgi?id=173549

        Reviewed by Eric Carlson.

        Improve debugging ability for first two tests.
        Improve reliability for the next three tests.

        * webrtc/audio-replace-track-expected.txt:
        * webrtc/audio-replace-track.html: Checking connected state.
        * webrtc/video-mute-expected.txt:
        * webrtc/video-mute.html: Ditto.
        * webrtc/video-replace-track-to-null.html: Improving reliability of test.
        * webrtc/video-rotation.html: Adding some delay before testing black frames and increasing delay between the tests..
        * webrtc/video-unmute.html: Using counter based testing of black frames.

2017-06-19  Alex Christensen  <achristensen@webkit.org>

        [Cocoa] implement URLSession:task:needNewBodyStream: delegate method
        https://bugs.webkit.org/show_bug.cgi?id=173551
        rdar://problem/32250512

        Reviewed by Alex Christensen.

        * http/tests/misc/form-blob-challenge-expected.txt: Added.
        * http/tests/misc/form-blob-challenge.html: Added.
        * http/tests/misc/resources/basic-echo-post.php: Added.

2017-06-19  Matt Lewis  <jlewis3@apple.com>

        Adjusted test ecpectaions for webrtc/libwebrtc/descriptionGetters.html.
        https://bugs.webkit.org/show_bug.cgi?id=171703

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-19  Joseph Pecoraro  <pecoraro@apple.com>

        test262: Completion values for control flow do not match the spec
        https://bugs.webkit.org/show_bug.cgi?id=171265

        Reviewed by Saam Barati.

        * js/eval-throw-return-expected.txt:
        * js/kde/completion-expected.txt:
        * js/kde/script-tests/completion.js:
        * js/script-tests/eval-throw-return.js:
        * sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A9-expected.txt:
        * sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A9.1-expected.txt:
        Rebaseline expectations. These are all outdated. In fact the sputnik
        tests were imported into test262 and modified for ES2015.
        
        * js/script-tests/function-toString-vs-name.js:
        ClassDeclarations on their own don't produce a value. So output
        the class value so the test behaves as expected.

2017-06-19  Sam Weinig  <sam@webkit.org>

        [WebIDL] Add support for serializers that have members that are themselves serializers (or inherit being a serializer from a parent)
        https://bugs.webkit.org/show_bug.cgi?id=173395

        Reviewed by Simon Fraser.

        * fast/css/DOMQuad-serialization-expected.txt: Added.
        * fast/css/DOMQuad-serialization.html: Added.
        Add test for DOMQuad serialization, now that it is supported.

2017-06-19  Commit Queue  <commit-queue@webkit.org>

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

        "It would break internal builds" (Requested by youenn on
        #webkit).

        Reverted changeset:

        "[WebRTC] Prevent capturing at unconventional resolutions when
        using the SW encoder on Mac"
        https://bugs.webkit.org/show_bug.cgi?id=172602
        http://trac.webkit.org/changeset/218505

2017-06-19  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Prevent capturing at unconventional resolutions when using the SW encoder on Mac
        https://bugs.webkit.org/show_bug.cgi?id=172602
        <rdar://problem/32407693>

        Reviewed by Eric Carlson.

        * platform/mac-wk1/TestExpectations: Mark captureCanvas as flaky due to AVDCreateGPUAccelerator: Error loading GPU renderer" appearing on some bots.
        * platform/mac/webrtc/captureCanvas-webrtc-software-encoder-expected.txt: Copied from LayoutTests/webrtc/captureCanvas-webrtc-expected.txt.
        * platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html: Added.
        * webrtc/captureCanvas-webrtc-expected.txt:
        * webrtc/captureCanvas-webrtc.html:

2017-06-19  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html.

        Unreviewed test gardening.

        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

2017-06-19  Youenn Fablet  <youenn@apple.com>

        A cloned MediaStreamTrack should mute independently other tracks using the same source
        https://bugs.webkit.org/show_bug.cgi?id=172831
        <rdar://problem/32518527>

        Reviewed by Eric Carlson.

        * webrtc/clone-audio-track.html: Added.
        * webrtc/video-disabled-black.html:
        * webrtc/video-unmute-expected.txt:
        * webrtc/video-unmute.html:

2017-06-19  Sam Weinig  <sam@webkit.org>

        [WebIDL] Properly model buffer source / typed arrays as their own IDL types
        https://bugs.webkit.org/show_bug.cgi?id=173513

        Reviewed by Alex Christensen.

        * crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt:
        * crypto/subtle/hkdf-derive-bits-malformed-parametrs-expected.txt:
        * crypto/subtle/pbkdf2-derive-bits-malformed-parametrs-expected.txt:
        Update results for changed exception language.

2017-06-19  Claudio Saavedra  <csaavedra@igalia.com>

        Unreviewed GTK+ gardening

        Unmarked a bunch of http multimedia tests that were failing with gst 1.6.3.
        We're now depending on 1.10.4 and these are passing. Also marked as slow
        a couple more.
        * platform/gtk/TestExpectations:

2017-06-19  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        Enable RSA-PSS tests on the GTK+ port. Tests covering this Web Crypto
        algorithm are skipped on all platforms, but since the libgcrypt-based
        implementation is operating properly, we can enable the majority of
        these tests for GTK+. The tests that remain skipped cover SPKI and
        PKCS#8 import and export capabilities that still have to be landed.

        WPE will enable these tests in a separate patch.

        * platform/gtk/TestExpectations:

2017-06-19  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Rebaseline js/dom/dom-static-property-for-in-iteration.html
        https://bugs.webkit.org/show_bug.cgi?id=133868

        Unreviewed gardening

        This test needs expectations to be updated after changes to DOM
        static properties. Update and unskip.
        * platform/gtk/TestExpectations: Unskip.
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:

2017-06-19  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] AES_CTR support
        https://bugs.webkit.org/show_bug.cgi?id=171420

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Unskip the relevant AES_CTR tests.

2017-06-19  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Layout Test imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-createOffer.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=173456

        Unreviewed gardening.

        * platform/gtk/TestExpectations: Marked
        imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-createOffer.html,
        webrtc/createOfferAnswer.html and webrtc/video-addTransceiver.html Crash.

2017-06-19  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK][WPE] Rebaseline after r218458

        Unreviewed gardening.

        Add new DOMQuad attribute to the test expectations.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/wpe/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-05-14 Frederic Wang  <fwang@igalia.com>

        Add heuristic to avoid flattening "fullscreen" iframes
        https://bugs.webkit.org/show_bug.cgi?id=171914

        Reviewed by Simon Fraser.

        This commit adjusts tests to work when frame flattening is an enum.
        It also adds a test to check the new heuristic when "frame flattening for non-fullscreen
        iframes" is enabled.
        set-preference.html is disabled for now, as the test suite does not support overridePreference()
        for non-boolean values (bug 128594).

        * fast/forms/ios/delete-in-input-in-iframe.html: Use enum value "FullyEnabled".
        * fast/forms/ios/focus-input-in-iframe.html: Ditto.
        * fast/forms/ios/programmatic-focus-input-in-iframe.html: Ditto.
        * fast/forms/ios/typing-in-input-in-iframe.html: Ditto.
        * fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html: Ditto.
        * fast/frames/flattening/crash-svg-document.html: Ditto.
        * fast/frames/flattening/crash-when-sibling-iframe-is-destroyed-with-subtree-layoutroot.html: Ditto.
        * fast/frames/flattening/frameset-flattening-advanced.html: Ditto.
        * fast/frames/flattening/frameset-flattening-grid.html: Ditto.
        * fast/frames/flattening/frameset-flattening-simple.html: Ditto.
        * fast/frames/flattening/frameset-flattening-subframe-resize.html: Ditto.
        * fast/frames/flattening/frameset-flattening-subframesets.html: Ditto.
        * fast/frames/flattening/hittest-iframe-while-style-changes-crash.html: Ditto.
        Be sure to use single quotes for the inline iframe page.
        * fast/frames/flattening/iframe-flattening-crash.html: Use enum value "FullyEnabled".
        * fast/frames/flattening/iframe-flattening-fixed-height.html: Ditto.
        * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html: Ditto.
        * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html: Ditto.
        * fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html: Ditto.
        * fast/frames/flattening/iframe-flattening-fixed-width-and-height.html: Ditto.
        * fast/frames/flattening/iframe-flattening-fixed-width.html: Ditto.
        * fast/frames/flattening/iframe-flattening-fullscreen.html: Added. Check the new heuristic.
        * fast/frames/flattening/iframe-flattening-fullscreen-expected.txt: Added.
        * fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html: Use enum value "FullyEnabled".
        * fast/frames/flattening/iframe-flattening-nested.html: Ditto.
        * fast/frames/flattening/iframe-flattening-offscreen.html: Ditto.
        * fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html: Ditto.
        * fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html: Ditto.
        * fast/frames/flattening/iframe-flattening-out-of-view.html: Ditto.
        * fast/frames/flattening/iframe-flattening-resize-event-count.html: Ditto.
        * fast/frames/flattening/iframe-flattening-selection-crash.html: Ditto.
        * fast/frames/flattening/iframe-flattening-simple.html: Ditto.
        * fast/frames/flattening/iframe-tiny.html: Ditto.
        * fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html: Ditto.
        * fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html: Ditto.
        * fast/frames/flattening/scrolling-in-object.html: Ditto.
        * fast/spatial-navigation/snav-iframe-flattening-simple.html: Ditto.
        * http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html: Ditto.
        * platform/mac/TestExpectations: Disable this due to limitation in the test infrastructure.
        * plugins/frameset-with-plugin-frame.html: Use enum value "FullyEnabled".

2017-06-18  Ryosuke Niwa  <rniwa@webkit.org>

        Meter element doesn't respect the writing direction
        https://bugs.webkit.org/show_bug.cgi?id=173507

        Reviewed by Sam Weinig.

        A regression ref test since existing tests were pixel tests and did not catch this regression.
        Note that black border was added to workaround the anti-aliasing differences in macOS High Sierra.

        * fast/dom/HTMLMeterElement/meter-rtl-expected.html: Added.
        * fast/dom/HTMLMeterElement/meter-rtl.html: Added.

2017-06-18  Chris Dumez  <cdumez@apple.com>

        Crash when re-entering MediaDevicesEnumerationRequest::cancel()
        https://bugs.webkit.org/show_bug.cgi?id=173522
        <rdar://problem/31185739>

        Reviewed by Darin Adler.

        Add layout test coverage. This test would flakily crash before the fix because it
        relies on the order in which contextDestroyed() is called for MediaDevicesRequest
        and MediaDevicesEnumerationRequest.

        * fast/mediastream/destroy-document-while-enumerating-devices-expected.txt: Added.
        * fast/mediastream/destroy-document-while-enumerating-devices.html: Added.
        * fast/mediastream/resources/enumerate-devices-frame.html: Added.

2017-06-17  Simon Fraser  <simon.fraser@apple.com>

        Implement DOMQuad
        https://bugs.webkit.org/show_bug.cgi?id=163534

        Reviewed by Sam Weinig.
        
        Implement DOMQuad per https://drafts.fxtf.org/geometry/#DOMQuad.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-06-17  Antti Koivisto  <antti@apple.com>

        Crash due to infinite recursion via FrameSelection::updateAppearanceAfterLayout
        https://bugs.webkit.org/show_bug.cgi?id=173468

        Reviewed by Ryosuke Niwa.

        * editing/selection/updateAppearanceAfterLayout-recursion-expected.txt: Added.
        * editing/selection/updateAppearanceAfterLayout-recursion.html: Added.

2017-06-17  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-06-17  Keith Miller  <keith_miller@apple.com>

        ArrayPrototype methods should use JSValue::toLength for non-Arrays.
        https://bugs.webkit.org/show_bug.cgi?id=173506

        Unreviewed test gardening.

        * TestExpectations:

2017-06-17  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening. Remove duplicate entries for tests.

        * platform/win/TestExpectations:

2017-06-17  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r209495): materiauxlaverdure.com fails to load
        https://bugs.webkit.org/show_bug.cgi?id=173301
        <rdar://problem/32624850>

        Reviewed by Antti Koivisto.

        Rebaselined the existing tests and added a new regression test for serializing CSS properties and values.

        * accessibility/mac/alt-for-css-content-expected.txt:
        * accessibility/mac/webkit-alt-for-css-content-expected.txt:
        * editing/pasteboard/cjk-line-height-expected.txt:
        * fast/css/alt-inherit-initial-expected.txt:
        * fast/css/alt-inherit-initial.html:
        * fast/css/content-language-comma-separated-list-expected.txt:
        * fast/css/content-language-empty-expected.txt:
        * fast/css/content-language-only-whitespace-expected.txt:
        * fast/css/content-language-with-whitespace-expected.txt:
        * fast/css/counters/counter-cssText-expected.txt:
        * fast/css/counters/counter-cssText.html:
        * fast/css/font-family-trailing-bracket-gunk-expected.txt:
        * fast/css/font-family-trailing-bracket-gunk.html:
        * fast/css/getComputedStyle/computed-style-font-family-expected.txt:
        * fast/css/getComputedStyle/computed-style-properties-expected.txt:
        * fast/css/getComputedStyle/computed-style-properties.html:
        * fast/css/getComputedStyle/font-family-fallback-reset-expected.txt:
        * fast/css/getComputedStyle/font-family-fallback-reset.html:
        * fast/css/lang-mapped-to-webkit-locale-expected.txt:
        * fast/css/lang-mapped-to-webkit-locale.xhtml:
        * fast/css/serialization-with-double-quotes-expected.txt: Added.
        * fast/css/serialization-with-double-quotes.html: Added.
        * fast/css/uri-token-parsing-expected.txt:
        * fast/css/uri-token-parsing.html:
        * fast/inspector-support/cssURLQuotes-expected.txt:
        * fast/inspector-support/style-expected.txt:
        * fast/text/font-stretch-parse-expected.txt:
        * fast/text/font-stretch-parse.html:
        * fast/text/font-style-parse-expected.txt:
        * fast/text/font-style-parse.html:
        * fast/text/font-weight-parse-expected.txt:
        * fast/text/font-weight-parse.html:
        * media/controls/track-menu.html:
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
        * platform/mac-elcapitan/fast/text/font-stretch-parse-expected.txt:
        * platform/mac-elcapitan/fast/text/font-style-parse-expected.txt:
        * platform/mac-elcapitan/fast/text/font-weight-parse-expected.txt:

2017-06-16  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-06-16  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed test gardening. Update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-06-16  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
        https://bugs.webkit.org/show_bug.cgi?id=172623
        <rdar://problem/32415986>

        Reviewed by Devin Rousso and Joseph Pecoraro.

        Test that CanvasAgent dispatches events for canvas lifecycle events.

        * inspector/canvas/create-canvas-contexts-expected.txt: Added.
        * inspector/canvas/create-canvas-contexts.html: Added.

2017-06-16  Sam Weinig  <sam@webkit.org>

        [WebIDL] Remove custom bindings for HTMLDocument
        https://bugs.webkit.org/show_bug.cgi?id=173444

        Reviewed by Darin Adler.

        * dom/xhtml/level2/html/HTMLDocument17-expected.txt:
        * dom/xhtml/level2/html/HTMLDocument18-expected.txt:
        * dom/xhtml/level2/html/HTMLDocument19-expected.txt:
        * dom/xhtml/level2/html/HTMLDocument20-expected.txt:
        * dom/xhtml/level2/html/HTMLDocument21-expected.txt:
        Update test results for correct exception being thrown.

        * fast/dom/frame-deleted-in-document-open-expected.txt: Removed.
        * fast/dom/frame-deleted-in-document-open.html: Removed.
        * http/tests/security/isolatedWorld/document-open-expected.txt: Removed.
        * http/tests/security/isolatedWorld/document-open.html: Removed.
        Remove two tests that were testing the behavior of document.open using javascript
        to call the window.open operation. This is not how it is specified and no
        longer how it is implemented.

2017-06-16  Youenn Fablet  <youenn@apple.com>

        WebRTC sockets should be closed at destruction time if not closed explicitly
        https://bugs.webkit.org/show_bug.cgi?id=173479

        Reviewed by Eric Carlson.

        * webrtc/datachannel/multiple-connections-expected.txt: Added.
        * webrtc/datachannel/multiple-connections.html: Added.

2017-06-16  Youenn Fablet  <youenn@apple.com>

        addTransceiver should trigger mid generation in the SDP
        https://bugs.webkit.org/show_bug.cgi?id=173452

        Reviewed by Alex Christensen.

        * webrtc/routines.js:
        (createConnections):
        * webrtc/video-addTransceiver-expected.txt: Added.
        * webrtc/video-addTransceiver.html: Added.

2017-06-16  Jonathan Bedard  <jbedard@apple.com>

        Clean-up lint-test-expectation errors

        Unreviewed test gardening

        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/win/TestExpectations:

2017-06-16  Youenn Fablet  <youenn@apple.com>

        [iOS] Switching cameras in a WebRTC call makes black frames being sent
        https://bugs.webkit.org/show_bug.cgi?id=173486

        Reviewed by Eric Carlson.

        * webrtc/video-replace-muted-track-expected.txt: Added.
        * webrtc/video-replace-muted-track.html: Added.

2017-06-16  Ryan Haddad  <ryanhaddad@apple.com>

        Remove a test that was accidentally checked in with r218408.

        Unreviewed test gardening.

        * webrtc/datachannel/test.html: Removed.

2017-06-16  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173487

        Unreviewed test gardening.


        * platform/mac/TestExpectations:

2017-06-16  Youenn Fablet  <youenn@apple.com>

        Remove replaceTrack restriction about video resolution
        https://bugs.webkit.org/show_bug.cgi?id=173490

        Reviewed by Eric Carlson.

        * webrtc/video-replace-track-expected.txt:
        * webrtc/video-replace-track.html:

2017-06-16  Matt Lewis  <jlewis3@apple.com>

        Marked multiple imported/w3c/web-platform-tests/IndexedDB as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172834

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-16  Jer Noble  <jer.noble@apple.com>

        [iOS] Do not pause playing video when application resigns active state.
        https://bugs.webkit.org/show_bug.cgi?id=173474

        Reviewed by Tim Horton.

        * media/video-background-playback-expected.txt:
        * media/video-background-playback.html:
        * media/video-background-tab-playback-expected.txt:
        * media/video-background-tab-playback.html:
        * media/video-inactive-playback-expected.txt: Added.
        * media/video-inactive-playback.html: Added.

2017-06-16  Alex Christensen  <achristensen@webkit.org>

        REGRESSION (r213126): Sync XHR needs partition for cache and credentials
        https://bugs.webkit.org/show_bug.cgi?id=173496
        <rdar://problem/31943596>

        Reviewed by Darin Adler.

        * http/tests/security/sync-xhr-partition-expected.txt: Added.
        * http/tests/security/sync-xhr-partition.html: Added.

2017-06-16  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/fetch/nosniff/importscripts.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173432
        
        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-06-16  Matt Lewis  <jlewis3@apple.com>

        Adjusted test expectations for media/track/track-in-band-cues-added-once.html.
        https://bugs.webkit.org/show_bug.cgi?id=142152

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-16  Youenn Fablet  <youenn@apple.com>

        Make some WebRTC tests easier to debug when failing
        https://bugs.webkit.org/show_bug.cgi?id=173480

        Reviewed by Eric Carlson.

        * webrtc/captureCanvas-webrtc-expected.txt:
        * webrtc/captureCanvas-webrtc.html: Splitting test in smaller tests.
        * webrtc/datachannel/basic-expected.txt:
        * webrtc/datachannel/basic-tcp-expected.txt: Added.
        * webrtc/datachannel/basic-tcp.html: Test from basic.html
        * webrtc/datachannel/basic.html: Moving TCP specifict test and other creation tests to their own files.
        * webrtc/datachannel/bufferedAmountLowThreshold.html: Removing console log message in case of unhandled promise.
        * webrtc/datachannel/creation-expected.txt:
        * webrtc/datachannel/creation.html: Test from basic.html
        * webrtc/datachannel/filter-ice-candidate-expected.txt:
        * webrtc/datachannel/filter-ice-candidate.html: Exchanging the tests.
        * webrtc/video-stats.html: Improving test that timestamp is milliseconds and not microseconds.

2017-06-16  Antoine Quint  <graouts@apple.com>

        REGRESSION: AirPlay placard is not shown when in fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=173447
        <rdar://problem/32803773>

        Reviewed by Jon Lee.

        Add a new test to check that we display the AirPlay placard on macOS in fullscreen.

        * media/modern-media-controls/placard-support/placard-support-airplay-fullscreen-expected.txt: Added.
        * media/modern-media-controls/placard-support/placard-support-airplay-fullscreen.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-06-16  Antoine Quint  <graouts@apple.com>

        Backdrop blur missing in media controls bar on Sierra
        https://bugs.webkit.org/show_bug.cgi?id=173451

        Reviewed by Simon Fraser.

        Add a new test that checks that a ControlsBar establishes a stacking context.

        * media/modern-media-controls/controls-bar/controls-bar-stacking-context-expected.txt: Added.
        * media/modern-media-controls/controls-bar/controls-bar-stacking-context.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-16  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r218376.

        The patch cause multiple Layout Test Crashes.

        Reverted changeset:

        "Web Inspector: Instrument 2D/WebGL canvas contexts in the
        backend"
        https://bugs.webkit.org/show_bug.cgi?id=172623
        http://trac.webkit.org/changeset/218376

2017-06-16  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Layout Test fast/events/tabindex-focus-blur-all.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=145171

        Unreviewed gardening.

        Recently, this test case results in flaky crash, no flaky timeout.

        * platform/gtk/TestExpectations: Marked it Crash Pass.

2017-06-16  Adrian Perez de Castro  <aperez@igalia.com>

        REGRESSION(r215188?): Test platform/gtk/fast/forms/menulist-typeahead-find.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=171492

        Unreviewed gardening.

        * platform/gtk/TestExpectations: The fixes needed for the test to pass
        have landed, so the test can be unskipped.

2017-06-16  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Layout Test fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html makes the subsequent test case flaky crash.
        https://bugs.webkit.org/show_bug.cgi?id=173459

        Unreviewed gardening.

        * platform/gtk/TestExpectations: Marked it Skip.

2017-06-16  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] fast/animation gardening

        Unreviewed gardening.

        fast/animation tests are flaky, report and mark.
        fast/animation/height-auto-transition-computed-value.html is not really failing, unmark.
        storage/domstorage/sessionstorage/set-item-synchronous-keydown.html
        depends on event injection in WTR that is not implemented in WPE
        yet, reported and marked as failing.
        * platform/wpe/TestExpectations:

2017-06-15  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-06-15  Antoine Quint  <graouts@apple.com>

        REGRESSION: AirPlay button is incorrectly highlighted in inline and fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=173446

        Reviewed by Dean Jackson.

        Update the test to explicitly check the color on the <picture>. We also make the test check
        the color with a value depending on the platform, so we can use a single expectation file.

        * media/modern-media-controls/airplay-button/airplay-button-on-expected.txt:
        * media/modern-media-controls/airplay-button/airplay-button-on.html:
        * platform/ios/media/modern-media-controls/airplay-button/airplay-button-on-expected.txt: Removed.

2017-06-15  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
        https://bugs.webkit.org/show_bug.cgi?id=172623
        <rdar://problem/32415986>

        Reviewed by Devin Rousso.

        Test that CanvasAgent dispatches events for canvas lifecycle events.

        * inspector/canvas/create-canvas-contexts-expected.txt: Added.
        * inspector/canvas/create-canvas-contexts.html: Added.

2017-06-15  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Expand system-ui to include every item in the Core Text cascade list
        https://bugs.webkit.org/show_bug.cgi?id=173043
        <rdar://problem/21125708>

        Reviewed by Simon Fraser.

        * fast/text/system-font-fallback-emoji-expected.txt: Added.
        * fast/text/system-font-fallback-emoji.html: Added.
        * fast/text/system-font-fallback-expected.html: Added.
        * fast/text/system-font-fallback.html: Added.
        * fast/text/system-font-zero-size-expected.txt: Added.
        * fast/text/system-font-zero-size.html: Added.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/mac/fast/text/international/system-language/system-font-punctuation-expected.png: Added.

2017-06-15  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/video-unmute.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172879

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2017-06-15  Saam Barati  <sbarati@apple.com>

        [iOS wk2] Layout Test perf/object-keys.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=171617
        <rdar://problem/31977874>

        Reviewed by Mark Lam.

        Increase the starting magnitude of the object-keys test to
        remove variance from having objects with a very few number of keys.

        * perf/object-keys.html:
        * platform/ios-wk2/TestExpectations:

2017-06-15  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/datachannel/basic.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172922

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:
        * platform/wk2/TestExpectations:

2017-06-15  Matt Lewis  <jlewis3@apple.com>

        REGRESSION (r218228): Layout Test editing/execCommand/strikethrough-uses-strike-tag.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=173375

        Unreviewed test gardening.

        Reverted an incorrect baseline and skipped a test causing test failures.

        * TestExpectations:
        * platform/mac-wk1/editing/execCommand/strikethrough-uses-strike-tag-expected.txt: Removed.
        * platform/win/editing/execCommand/strikethrough-uses-strike-tag-expected.txt: Removed.

2017-06-15  Youenn Fablet  <youenn@apple.com>

        RTCPeerConnection returns RTCSessionDescription where RTCSessionDescriptionInit would be appropriate
        https://bugs.webkit.org/show_bug.cgi?id=173118
        <rdar://problem/32746761>

        Reviewed by Eric Carlson.

        * fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt:
        * fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
        * webrtc/createOfferAnswer-expected.txt: Added.
        * webrtc/createOfferAnswer.html: Added.

2017-06-15  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg as skip.
        https://bugs.webkit.org/show_bug.cgi?id=173333

        Unreviewed test gardening.

        * TestExpectations:

2017-06-15  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests failing after r218320.

        * platform/gtk/TestExpectations:

2017-06-15  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] dom storage gardening

        Unreviewed gardening.

        Two dom storage tests marked as failing have been passing always,
        so remove them.
        * platform/wpe/TestExpectations:

2017-06-14  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: trac.webkit.org/export returns Content-Type application/xhtml+xml for .html files
        https://bugs.webkit.org/show_bug.cgi?id=173191

        Add a MIME type to one test to check if this changes the behavior.

        * http/tests/security/contentSecurityPolicy/allow-favicon.html: Added property svn:mime-type.

2017-06-14  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/media-documents
        https://bugs.webkit.org/show_bug.cgi?id=173394

        Reviewed by Dean Jackson.

        * media/modern-media-controls/media-documents/click-on-video-should-not-pause-expected.txt:
        * media/modern-media-controls/media-documents/click-on-video-should-not-pause.html:
        * media/modern-media-controls/media-documents/media-document-audio-mac-sizing-expected.txt:
        * media/modern-media-controls/media-documents/media-document-audio-mac-sizing.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-14  Dean Jackson  <dino@apple.com>

        Restrict filtered painting across cross-origin boundaries with transforms
        https://bugs.webkit.org/show_bug.cgi?id=173388
        <rdar://problem/27362159>

        Reviewed by Simon Fraser.

        New test that checks painting across a origin boundary when in
        a transformed container. Also clean up the existing test
        to make it smfr-compliant (green is good, red is bad).

        * http/tests/css/filters-on-iframes-expected.html:
        * http/tests/css/filters-on-iframes-transform-expected.html: Added.
        * http/tests/css/filters-on-iframes-transform.html: Added.
        * http/tests/css/filters-on-iframes.html:
        * http/tests/css/resources/references-external-green.html: Copied from LayoutTests/http/tests/css/resources/references-external.html.
        * http/tests/css/resources/references-external-red.html: Renamed from LayoutTests/http/tests/css/resources/references-external.html.
        * http/tests/css/resources/solid-green.html: Added.

2017-06-14  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r218161.

        Introduced bot API test failures and Layout Test Failures.

        Reverted changeset:

        "[Cocoa] Expand system-ui to include every item in the Core
        Text cascade list"
        https://bugs.webkit.org/show_bug.cgi?id=173043
        http://trac.webkit.org/changeset/218161

2017-06-14  Zalan Bujtas  <zalan@apple.com>

        Crash in WebCore::RenderStyle::colorIncludingFallback.
        https://bugs.webkit.org/show_bug.cgi?id=173347
        <rdar://problem/32675317>

        Reviewed by Chris Dumez.

        * svg/animations/animated-svg-image-removed-from-document-paused.html: animations are not started synchronously anymore.
        * svg/as-image/svg-css-animation-expected.txt: Added.
        * svg/as-image/svg-css-animation.html: Added.

2017-06-14  Matt Lewis  <jlewis3@apple.com>

        Fixed typo error for re-baselined editing/execCommand/strikethrough-uses-strike-tag.html.
        https://bugs.webkit.org/show_bug.cgi?id=173375
        

        Unreviewed test gardening.

        * platform/mac-wk1/editing/execCommand/strikethrough-uses-strike-tag-expected.txt: Renamed from LayoutTests/platform/mac-wk1/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt.
        * platform/win/editing/execCommand/strikethrough-uses-strike-tag-expected.txt: Renamed from LayoutTests/platform/win/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt.

2017-06-14  Chris Dumez  <cdumez@apple.com>

        transitions/created-while-suspended.html is slow and flaky
        https://bugs.webkit.org/show_bug.cgi?id=173370

        Reviewed by Zalan Bujtas.

        The test was waiting 8 seconds at the end, unnecessarily.
        Instead, end the test as soon as the transition ends, after resuming
        the animations.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:
        * transitions/created-while-suspended-expected.txt:
        * transitions/created-while-suspended.html:

2017-06-14  Antoine Quint  <graouts@apple.com>

        Layout Test media/modern-media-controls/placard-support/placard-support-pip.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=173373

        Reviewed by Antoine Quint.

        * platform/mac/TestExpectations:

2017-06-14  Matt Lewis  <jlewis3@apple.com>

        Rebaselined editing/execCommand/strikethrough-uses-strike-tag.html.
        https://bugs.webkit.org/show_bug.cgi?id=173375
        

        Unreviewed test gardening.

        * platform/mac-wk1/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt: Added.
        * platform/win/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt: Added.

2017-06-14  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r218157.

        This patch caused multiple API failures on iOS Simulator.

        Reverted changeset:

        "@font-face rules with invalid primary fonts never download
        their secondary fonts"
        https://bugs.webkit.org/show_bug.cgi?id=173138
        http://trac.webkit.org/changeset/218157

2017-06-14  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r217997): mint.com header renders incorrectly when initially loaded
        https://bugs.webkit.org/show_bug.cgi?id=173302
        <rdar://problem/32731747>

        Reviewed by Darin Adler.

        Add layout test coverage. We change the style of the animated element while the animation is paused,
        and then we resume the animations.

        * fast/animation/css-animation-resuming-when-visible-with-style-change-expected.txt: Added.
        * fast/animation/css-animation-resuming-when-visible-with-style-change.html: Added.
        * fast/animation/css-animation-resuming-when-visible-with-style-change2-expected.txt: Added.
        * fast/animation/css-animation-resuming-when-visible-with-style-change2.html: Added.

2017-06-14  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-06-14  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] IndexedDB gardening

        Unreviewed gardening.

        Mark a few expected crashers. We don't use IndexedDB in workers,
        storage/indexeddb/modern/worker-getall.html is expected to fail.
        storage/indexeddb/modern/idbkey-array-equality.html is now passing.

        * platform/wpe/TestExpectations:

2017-06-14  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Rebaseline imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess.html

        Unreviewed gardening.

        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess-expected.txt:

2017-06-14  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        MediaSource duration attribute should not be equal to Infinity when set to a value greater than 2^64
        https://bugs.webkit.org/show_bug.cgi?id=171668

        Reviewed by Jer Noble.

        MediaSource duration attribute is a double represented in MediaSource by a MediaTime instance created with
        MediaTime::CreateWithDouble(). This method implements an overflow control mechanism which sets MediaTime to
        Infinity when the double value passed as argument is greater than 2^64.

        This patch removes the overflow control mechanism when time value is represented as a double. This patch also
        modifies the behavior of mathematical operations between a double MediaTime and rational MediaTime: the rational
        MediaTime is converted to a double before applying the operation. Double MediaTime precision is the same as for
        double. Overflow mechanisms still apply to the conversion of a double MediaTime to rational with setTimescale()
        method. No behavior change for rational MediaTime.

        Update test expectations.

        * media/media-source/media-source-timeoffset-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt:
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt:

2017-06-13  Chris Dumez  <cdumez@apple.com>

        Event handlers should not be called in frameless documents
        https://bugs.webkit.org/show_bug.cgi?id=173233

        Reviewed by Sam Weinig.

        Extend layout test coverage.

        * fast/events/event-handler-detached-document-dispatchEvent-expected.txt: Added.
        * fast/events/event-handler-detached-document-dispatchEvent.html: Added.
        * fast/events/event-handler-detached-document-expected.txt: Added.
        * fast/events/event-handler-detached-document.html: Added.

2017-06-13  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/placard-support
        https://bugs.webkit.org/show_bug.cgi?id=173340

        Reviewed by Dean Jackson.

        We update tests to use the new "placard" property rather than "showsPlacard" which this patch removes.

        * media/modern-media-controls/placard-support/placard-support-airplay-expected.txt:
        * media/modern-media-controls/placard-support/placard-support-airplay.html:
        * media/modern-media-controls/placard-support/placard-support-error-expected.txt:
        * media/modern-media-controls/placard-support/placard-support-error-recover-expected.txt:
        * media/modern-media-controls/placard-support/placard-support-error-recover.html:
        * media/modern-media-controls/placard-support/placard-support-error.html:
        * media/modern-media-controls/placard-support/placard-support-pip-expected.txt:
        * media/modern-media-controls/placard-support/placard-support-pip.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-13  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/mute-support
        https://bugs.webkit.org/show_bug.cgi?id=173345

        Reviewed by Dean Jackson.

        * media/modern-media-controls/mute-support/mute-support-press-on-button-expected.txt: Renamed from LayoutTests/media/modern-media-controls/mute-support/mute-support-button-click-expected.txt.
        * media/modern-media-controls/mute-support/mute-support-press-on-button.html: Renamed from LayoutTests/media/modern-media-controls/mute-support/mute-support-button-click.html.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-13  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/tracks-button
        https://bugs.webkit.org/show_bug.cgi?id=173220

        Reviewed by Dean Jackson.

        Use SVG assets.

        * media/modern-media-controls/tracks-button/tracks-button-expected.txt:
        * media/modern-media-controls/tracks-button/tracks-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-13  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/time-control
        https://bugs.webkit.org/show_bug.cgi?id=173218

        Reviewed by Dean Jackson.

        There no longer is a Scrubber class and the useSixDigitsForTimeLabels property no longer exists.
 
        * media/modern-media-controls/time-control/time-control-expected.txt:
        * media/modern-media-controls/time-control/time-control-use-six-digits-for-time-labels-expected.txt: Removed.
        * media/modern-media-controls/time-control/time-control-use-six-digits-for-time-labels.html: Removed.
        * media/modern-media-controls/time-control/time-control.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-13  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/status-label
        https://bugs.webkit.org/show_bug.cgi?id=173217

        Reviewed by Dean Jackson.

        There is no need for macOS and iOS-specific tests, they share the same styles.

        * media/modern-media-controls/status-label/status-label-expected.txt:
        * media/modern-media-controls/status-label/status-label-in-controls-expected.txt: Renamed from LayoutTests/media/modern-media-controls/status-label/status-label-macos-expected.txt.
        * media/modern-media-controls/status-label/status-label-in-controls.html: Renamed from LayoutTests/media/modern-media-controls/status-label/status-label-macos.html.
        * media/modern-media-controls/status-label/status-label-ios-expected.txt: Removed.
        * media/modern-media-controls/status-label/status-label-ios.html: Removed.
        * media/modern-media-controls/status-label/status-label.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-13  Antoine Quint  <graouts@apple.com>

        Remove media/modern-media-controls/start-button
        https://bugs.webkit.org/show_bug.cgi?id=173216

        Reviewed by Dean Jackson.

        The StartButton class was removed.

        * media/modern-media-controls/start-button/start-button-expected.txt: Removed.
        * media/modern-media-controls/start-button/start-button-styles-expected.txt: Removed.
        * media/modern-media-controls/start-button/start-button-styles.html: Removed.
        * media/modern-media-controls/start-button/start-button.html: Removed.

2017-06-13  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/slider
        https://bugs.webkit.org/show_bug.cgi?id=173215

        Reviewed by Dean Jackson.

        * media/modern-media-controls/slider/slider-constructor-expected.txt:
        * media/modern-media-controls/slider/slider-constructor.html:
        * media/modern-media-controls/slider/slider-styles-expected.txt:
        * media/modern-media-controls/slider/slider-styles.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-13  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/skip-back-button
        https://bugs.webkit.org/show_bug.cgi?id=173213

        Reviewed by Dean Jackson.

        Use SVG assets.

        * media/modern-media-controls/skip-back-button/skip-back-button-expected.txt:
        * media/modern-media-controls/skip-back-button/skip-back-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/time-label
        https://bugs.webkit.org/show_bug.cgi?id=173219

        Reviewed by Dean Jackson.

        We update the content of the time-label.html test to be relevant to its new API.

        * media/modern-media-controls/time-label/time-label-expected.txt:
        * media/modern-media-controls/time-label/time-label.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/fullscreen-support
        https://bugs.webkit.org/show_bug.cgi?id=173199

        Reviewed by Simon Fraser.

        We no longer need to test the "error" event for FullscreenSupport since we don't actually
        enable or disable the fullscreen button when an error happens, instead the media controls
        code will simply not present it since we'll be showing a placard instead.
        
        We also remove the iPad-specific test since the fullscreen button is now accessible on an
        iPhone as well, so it no longer needs a special iPad test.

        * media/modern-media-controls/fullscreen-support/fullscreen-support-enabled-expected.txt:
        * media/modern-media-controls/fullscreen-support/fullscreen-support-enabled.html:
        * media/modern-media-controls/fullscreen-support/fullscreen-support-press-expected.txt: Renamed from LayoutTests/media/modern-media-controls/fullscreen-support/fullscreen-support-click-expected.txt.
        * media/modern-media-controls/fullscreen-support/fullscreen-support-press.html: Renamed from LayoutTests/media/modern-media-controls/fullscreen-support/fullscreen-support-click.html.
        * media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap-expected.txt: Removed.
        * media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap.html: Removed.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Fix linter warnings on the GTK Debug TestExpectation file and update some expectations for Debug.

        Unreviewed test gardening.

        * TestExpectations: Merge expectations for imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.html
        * platform/gtk/TestExpectations: Mark observed timeouts on Debug and fix linter warnings related to tests renamed or deleted.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt: Removed.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt: Removed.

2017-06-13  Zalan Bujtas  <zalan@apple.com>

        Synchronous media query callbacks on nested frames could produced a detached FrameView.
        https://bugs.webkit.org/show_bug.cgi?id=173330

        Reviewed by Simon Fraser.

        * TestExpectations: ASSERT(frame()->view() == this) still fires due to the unexpected navigation, but we clearly
        manage to recover from it. Unskip it (debug) when webkit.org/b/173329 is resolved.

2017-06-13  Chris Fleizach  <cfleizach@apple.com>

        AX[macOS]: Expose Inline property as an accessibility attribute
        https://bugs.webkit.org/show_bug.cgi?id=173131
        <rdar://problem/32667686>

        Reviewed by Joanmarie Diggs.

        * accessibility/mac/inline-text-attribute.html: Added.
        * accessibility/mac/inline-text-attribute-expected.txt: Added.

2017-06-13  Joseph Pecoraro  <pecoraro@apple.com>

        Debugger has unexpected effect on program correctness
        https://bugs.webkit.org/show_bug.cgi?id=172683

        Reviewed by Saam Barati.

        * inspector/injected-script/observable-expected.txt: Added.
        * inspector/injected-script/observable.html: Added.

2017-06-13  Matt Lewis  <jlewis3@apple.com>

        Updated test expectations for imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg.
        https://bugs.webkit.org/show_bug.cgi?id=173333

        Unreviewed test gardening.

        * TestExpectations:

2017-06-13  Matt Lewis  <jlewis3@apple.com>

        Re-baselined imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html and fixed text expectations.
        https://bugs.webkit.org/show_bug.cgi?id=173335

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-06-13  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html as failing.
        https://bugs.webkit.org/show_bug.cgi?id=173335

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-06-13  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg as a timeout.
        https://bugs.webkit.org/show_bug.cgi?id=173333

        Unreviewed test gardening.

        * TestExpectations:

2017-06-13  Daniel Bates  <dabates@apple.com>

        Implement W3C Secure Contexts Draft Specification
        https://bugs.webkit.org/show_bug.cgi?id=158121
        <rdar://problem/26012994>

        Reviewed by Brent Fulgham.

        Part 4

        Adds a test to ensure that the global object property isSecureContext is not
        exposed (is undefined) when the runtime enabled feature flag isSecureContextAttributeEnabled
        is disabled.

        * platform/win/TestExpectations: Skip the test as DumpRenderTree on Windows does not support
        parsing of test options. See <https://bugs.webkit.org/show_bug.cgi?id=173281> for more details.
        * security/isSecureContext-disabled-expected.txt: Added.
        * security/isSecureContext-disabled.html: Added.
        * security/resources/worker-isSecureContext-disabled.js: Added.

2017-06-13  Youenn Fablet  <youenn@apple.com>

        getReceivers() should return transceivers that have only an active receiver
        https://bugs.webkit.org/show_bug.cgi?id=173313

        Reviewed by Alex Christensen.

        * fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt:
        * webrtc/video-receivers-expected.txt: Added.
        * webrtc/video-receivers.html: Added.

2017-06-13  Youenn Fablet  <youenn@apple.com>

        Refresh WPT tests up to cb7017e654fb4daddb9dee8d654c78b26e61fa9f
        https://bugs.webkit.org/show_bug.cgi?id=173260

        Reviewed by Alex Christensen.

        * TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/mac-wk1/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker-expected.png: Added.
        * tests-options.json:

2017-06-13  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [ATK] Implement missing AtkRelation types
        https://bugs.webkit.org/show_bug.cgi?id=155494

        Reviewed by Darin Adler.

        * accessibility/aria-owns-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-owns-expected.txt.
        * accessibility/aria-owns.html: Renamed from LayoutTests/accessibility/mac/aria-owns.html.
        * accessibility/gtk/relation-types-expected.txt: Added.
        * accessibility/gtk/relation-types.html: Added.

2017-06-13  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Ensure that fast/url/user-visible tests are skipped

        Unreviewed gardening.

        Tests under this directory are currently Mac specific, so skip the
        directory altogether.
        * platform/wpe/TestExpectations:

2017-06-13  Youenn Fablet  <youenn@apple.com>

        Filter SDP from ICE candidates in case of local ICE candidate filtering
        https://bugs.webkit.org/show_bug.cgi?id=173120

        Reviewed by Eric Carlson.

        * webrtc/datachannel/filter-ice-candidate.html: Minor clean-up and
        adding assertions to ensure that ICE candidates are also filtered out.

2017-06-12  Charlie Turner  <cturner@igalia.com>

        [GTK] skip fast/scrolling/scrolling-tree-includes-frame.html
        https://bugs.webkit.org/show_bug.cgi?id=173258

        Unreviewed gardening.

        GTK doesn't appear to use the scrolling tree, only WK2 Mac and iOS do. Skip it here.

        * platform/gtk/TestExpectations:

2017-06-12  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Expand system-ui to include every item in the Core Text cascade list
        https://bugs.webkit.org/show_bug.cgi?id=173043
        <rdar://problem/21125708>

        Reviewed by Simon Fraser.

        Rebaseline tests which use non-English text in form controls

        * fast/text/system-font-fallback-emoji-expected.txt: Added.
        * fast/text/system-font-fallback-emoji.html: Added.
        * fast/text/system-font-fallback-expected.html: Added.
        * fast/text/system-font-fallback.html: Added.
        * platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.png: Added.
        * platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.txt:
        * platform/mac-elcapitan/fast/forms/search-rtl-expected.png: Added.
        * platform/mac-elcapitan/fast/forms/search-rtl-expected.txt:
        * platform/mac-elcapitan/fast/forms/searchfield-heights-expected.png: Added.
        * platform/mac-elcapitan/fast/forms/searchfield-heights-expected.txt:
        * platform/mac-elcapitan/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac-elcapitan/fast/text/drawBidiText-expected.png: Added.
        * platform/mac-elcapitan/fast/text/drawBidiText-expected.txt:
        * platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png: Added.
        * platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/mac/TestExpectations:
        * platform/mac/fast/css/rtl-ordering-expected.png:
        * platform/mac/fast/css/rtl-ordering-expected.txt:
        * platform/mac/fast/forms/listbox-bidi-align-expected.png:
        * platform/mac/fast/forms/listbox-bidi-align-expected.txt:
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.png:
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.png:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/forms/select-visual-hebrew-expected.png:
        * platform/mac/fast/forms/select-visual-hebrew-expected.txt:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.png:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac/fast/text/drawBidiText-expected.png:
        * platform/mac/fast/text/drawBidiText-expected.txt:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/mac/fast/text/updateNewFont-expected.png:
        * platform/mac/fast/text/updateNewFont-expected.txt:

2017-06-12  Myles C. Maxfield  <mmaxfield@apple.com>

        @font-face rules with invalid primary fonts never download their secondary fonts
        https://bugs.webkit.org/show_bug.cgi?id=173138
        <rdar://problem/32554450>

        Reviewed by Simon Fraser.

        * fast/text/font-fallback-invalid-load-expected.html: Added.
        * fast/text/font-fallback-invalid-load.html: Added.
        * fast/text/resources/bogus.svg: Added.

2017-06-12  Daniel Bates  <dabates@apple.com>

        Implement W3C Secure Contexts Draft Specification
        https://bugs.webkit.org/show_bug.cgi?id=158121
        <rdar://problem/26012994>

        Reviewed by Ryosuke Niwa.

        Part 3

        Skip tests that exercise Shared Workers as WebKit does not support them. With the exception
        of web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.html all other tests are
        skipped because they time out. The following sub-tests in web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.html
        are expected to fail:
            - "Test Window.isSecureContext for HTTP creator"
                Reason: Sub-test must be run from non-localhost server
            - "Test Window.isSecureContext in an iframe loading an http"
                Reason: Sub-test must be run from non-localhost server
            - "Test Window.isSecureContext in a sandboxed iframe loading an http"
                Reason: We do not implement the allow-secure-context flag
            - "Test Window.isSecureContext in a popup loading about:blank"
                Reason: Times out; further investigation needed.

        We will investigate the test failures and fix them in subsequent commits.

        * TestExpectations:

2017-06-12  Chris Dumez  <cdumez@apple.com>

        Add Arabic Kasra to list of blacklisted characters when puny-decoding URL
        https://bugs.webkit.org/show_bug.cgi?id=173283
        <rdar://problem/32725659>

        Reviewed by Brent Fulgham.

        Add layout test coverage.

        * fast/url/user-visible/arabic_kasra-expected.txt: Added.
        * fast/url/user-visible/arabic_kasra.html: Added.

2017-06-12  Aaron Chu  <aaron_chu@apple.com>

        AX: Video/Audio Player Controls missing group container.
        https://bugs.webkit.org/show_bug.cgi?id=171790
        <rdar://problem/32008994>

        Reviewed by Antoine Quint.

        Modified existing test cases to accommodate testing for controls bar aria-label.

        * media/modern-media-controls/audio/audio-controls-buttons-expected.txt:
        * media/modern-media-controls/audio/audio-controls-buttons.html:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor-expected.txt:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor.html:

2017-06-12  Jonathan Bedard  <jbedard@apple.com>

        Garden tests for on-device testing

        Unreviewed test gardening.

        The tests gardened here have not been investigated. https://bugs.webkit.org/show_bug.cgi?id=173275
        tracks the investigation of the tests marked as failing, crashing or skipped because they timeout
        when running layout tests on-device in this revision.

        * platform/ios-device/TestExpectations: Initial gardening of expectations for on-device testing.
        * platform/ios-simulator-wk2/TestExpectations: Moved simulator specific expectations from platfrom/ios-wk2.
        * platform/ios-simulator/TestExpectations: Moved simulator specific expectations from platfrom/ios.
        * platform/ios-simulator/compositing: Removed.
        * platform/ios-wk2/TestExpectations: Moved simulator specific expectation to platform/ios-simulator-wk2.
        * platform/ios/TestExpectations: Moved simulator specific expectation to platform/ios.
        * platform/ios/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Copied from
        LayoutTests/platform/ios-simulator/compositing/iframes/compositing-for-scrollable-iframe-expected.txt.

2017-06-12  Antoine Quint  <graouts@apple.com>

        Add tests for the SkipForwardButton class
        https://bugs.webkit.org/show_bug.cgi?id=173214

        Reviewed by Jon Lee.

        * media/modern-media-controls/skip-forward-button/skip-forward-button-expected.txt: Added.
        * media/modern-media-controls/skip-forward-button/skip-forward-button.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-12  Sam Weinig  <sam@webkit.org>

        [WebIDL] Re-implement GetOwnPropertySlot[ByIndex] generation to more closely follow WebIDL
        https://bugs.webkit.org/show_bug.cgi?id=173229

        Reviewed by Chris Dumez.

        * fast/dom/HTMLDocument/document-special-properties-expected.txt:
        Update results. Named properties on HTMLDocument no longer override own properties, they 
        only override properties from the prototype chain (as per the WebIDL specification for 
        OverrideBuiltins). These results now also match Firefox.

        * js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html:
        * js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html:
        * js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html:
        * js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-short.html:
        * js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html:
        Update tests to use a property on the prototype, rather than the instance, to test 
        overriding the [GetOwnProperty] hook. This is needed now that HTMLDocument correctly
        follows the OverrideBuiltins rules as explained above.

2017-06-12  Saam Barati  <sbarati@apple.com>

        Unreviewed. Unmark test as flaky after fix in r217944. The test should now pass.

        * platform/mac/TestExpectations:

2017-06-12  Matt Lewis  <jlewis3@apple.com>

        Updated test expectations for fast/mediastream/getUserMedia-webaudio.html.
        https://bugs.webkit.org/show_bug.cgi?id=170960

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Stop dismissing menus attached to the web view for every injected event
        https://bugs.webkit.org/show_bug.cgi?id=172708

        Reviewed by Alex Christensen.

        * editing/selection/5354455-1.html: No need to click on editable area to focus it, contextClick already focuses
        it, we even have another test to ensure it. Those fast clicks were causing a double click in GTK+ port which
        selected the whole line. We don't need to dismiss the context menu either, because contextClick() doesn't really
        show the menu.
        * fast/events/context-activated-by-key-event.html: Dismiss the context menu every time we show it.
        * fast/events/mouse-click-events.html: Dimiss the context menu when testing right click events.

2017-06-12  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/mediastream/getUserMedia-webaudio.html as flaky on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=170960

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-12  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/html/browsers/windows/browsing-context.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172255

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-06-12  Claudio Saavedra  <csaavedra@igalia.com>

        transforms/hittest-translated-content-off-to-infinity-and-back.html is passing

        Ureviewed gardening.
        * platform/wpe/TestExpectations: This started passing lately, remove.

2017-06-12  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE][GTK] Rebaseline js/dom/global-constructors-attributes.html

        Unreviewed gardening.

        Needs to be updated in WPE due to enabling ENCRYPTED_MEDIA. GTK+
        port was skipping this but it just needs an updated expectations.
        * platform/gtk/TestExpectations: Unskip.
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-06-12  Charlie Turner  <cturner@igalia.com>

        Mark fast/mediastream/getUserMedia-grant-persistency3.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173257

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2017-06-11  Myles C. Maxfield  <mmaxfield@apple.com>

        [iOS 11] fast/text/international/system-language/arabic-glyph-cache-fill-combine.html hardcodes the system UI Arabic font
        https://bugs.webkit.org/show_bug.cgi?id=173244
        <rdar://problem/32659595>

        Reviewed by Ryosuke Niwa.

        iOS 11 changed this font, so we shouldn't hardcode it. Instead,
        we can simply change this to an -expected-mismatch.html test to
        specifically test against the ".notdef" glyph.

        * fast/text/international/system-language/arabic-glyph-cache-fill-combine-expected-mismatch.html: Renamed from LayoutTests/fast/text/international/system-language/arabic-glyph-cache-fill-combine-expected.html.

2017-06-11  Myles C. Maxfield  <mmaxfield@apple.com>

        fast/text/variations/getComputedStyle.html does not need to be asynchronous
        https://bugs.webkit.org/show_bug.cgi?id=173246
        <rdar://problem/31393842>

        Reviewed by Sam Weinig.

        I dont know why I made it asynchronous in the first place.

        * fast/text/variations/getComputedStyle.html:

2017-06-09  Ryosuke Niwa  <rniwa@webkit.org>

        didMoveToNewDocument doesn't get called on an Attr inside a shadow tree
        https://bugs.webkit.org/show_bug.cgi?id=173133

        Reviewed by Antti Koivisto.

        Added a regression test for moving a shadow tree with an Attr node across a document.
        The test hits an assertion in a debug build and fails in a release build without the fix.

        * fast/dom/adopt-attr-with-shadow-tree-expected.txt: Added.
        * fast/dom/adopt-attr-with-shadow-tree.html: Added.

2017-06-11  Keith Miller  <keith_miller@apple.com>

        TypedArray constructor with string shouldn't throw
        https://bugs.webkit.org/show_bug.cgi?id=173181

        Reviewed by JF Bastien.

        Update tests to allow null buffers.

        * fast/canvas/webgl/array-unit-tests-expected.txt:
        * fast/canvas/webgl/array-unit-tests.html:
        * fast/canvas/webgl/webgl-array-invalid-ranges-expected.txt:
        * fast/canvas/webgl/webgl-array-invalid-ranges.html:
        * webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/scrubber
        https://bugs.webkit.org/show_bug.cgi?id=173212

        Reviewed by Jon Lee.

        Remove a media/modern-media-controls/scrubber test that is no longer relevant now that there is no standalone scrubber class.

        * media/modern-media-controls/scrubber/scrubber-expected.txt: Removed.
        * media/modern-media-controls/scrubber/scrubber.html: Removed.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Enable media/modern-media-controls/scheduler
        https://bugs.webkit.org/show_bug.cgi?id=173211

        Reviewed by Jon Lee.

        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/rewind-button
        https://bugs.webkit.org/show_bug.cgi?id=173210

        Reviewed by Jon Lee.

        Use SVG assets.

        * media/modern-media-controls/rewind-button/rewind-button-expected.txt:
        * media/modern-media-controls/rewind-button/rewind-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/play-pause-button
        https://bugs.webkit.org/show_bug.cgi?id=173209

        Reviewed by Jon Lee.

        Use SVG assets.

        * media/modern-media-controls/play-pause-button/play-pause-button-expected.txt:
        * media/modern-media-controls/play-pause-button/play-pause-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/placard
        https://bugs.webkit.org/show_bug.cgi?id=173208

        Reviewed by Jon Lee.

        IconButton is now simply Button.

        * media/modern-media-controls/placard/placard-expected.txt:
        * media/modern-media-controls/placard/placard.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Enable media/modern-media-controls/pip-placard tests
        https://bugs.webkit.org/show_bug.cgi?id=173207

        Reviewed by Jon Lee.

        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/pip-button.
        https://bugs.webkit.org/show_bug.cgi?id=173206

        Reviewed by Jon Lee.

        Use SVG assets.

        * media/modern-media-controls/pip-button/pip-button-expected.txt:
        * media/modern-media-controls/pip-button/pip-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/mute-button
        https://bugs.webkit.org/show_bug.cgi?id=173205

        Reviewed by Jon Lee.

        We now use SVG assets, so let the test reflect that.

        * media/modern-media-controls/mute-button/mute-button-expected.txt:
        * media/modern-media-controls/mute-button/mute-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-11  Antoine Quint  <graouts@apple.com>

        Remove media/modern-media-controls/macos-media-controls
        https://bugs.webkit.org/show_bug.cgi?id=173204

        Reviewed by Jon Lee.

        There no longer is a MacOSMediaControls class and this test no longer makes sense.

        * media/modern-media-controls/macos-media-controls/macos-media-controls-expected.txt: Removed.
        * media/modern-media-controls/macos-media-controls/macos-media-controls.html: Removed.

2017-06-09  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/layout-node
        https://bugs.webkit.org/show_bug.cgi?id=173203

        Reviewed by Jon Lee.

         The "visible" property no longer sets "display: initial" when true, but rather removes the "display" property altogether.

        * media/modern-media-controls/layout-node/visible-expected.txt:
        * media/modern-media-controls/layout-node/visible.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-09  Antoine Quint  <graouts@apple.com>

        Enable media/modern-media-controls/layout-item
        https://bugs.webkit.org/show_bug.cgi?id=173202

        Reviewed by Jon Lee.

        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-09  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/invalid-placard
        https://bugs.webkit.org/show_bug.cgi?id=173201

        Reviewed by Jon Lee.

        The only required change was to update IconButton to Button since IconButton has been folded in its superclass Button.

        * media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics-expected.txt:
        * media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-09  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/icon-service
        https://bugs.webkit.org/show_bug.cgi?id=173200

        Reviewed by Jon Lee.

        The method we were testing has changed name and the pause icon is no longer a good
        test since it doesn't have a fullscreen variant, so we use the AirPlay icon instead.

        * media/modern-media-controls/icon-service/icon-service-expected.txt:
        * media/modern-media-controls/icon-service/icon-service.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-09  Brady Eidson  <beidson@apple.com>

        Crash when IndexedDB's getAll is used inside a Web Worker.
        https://bugs.webkit.org/show_bug.cgi?id=172434

        Reviewed by Andy Estes.

        * storage/indexeddb/modern/resources/worker-getall.js: Added.
        * storage/indexeddb/modern/worker-getall-expected.txt: Added.
        * storage/indexeddb/modern/worker-getall.html: Added.

2017-06-09  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/mediastream/getUserMedia-grant-persistency3.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173188

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-09  Daniel Bates  <dabates@apple.com>

        CSP: Apply img-src directive to favicon loads
        https://bugs.webkit.org/show_bug.cgi?id=172733

        Remove CONSOLE MESSAGE line from expected result that I inadvertently left in from an earlier iteration
        of the test that did not call testRunner.queueReload(). Calling testRunner.queueReload() clears out
        any emitted console messages. The dump of the resource load callbacks is sufficient to ensure that
        the favicon was blocked as expected.

        * http/tests/security/contentSecurityPolicy/block-favicon-expected.txt:

2017-06-09  Andy VanWagoner  <thetalecrafter@gmail.com>

        REGRESSION: LayoutTest js/intl-datetimeformat.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=172720

        Reviewed by Darin Adler.

        Reenable DateTimeFormat tests, allowing for some variation in the
        formatting of time zone names.

        * js/intl-datetimeformat-expected.txt:
        * js/script-tests/intl-datetimeformat.js:
        * platform/mac/TestExpectations:

2017-06-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Web inspector does not show non-shadow children of an element with a shadow root (e.g. <video>)
        https://bugs.webkit.org/show_bug.cgi?id=173121
        <rdar://problem/30948943>

        Reviewed by Matt Baker.

        * inspector/dom/shadow-and-non-shadow-children-expected.txt: Added.
        * inspector/dom/shadow-and-non-shadow-children.html: Added.

2017-06-09  Said Abou-Hallawa  <sabouhallawa@apple.com>

        LayoutTest fast/images/animated-image-different-dest-size.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170203
 
        Reviewed by Simon Fraser.
 
        Instead of using setTimeout(), listen to the webkitImageFrameReady event
        to know relaibly when to draw the next frame of an animated image to a
        canvas.

        * fast/images/animated-image-different-dest-size.html:
        * platform/mac-wk2/TestExpectations:

2017-06-09  Matt Lewis  <jlewis3@apple.com>

        Skipped layout test svg/animations/svglength-element-removed-crash.svg.
        https://bugs.webkit.org/show_bug.cgi?id=173178

        Unreviewed test gardening.

        * platform/ios-simulator-wk2/TestExpectations:

2017-06-09  Daniel Bates  <dabates@apple.com>

        CSP: Apply img-src directive to favicon loads
        https://bugs.webkit.org/show_bug.cgi?id=172733
        <rdar://problem/32082654>

        Reviewed by Brady Eidson.

        Adds tests to ensure the CSP policy is applied to favicon loads.

        * http/tests/security/contentSecurityPolicy/allow-favicon-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/allow-favicon.html: Added.
        * http/tests/security/contentSecurityPolicy/block-favicon-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/block-favicon.html: Added.
        * platform/wk2/TestExpectations: Skip the tests until we fix <https://bugs.webkit.org/show_bug.cgi?id=115809>.

2017-06-09  Ryan Haddad  <ryanhaddad@apple.com>

        Add a result file for js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-short.html.
        https://bugs.webkit.org/show_bug.cgi?id=161156

        Unreviewed test gardening.

        * js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-short-expected.txt: Added.

2017-06-09  Matthew Hanson  <matthew_hanson@apple.com>

        Revert r217955. rdar://problem/21125708

2017-06-09  Jonathan Bedard  <jbedard@apple.com>

        [ios-sim] Cleaning-up timeouts WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=173169

        Unreviewed test gardening.

        The intention of this change is to allow the iOS WK1 bots to finish their
        test runs. Because these tests are being gardened based on the output of
        bots, there will likely be follow-up fixes.

        * platform/ios-wk1/TestExpectations: Skip tests timing out in iOS WK1.

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

        [iOS] Video occasionally mixes with other system audio instead of interrupting
        https://bugs.webkit.org/show_bug.cgi?id=173127

        Reviewed by Eric Carlson.

        * platform/mac/media/audio-session-category-video-track-change-expected.txt: Added.
        * platform/mac/media/audio-session-category-video-track-change.html: Added.

2017-06-09  Chris Dumez  <cdumez@apple.com>

        CSS transitions added while page is not visible do not start when the page becomes visible
        https://bugs.webkit.org/show_bug.cgi?id=173166
        <rdar://problem/32250351>

        Reviewed by Darin Adler.

        Add layout test coverage.

        * fast/animation/css-animation-resuming-when-visible-expected.txt: Added.
        * fast/animation/css-animation-resuming-when-visible.html: Added.

2017-06-09  Eric Carlson  <eric.carlson@apple.com>

        fast/mediastream/MediaStream-page-muted.html times out and asserts
        https://bugs.webkit.org/show_bug.cgi?id=170355
        <rdar://problem/31376041>

        Reviewed by Chris Dumez.

        * fast/mediastream/media-stream-wrapper-collected-expected.txt: Added.
        * fast/mediastream/media-stream-wrapper-collected.html: Added.

2017-06-09  Charlie Turner  <cturner@igalia.com>

        [GTK] Fix test linter reported errors
        https://bugs.webkit.org/show_bug.cgi?id=173160

        Unreviewed gardening.

        webrtc/audio-peer-connection-webaudio.html failed ambiguity checks, it typically fails
           in release and times out in debug, but it could have bother outcomes in both build
           configurations, so removing the first instance seems like the right approach.
           See: https://bugs.webkit.org/show_bug.cgi?id=169110
        https://bugs.webkit.org/show_bug.cgi?id=131218 no longer crashing
        https://bugs.webkit.org/show_bug.cgi?id=131216 no longer crashing
        https://bugs.webkit.org/show_bug.cgi?id=119255 no longer flaky, stablized at r195130.

        Linter is now quiet, aside from non-existent path errors,
        which I think is tracked by https://bugs.webkit.org/show_bug.cgi?id=172471

        * platform/gtk/TestExpectations:

2017-06-09  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Add baseline for media/media-fullscreen-inline-expected.html

        Unreviewed gardening.

        mediaElement.webkitSupportsPresentationMode is only present with
        VIDEO_PRESENTATION_MODE enabled, and this option is only enabled
        for Cocoa builds. Add a baseline without this property.
        * platform/gtk/media/media-fullscreen-inline-expected.txt: Added.

2017-06-09  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Unskip passing userscripts tests

        Unreviewed gardening.

        * platform/wpe/TestExpectations:

2017-06-09  Zan Dobersek  <zdobersek@igalia.com>

        [WPE] Enable ENCRYPTED_MEDIA for build-webkit builds
        https://bugs.webkit.org/show_bug.cgi?id=173103

        Reviewed by Xabier Rodriguez-Calvar.

        Enable the imported W3C tests covering Encrypted Media API for the WPE port,
        but only tests that use the ClearKey key system. WPE-specific baselines for
        those tests are also added, despite the test cases universally failing. This
        will allow us to spot any change in behavior that's introduced.

        * platform/wpe/TestExpectations: Skip tests that test PlayReady or Widevine key systems.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-check-initdata-type-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-events-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-usage-record-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-at-same-time-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-different-mediakeys-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-to-multiple-video-elements-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeys-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysystemaccess-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt: Added.

2017-06-09  Zan Dobersek  <zdobersek@igalia.com>

        [WPE] Enable MEDIA_SOURCE for build-webkit builds
        https://bugs.webkit.org/show_bug.cgi?id=173136

        Reviewed by Xabier Rodriguez-Calvar.

        * platform/wpe/TestExpectations: Enable the media/media-source/ layout tests
        for the WPE port, adding half a dozen failure or timeout expectations for
        tests that are currently failing.

2017-06-09  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GStreamer][EME] Remove the legacy code that was not even official and is deprecated
        https://bugs.webkit.org/show_bug.cgi?id=173096

        Reviewed by Žan Doberšek.

        * platform/gtk/TestExpectations: Mark legacy tests as deprecated

2017-06-09  Aaron Chu  <aaron_chu@apple.com>

        AX: Media Controls: Missing labels for the Time Labels.
        https://bugs.webkit.org/show_bug.cgi?id=171715
        <rdar://problem/32009214>

        Reviewed by Antoine Quint.

        Modified existing test case to accommodate testing for time label description.

        * media/modern-media-controls/time-label/time-label.html:

2017-06-08  Yoav Weiss  <yoav@yoav.ws>

        [preload] Mandatory `as` value and related spec alignments
        https://bugs.webkit.org/show_bug.cgi?id=173047

        Reviewed by Dean Jackson.

        Fix tests and expectations to this patch's changes: `as` is mandatory and "fetch" replaces the previous empty `as` value,
        onerror no longer fires for invalid `as` values, and the IDL for `as` reflects only valid values, to enable feature detection.

        * http/tests/fetch/redirectmode-and-preload.html:
        * http/tests/preload/download_resources-expected.txt:
        * http/tests/preload/download_resources.html:
        * http/tests/preload/download_resources_from_header_iframe-expected.txt:
        * http/tests/preload/onerror_event-expected.txt:
        * http/tests/preload/onerror_event.html:
        * http/tests/preload/onload_event-expected.txt:
        * http/tests/preload/onload_event.html:
        * http/tests/preload/preloadscanner_download_resources.html:
        * http/tests/preload/resources/download_resources_from_header.php:
        * http/tests/preload/resources/nph-invalid_resources_from_header.pl:
        * http/tests/preload/single_download_preload.html:
        * http/tests/preload/single_download_preload_headers.php:
        * imported/w3c/web-platform-tests/html/dom/reflection-metadata-expected.txt: PProgressions related to correct reflection.

2017-06-08  Ryosuke Niwa  <rniwa@webkit.org>

        Crash inside InsertNodeBeforeCommand via InsertParagraphSeparatorCommand
        https://bugs.webkit.org/show_bug.cgi?id=173085

        Reviewed by Wenson Hsieh.

        Added a regresion test.

        * editing/inserting/insert-horizontal-rule-in-empty-document-crash-expected.txt: Added.
        * editing/inserting/insert-horizontal-rule-in-empty-document-crash.html: Added.

2017-06-08  Ryosuke Niwa  <rniwa@webkit.org>

        The tree scope of an Attr node inside a shadow tree does not updated upon detach.
        https://bugs.webkit.org/show_bug.cgi?id=173122

        Reviewed by Chris Dumez.

        Added a regression test which hits the newly added assertion.

        * fast/dom/detaching-attr-node-in-shadow-tree-crash-expected.txt: Added.
        * fast/dom/detaching-attr-node-in-shadow-tree-crash.html: Added.

2017-06-08  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Expand system-ui to include every item in the Core Text cascade list
        https://bugs.webkit.org/show_bug.cgi?id=173043
        <rdar://problem/21125708>

        Reviewed by Simon Fraser.

        Rebaseline tests which use non-English text in form controls

        * fast/text/system-font-fallback-emoji-expected.txt: Added.
        * fast/text/system-font-fallback-emoji.html: Added.
        * fast/text/system-font-fallback-expected.html: Added.
        * fast/text/system-font-fallback.html: Added.
        * platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.png: Added.
        * platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.txt:
        * platform/mac-elcapitan/fast/forms/search-rtl-expected.png: Added.
        * platform/mac-elcapitan/fast/forms/search-rtl-expected.txt:
        * platform/mac-elcapitan/fast/forms/searchfield-heights-expected.png: Added.
        * platform/mac-elcapitan/fast/forms/searchfield-heights-expected.txt:
        * platform/mac-elcapitan/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac-elcapitan/fast/text/drawBidiText-expected.png: Added.
        * platform/mac-elcapitan/fast/text/drawBidiText-expected.txt:
        * platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png: Added.
        * platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/mac/TestExpectations:
        * platform/mac/fast/css/rtl-ordering-expected.png:
        * platform/mac/fast/css/rtl-ordering-expected.txt:
        * platform/mac/fast/forms/listbox-bidi-align-expected.png:
        * platform/mac/fast/forms/listbox-bidi-align-expected.txt:
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.png:
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.png:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/forms/select-visual-hebrew-expected.png:
        * platform/mac/fast/forms/select-visual-hebrew-expected.txt:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.png:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac/fast/text/drawBidiText-expected.png:
        * platform/mac/fast/text/drawBidiText-expected.txt:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
        * platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/mac/fast/text/updateNewFont-expected.png:
        * platform/mac/fast/text/updateNewFont-expected.txt:

2017-06-08  Chris Dumez  <cdumez@apple.com>

        REGRESSION: fast/images/animated-gif-webkit-transform.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=170410
        <rdar://problem/31409381>

        Reviewed by Simon Fraser.

        Fix flakiness and unskip test.

        * fast/images/animated-gif-webkit-transform-expected.txt:
        * fast/images/animated-gif-webkit-transform.html:
        * platform/mac-wk2/TestExpectations:

2017-06-08  Antoine Quint  <graouts@apple.com>

        [iOS] Buttons in top-left and bottom media controls bar are positioned too high
        https://bugs.webkit.org/show_bug.cgi?id=173111
        <rdar://problem/32650615>

        Reviewed by Jon Lee.

        Add a test that checks that the appropriate styles as set in buttons-container.css
        are applied to a button in a buttons container on iOS.

        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding-expected.txt: Added.
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding.html: Added.
        * platform/ios-simulator/TestExpectations:

2017-06-08  Youenn Fablet  <youenn@apple.com>

        getUserMedia should not be prompted again if user denied access
        https://bugs.webkit.org/show_bug.cgi?id=173104

        Reviewed by Geoff Garen.

        Splitting grant test due to remembering deny decisions.

        * fast/mediastream/getUserMedia-deny-persistency-expected.txt: Added.
        * fast/mediastream/getUserMedia-deny-persistency-reload-expected.txt: Added.
        * fast/mediastream/getUserMedia-deny-persistency-reload.html: Added.
        * fast/mediastream/getUserMedia-deny-persistency.html: Added.
        * fast/mediastream/getUserMedia-deny-persistency2-expected.txt: Added.
        * fast/mediastream/getUserMedia-deny-persistency2.html: Added.
        * fast/mediastream/getUserMedia-deny-persistency3-expected.txt: Added.
        * fast/mediastream/getUserMedia-deny-persistency3.html: Added.
        * fast/mediastream/getUserMedia-grant-persistency-expected.txt:
        * fast/mediastream/getUserMedia-grant-persistency.html:
        * fast/mediastream/getUserMedia-grant-persistency2-expected.txt: Added.
        * fast/mediastream/getUserMedia-grant-persistency2.html: Added.
        * fast/mediastream/getUserMedia-grant-persistency3-expected.txt: Added.
        * fast/mediastream/getUserMedia-grant-persistency3.html: Added.


2017-06-08  Filip Pizlo  <fpizlo@apple.com>

        REGRESSION: js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html has a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=161156

        Reviewed by Saam Barati.
        
        Add a version of the test that's guaranteed to fail if the problem it's testing for manifests
        in the LLInt.

        * js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-short.html: Added.

2017-06-07  Dave Hyatt  <hyatt@apple.com>

        Laili restaurant menu page does not display full menu
        https://bugs.webkit.org/show_bug.cgi?id=173062
        rdar://problem/32436486

        Reviewed by Simon Fraser.

        * fast/hidpi/percent-height-image-nested-expected.html:
        * fast/hidpi/percent-height-image-nested.html:
        * fast/multicol/pagination/RightToLeft-max-width.html:
        * fast/replaced/max-height-percent-inside-auto-block-expected.html: Added.
        * fast/replaced/max-height-percent-inside-auto-block.html: Added.
        * platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.txt:

2017-06-08  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/fullscreen-button
        https://bugs.webkit.org/show_bug.cgi?id=173101

        Reviewed by Dean Jackson.

        Update the test to check an SVG asset now that we use those.

        * media/modern-media-controls/fullscreen-button/fullscreen-button-expected.txt:
        * media/modern-media-controls/fullscreen-button/fullscreen-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-08  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/forward-button
        https://bugs.webkit.org/show_bug.cgi?id=173100

        Reviewed by Dean Jackson.

        Update the test to check an SVG asset now that we use those.

        * media/modern-media-controls/forward-button/forward-button-expected.txt:
        * media/modern-media-controls/forward-button/forward-button.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-08  Antoine Quint  <graouts@apple.com>

        Layout Test media/modern-media-controls/button/button-icon-name.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=173099

        Reviewed by Dean Jackson.

        Rewrite the test to use asynchronous assertions, the number of frames running is immaterial to this test.

        * media/modern-media-controls/button/button-icon-name-expected.txt:
        * media/modern-media-controls/button/button-icon-name.html:

2017-06-08  Tim Horton  <timothy_horton@apple.com>

        Add a borderless mode to <attachment>, and make it respect its layout size
        https://bugs.webkit.org/show_bug.cgi?id=173079
        <rdar://problem/32491584>

        Reviewed by Simon Fraser.

        * TestExpectations:
        * platform/ios/TestExpectations:
        * fast/attachment/attachment-borderless-expected-mismatch.html: Added.
        * fast/attachment/attachment-borderless.html: Added.
        * fast/attachment/attachment-respects-css-size-expected-mismatch.html: Added.
        * fast/attachment/attachment-respects-css-size.html: Added.
        Add mismatch tests ensuring that CSS width/height and borderless-attachment
        have *some* kind of impact on rendering.

2017-06-08  Marcos Chavarría Teijeiro  <chavarria1991@gmail.com>

        Modify security test to avoid spacing differences.
        https://bugs.webkit.org/show_bug.cgi?id=141709

        Reviewed by Carlos Alberto Lopez Perez.

        * http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html:
        * http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt:
        * http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html:
        * platform/gtk/TestExpectations:

2017-06-08  Youenn Fablet  <youenn@apple.com>

        getUserMedia request should not be allowed for background tabs unless the tab is already capturing
        https://bugs.webkit.org/show_bug.cgi?id=172989

        Reviewed by Eric Carlson.

        * fast/mediastream/getUserMedia-grant-persistency-expected.txt:
        * fast/mediastream/getUserMedia-grant-persistency.html: Using testRunner.setPageVisibility so that UIProcess is made aware of the change.
        Removing test about capture muted page since there is no API for setting a page as muted right now.
        This test should be readded later on.

2017-06-08  Charlie Turner  <cturner@igalia.com>

        [GTK] Test gardening
        https://bugs.webkit.org/show_bug.cgi?id=173093

        Unreviewed GTK gardening.

        r147201 added a crash expectation for the following test, but did so in a manner
        that failed linter checks:

        LayoutTests/platform/gtk/TestExpectations:1302 More specific entry for
           http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html on line
           LayoutTests/platform/gtk/TestExpectations:992 overrides line LayoutTests/platform/gtk/TestExpectations:1302.
           http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html

        Furthermore, this test no longer crashes in Debug builds, it fails due to whitespace
        oddities that are addressed by webkit.org/b/141709 (unreviewed)

        * platform/gtk/TestExpectations:

2017-06-08  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        MediaTime class has rounding issues in different platforms
        https://bugs.webkit.org/show_bug.cgi?id=172640

        Reviewed by Jer Noble.

        Update expectations because the MediaTime printing changed, but
        results are the same.

        * media/media-source/media-source-overlapping-append-expected.txt:
        * media/media-source/media-source-overlapping-decodetime-expected.txt:
        * media/media-source/media-source-seek-back-expected.txt:
        * media/media-source/media-source-sequence-timestamps-expected.txt:
        * media/media-source/media-source-timeoffset-expected.txt:

2017-06-07  Alexey Proskuryakov  <ap@apple.com>

        Add High Sierra support to WebKit tools
        https://bugs.webkit.org/show_bug.cgi?id=173080

        Rubber-stamped by Daniel Bates.

        * platform/mac-sierra: Added an empty directory to avoid breaking scripts.

2017-06-07  Jer Noble  <jer.noble@apple.com>

        [Web Audio] createScriptProcessor throws IndexSizeError for valid arguments
        https://bugs.webkit.org/show_bug.cgi?id=173022

        Reviewed by Sam Weinig.

        * webaudio/javascriptaudionode-expected.txt:
        * webaudio/javascriptaudionode.html:

2017-06-07  Chris Dumez  <cdumez@apple.com>

        CSSStyleRule.style / CSSPageRule.style / CSSKeyframeRule.style should be settable
        https://bugs.webkit.org/show_bug.cgi?id=164537
        <rdar://problem/29181773>

        Reviewed by Sam Weinig.

        Add better test coverage for CSSPageRule. This test is being upstreamed via:
        - https://github.com/w3c/web-platform-tests/pull/6183

        * http/wpt/cssom/CSSPageRule-expected.txt: Added.
        * http/wpt/cssom/CSSPageRule.html: Added.

2017-06-07  Youenn Fablet  <youenn@apple.com>

        RTCTrackEvent.track should be found in RTCTrackEvent.streams[0]
        https://bugs.webkit.org/show_bug.cgi?id=173074

        Reviewed by Eric Carlson.

        * webrtc/video.html:

2017-06-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add ContextMenu item to log WebSocket object to console
        https://bugs.webkit.org/show_bug.cgi?id=172878

        Reviewed by Joseph Pecoraro.

        * http/tests/websocket/tests/hybi/inspector/resolveWebSocket-expected.txt: Added.
        * http/tests/websocket/tests/hybi/inspector/resolveWebSocket.html: Added.

        * http/tests/websocket/tests/hybi/inspector/before-load-expected.txt:
        * http/tests/websocket/tests/hybi/inspector/before-load.html:
        * http/tests/websocket/tests/hybi/inspector/before-load_wsh.py: Removed.
        * http/tests/websocket/tests/hybi/inspector/client-close.html:
        * http/tests/websocket/tests/hybi/inspector/client-close_wsh.py: Removed.
        * http/tests/websocket/tests/hybi/inspector/send-and-receive.html:
        * http/tests/websocket/tests/hybi/inspector/send-and-receive_wsh.py: Removed.
        * http/tests/websocket/tests/hybi/inspector/echo.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
        Unified common configurations for Inspector WebSocket tests.

2017-06-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Allow user to choose stylesheet when creating new rules
        https://bugs.webkit.org/show_bug.cgi?id=172487

        Reviewed by Joseph Pecoraro.

        * inspector/css/add-rule-expected.html: Added.
        * inspector/css/add-rule.html: Added.

2017-06-07  Youenn Fablet  <youenn@apple.com>

        getUserMedia is prompting too often
        https://bugs.webkit.org/show_bug.cgi?id=172859
        <rdar://problem/32589950>

        Reviewed by Eric Carlson.

        * fast/mediastream/getUserMedia-grant-persistency-expected.txt: Added.
        * fast/mediastream/getUserMedia-grant-persistency-reload-expected.txt: Added.
        * fast/mediastream/getUserMedia-grant-persistency-reload.html: Added.
        * fast/mediastream/getUserMedia-grant-persistency.html: Added.
        * http/tests/media/media-stream/get-user-media-prompt-expected.txt:
        * http/tests/media/media-stream/get-user-media-prompt.html: Last gum does not need a prompt anymore.

2017-06-07  Daniel Bates  <dabates@apple.com>

        Fetching Blob URLs with XHR gives null content-type and content-length
        https://bugs.webkit.org/show_bug.cgi?id=137647
        <rdar://problem/18215114>

        Reviewed by Darin Adler.

        Add a test to ensure that we do not regress the computed Content-Type and Content-Length
        for a blob URL fetched using XHR.

        * fast/xmlhttprequest/xmlhttprequest-blob-url-has-valid-response-type-and-size-expected.txt: Added.
        * fast/xmlhttprequest/xmlhttprequest-blob-url-has-valid-response-type-and-size.html: Added.

2017-06-07  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ and WPE gardening.

        Add platform-specific test baselines for layout tests where the
        libgcrypt-based implementation passes more tests than the generic
        baselines expect. The WPE test expectations for these tests are
        also cleaned up a bit, and the tests are marked as slow to give
        them more time to properly execute.

        * platform/gtk/TestExpectations: Skip two imported W3C Web Crypto API tests that rely in SPKI and PKCS#8 imports.
        * platform/wpe/TestExpectations: Ditto.
        * platform/wpe/crypto: Added.
        * platform/wpe/crypto/subtle: Added.
        * platform/wpe/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: Added.
        * platform/wpe/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt: Added.
        * platform/wpe/imported: Added.
        * platform/wpe/imported/w3c: Added.
        * platform/wpe/imported/w3c/web-platform-tests: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Added.

2017-06-07  Sam Weinig  <sam@webkit.org>

        [WebIDL] PutForwards is not implemented to spec as illustrated by the WPT WebIDL/ecmascript-binding/put-forwards.html
        https://bugs.webkit.org/show_bug.cgi?id=172956

        Reviewed by Chris Dumez.

        * http/tests/security/xss-DENIED-contentWindow-eval-expected.txt:
        Update results to show that we now throw a type error, because the action now requires
        an explicit get of the location object, which does not work in the context.

2017-06-07  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/controls-visibility-support
        https://bugs.webkit.org/show_bug.cgi?id=173060
        <rdar://problem/32616840>

        Reviewed by Eric Carlson.

        We only check the "visible" property on the MediaControls instance which is the only thing being
        set by this class now. We also fix entering fullscreen by not using a <button> element which has
        some default styles set by the Button class. Finally, we make some videoTracks.length assertions
        asynchronous to avoid timing issues.

        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off-audio-expected.txt:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off-audio.html:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off-expected.txt:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off.html:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-audio-expected.txt:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-audio.html:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-expected.txt:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on.html:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle-expected.txt:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle.html:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-parent-element-expected.txt:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-parent-element.html:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-video-expected.txt:
        * media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-video.html:

2017-06-07  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/buttons-container
        https://bugs.webkit.org/show_bug.cgi?id=173059
        <rdar://problem/32616156>

        Reviewed by Eric Carlson.

        The only change is the default margin for a ButtonsContainer.

        * media/modern-media-controls/buttons-container/buttons-container-constructor-expected.txt:
        * media/modern-media-controls/buttons-container/buttons-container-constructor.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-07  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/button
        https://bugs.webkit.org/show_bug.cgi?id=173058
        <rdar://problem/32615846>

        Reviewed by Eric Carlson.

        The IconButton class was removed and merged into its superclass Button, so we merge those tests
        in a single directory. A couple tests no longer applied as we do not have a focused state for
        buttons anymore, nor do we deal with changes in layout traits since there is no such thing as
        a compact mode anymore.

        * media/modern-media-controls/button/button-active-state-expected.txt: Added.
        * media/modern-media-controls/button/button-active-state.html: Renamed from LayoutTests/media/modern-media-controls/icon-button/icon-button-active-state.html.
        * media/modern-media-controls/button/button-icon-name-expected.txt: Added.
        * media/modern-media-controls/button/button-icon-name.html: Added.
        * media/modern-media-controls/button/button-on-expected.txt: Added.
        * media/modern-media-controls/button/button-on.html: Renamed from LayoutTests/media/modern-media-controls/icon-button/icon-button-on.html.
        * media/modern-media-controls/button/button.html:
        * media/modern-media-controls/icon-button/icon-button-active-state-expected.txt: Removed.
        * media/modern-media-controls/icon-button/icon-button-change-layout-traits-expected.txt: Removed.
        * media/modern-media-controls/icon-button/icon-button-change-layout-traits.html: Removed.
        * media/modern-media-controls/icon-button/icon-button-expected.txt: Removed.
        * media/modern-media-controls/icon-button/icon-button-focus-state-expected.txt: Removed.
        * media/modern-media-controls/icon-button/icon-button-focus-state.html: Removed.
        * media/modern-media-controls/icon-button/icon-button-on-expected.txt: Removed.
        * media/modern-media-controls/icon-button/icon-button.html: Removed.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-07  Ryan Haddad  <ryanhaddad@apple.com>

        Remove TestExpectation for fast/backgrounds/background-repeat-x-y-parse.html.
        https://bugs.webkit.org/show_bug.cgi?id=167428

        Unreviewed test gardening.

        * TestExpectations:

2017-06-07  Per Arne Vollan  <pvollan@apple.com>

        Support removal of authentication data through the Website data store API.
        https://bugs.webkit.org/show_bug.cgi?id=171217

        Reviewed by Brady Eidson.

        * TestExpectations:
        * http/tests/loading/basic-auth-remove-credentials-expected.txt: Added.
        * http/tests/loading/basic-auth-remove-credentials.html: Added.
        * platform/mac-wk2/TestExpectations:

2017-06-07  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/background-tint
        https://bugs.webkit.org/show_bug.cgi?id=173056
        <rdar://problem/32614607>

        Reviewed by Eric Carlson.

        Update the background-color and filter properties for backdrops to match
        the latest implementation and specs.

        * media/modern-media-controls/background-tint/background-tint-expected.txt:
        * media/modern-media-controls/background-tint/background-tint.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-07  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed GTK expectations gardening

        Mark the mediacapturefromelement tests as skipped, we need canvas
        captureStreams support.

        * platform/gtk/TestExpectations:

2017-06-07  Antoine Quint  <graouts@apple.com>

        [mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=168409

        Unreviewed test gardening. This test has started timing out again on WK1.

        * platform/mac-wk1/TestExpectations:

2017-06-07  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        Add test baselines that expect RSA-PSS and HKDF tests running successfully.
        Also mark tests under imported/w3c/web-platform-tests/WebCryptoAPI as slow,
        giving them enough time to run properly and avoid timeouts.

        * platform/gtk/TestExpectations:
        * platform/gtk/crypto: Added.
        * platform/gtk/crypto/subtle: Added.
        * platform/gtk/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: Added.
        * platform/gtk/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Added.

2017-06-07  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] RSA-PSS support
        https://bugs.webkit.org/show_bug.cgi?id=172856

        Reviewed by Jiewen Tan.

        * platform/gtk/TestExpectations: Enable RSA-PSS tests that we pass. The remaining
        disabled tests rely on SPKI or PKCS#8 support that hasn't landed yet.

2017-06-06  Matt Lewis  <jlewis3@apple.com>

        Marked workers/bomb.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=167757

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-06-06  Darin Adler  <darin@apple.com>

        Update to slightly stricter rules for custom element names from more recent standard draft
        https://bugs.webkit.org/show_bug.cgi?id=173019

        Reviewed by Ryosuke Niwa.

        * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Expect more PASS.
        * platform/ios/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Ditto.

2017-06-06  Yoav Weiss  <yoav@yoav.ws>

        [preload] Conditional support for media preloading and align media `as` values.
        https://bugs.webkit.org/show_bug.cgi?id=172501

        Reviewed by Dean Jackson.

        Tests checking media resources preloading support were removed.

        * http/tests/preload/download_resources.html: Replaced "media" with "video".
        * http/tests/preload/download_resources_from_header_iframe-expected.txt: Changed expectation due to added "audio" test.
        * http/tests/preload/onload_event.html: Replaced "media" with "video".
        * http/tests/preload/preloadscanner_download_resources.html: Replaced "media" with "video".
        * http/tests/preload/resources/download_resources_from_header.php: Replaced "media" with "video" and "audio".
        * http/tests/preload/resources/nph-invalid_resources_from_header.pl: Replaced "media" with "video".
        * http/tests/preload/single_download_preload.html: Replaced "media" with "video" and "audio".
        * http/tests/preload/single_download_preload_headers.php: Replaced "media" with "video" and "audio".
        * http/tests/preload/single_download_preload_headers_charset.php: Replaced "media" with "video" and "audio".

2017-06-06  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html as flaky on mac.
        https://bugs.webkit.org/show_bug.cgi?id=170907

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-06  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        * platform/gtk/TestExpectations: Clean up the Web Crypto API test expectations.
        Unskip the crypto/subtle/, crypto/workers/subtle/ and
        imported/w3c/web-platform-tests/WebCryptoAPI/ directories and add expectations
        that skip the remaining failing layout tests, instead of skipping those
        directories and maintaining expectations for the passing tests.

2017-06-06  Jonathan Bedard  <jbedard@apple.com>

        Move storage/websql/alter-to-info-table.html failure expectation.
        https://bugs.webkit.org/show_bug.cgi?id=156718

        Unreviewed test gardening

        storage/websql/alter-to-info-table.html fails on iOS-simulator,
        but passes on device.

        * platform/ios-simulator/TestExpectations:
        * platform/ios/TestExpectations:

2017-06-06  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/fullscreen-api-enabled-media-with-presentation-mode.html is failing.
        https://bugs.webkit.org/show_bug.cgi?id=172998

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-06  Zalan Bujtas  <zalan@apple.com>

        Safari doesn't load newest The Order of the Stick comic.
        https://bugs.webkit.org/show_bug.cgi?id=172949
        <rdar://problem/32389730>

        Reviewed by Antti Koivisto.

        * fast/table/floating-table-sibling-is-invisible-expected.html: Added.
        * fast/table/floating-table-sibling-is-invisible.html: Added.

2017-06-06  Emilio Cobos Álvarez  <ecobos@igalia.com>

        [css-conditional] The one-string version of CSS.supports should be wrapped in implied parentheses.
        https://bugs.webkit.org/show_bug.cgi?id=172906

        Reviewed by Darin Adler.

        * css3/supports-dom-api-expected.txt:
        * css3/supports-dom-api.html: Added test

2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed rollout r217807. Caused a test to crash.

        * inspector/unit-tests/heap-snapshot-expected.txt:
        * inspector/unit-tests/heap-snapshot.html:

2017-06-06  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/audio
        https://bugs.webkit.org/show_bug.cgi?id=172996
        <rdar://problem/32590725>

        Reviewed by Eric Carlson.

        The new controls design switches the AirPlay and mute button order around.

        * media/modern-media-controls/audio/audio-controls-buttons-expected.txt:
        * media/modern-media-controls/audio/audio-controls-buttons.html:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-06  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/airplay-support
        https://bugs.webkit.org/show_bug.cgi?id=172980
        <rdar://problem/32589074>

        Reviewed by Eric Carlson.

        The test passes as-is on macOS, but needs to be skipped on iOS since we can't test AirPlay.

        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-06  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/airplay-placard
        https://bugs.webkit.org/show_bug.cgi?id=172977
        <rdar://problem/32588681>

        Reviewed by Eric Carlson.

        These two tests work fine as-is, we just need to enable them.

        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-06  Antoine Quint  <graouts@apple.com>

        Rebaseline and enable media/modern-media-controls/airplay-button
        https://bugs.webkit.org/show_bug.cgi?id=172975
        <rdar://problem/32588422>

        Reviewed by Eric Carlson.

        * media/modern-media-controls/airplay-button/airplay-button-expected.txt:
        * media/modern-media-controls/airplay-button/airplay-button-on.html: Remove some unnecessary
        code, the path to the icon directory is provided directly by media-controls-loader.js.
        * media/modern-media-controls/airplay-button/airplay-button.html: Remove the test for the "icon"
        CSS class since buttons no longer carry this class. We also update the assumptions to use SVG
        assets.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-06  Antoine Quint  <graouts@apple.com>

        Update modern media controls testing utilities
        https://bugs.webkit.org/show_bug.cgi?id=172976
        <rdar://problem/32588432>

        Reviewed by Eric Carlson.

        Update the list of CSS files to load to match the current list of
        existing CSS files in the modern-media-controls module.

        * media/modern-media-controls/resources/media-controls-loader.js:

2017-06-05  Antoine Quint  <graouts@apple.com>

        Update media controls to match latest design specs
        https://bugs.webkit.org/show_bug.cgi?id=172932

        Reviewed by Dean Jackson.

        Update test expectations to make a few of the tests we had already rebaselined pass.

        * TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-06-05  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/mediacapturefromelement/CanvasCaptureMediaStream-2d-events.html and update TestExpectations.

        Unreviewed test gardening.

        * fast/mediacapturefromelement/CanvasCaptureMediaStream-2d-events-expected.txt:

2017-06-05  Ryan Haddad  <ryanhaddad@apple.com>

        Skip storage/domstorage/sessionstorage/set-item-synchronous-keydown.html on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=172943

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-06-05  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK expectations gardening

        Mark a few tests as crashing.

        * platform/gtk/TestExpectations:

2017-06-05  Chris Dumez  <cdumez@apple.com>

        ASSERTION FAILED: RunLoop::isMain() in com.apple.WebKit: IPC::Connection::sendSyncMessage + 128
        https://bugs.webkit.org/show_bug.cgi?id=172943
        <rdar://problem/31288058>

        Reviewed by Alexey Proskuryakov.

        Make test clean a little bit more robust.

        * storage/domstorage/sessionstorage/set-item-synchronous-keydown.html:

2017-06-05  Chris Dumez  <cdumez@apple.com>

        ASSERTION FAILED: RunLoop::isMain() in com.apple.WebKit: IPC::Connection::sendSyncMessage + 128
        https://bugs.webkit.org/show_bug.cgi?id=172943
        <rdar://problem/31288058>

        Reviewed by Alexey Proskuryakov.

        Add better test coverage.

        * storage/domstorage/sessionstorage/set-item-synchronous-keydown-expected.txt: Added.
        * storage/domstorage/sessionstorage/set-item-synchronous-keydown.html: Added.

2017-06-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
        https://bugs.webkit.org/show_bug.cgi?id=172848
        <rdar://problem/25709212>

        Reviewed by Saam Barati.

        * inspector/unit-tests/heap-snapshot-expected.txt:
        * inspector/unit-tests/heap-snapshot.html:
        Update for the new node flag.

2017-06-05  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for Windows after r217772.
        https://bugs.webkit.org/show_bug.cgi?id=172866

        Unreviewed test gardening.

        * platform/win/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
        * platform/win/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/win/svg/batik/filters/feTile-expected.txt:
        * platform/win/svg/batik/filters/filterRegions-expected.txt:
        * platform/win/svg/batik/masking/maskRegions-expected.txt:
        * platform/win/svg/batik/paints/gradientLimit-expected.txt:
        * platform/win/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/win/svg/batik/paints/patternRegionA-expected.txt:
        * platform/win/svg/batik/paints/patternRegions-expected.txt:
        * platform/win/svg/batik/paints/patternRegions-positioned-objects-expected.txt: Added.
        * platform/win/svg/batik/text/longTextOnPath-expected.txt: Added.
        * platform/win/svg/batik/text/smallFonts-expected.txt:
        * platform/win/svg/batik/text/textAnchor-expected.txt:
        * platform/win/svg/batik/text/textDecoration-expected.txt:
        * platform/win/svg/batik/text/textEffect-expected.txt:
        * platform/win/svg/batik/text/textEffect2-expected.txt:
        * platform/win/svg/batik/text/textEffect3-expected.txt:
        * platform/win/svg/batik/text/textFeatures-expected.txt:
        * platform/win/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
        * platform/win/svg/batik/text/textLayout-expected.txt:
        * platform/win/svg/batik/text/textLayout2-expected.txt:
        * platform/win/svg/batik/text/textLength-expected.txt:
        * platform/win/svg/batik/text/textOnPathSpaces-expected.txt:
        * platform/win/svg/batik/text/textPosition-expected.txt:
        * platform/win/svg/batik/text/textProperties-expected.txt:
        * platform/win/svg/batik/text/textProperties2-expected.txt:
        * platform/win/svg/batik/text/textStyles-expected.txt:
        * platform/win/svg/custom/broken-internal-references-expected.txt:
        * platform/win/svg/custom/path-textPath-simulation-expected.txt:
        * platform/win/svg/dom/SVGPathSegList-segment-modification-expected.txt:
        * platform/win/svg/hixie/perf/001-expected.txt:
        * platform/win/svg/hixie/perf/002-expected.txt:
        * platform/win/svg/text/text-path-01-b-expected.txt:
        * platform/win/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:

2017-06-05  Ryan Haddad  <ryanhaddad@apple.com>

        Remove debug-only flag for flaky test http/tests/navigation/statistics.html.
        https://bugs.webkit.org/show_bug.cgi?id=172454

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-06-05  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/audio/audio-controls-metrics.html
        https://bugs.webkit.org/show_bug.cgi?id=172915

        Reviewed by Antoine Quint.

        The default height of <audio> elements is now 31pt.

        * media/modern-media-controls/audio/audio-controls-metrics-expected.txt:
        * media/modern-media-controls/audio/audio-controls-metrics.html:

2017-06-04  Simon Fraser  <simon.fraser@apple.com>

        Percentages are calculated wrong in SVG transform CSS property
        https://bugs.webkit.org/show_bug.cgi?id=172901

        Reviewed by Zalan Bujtas.

        * svg/transforms/percent-transform-values-viewbox-expected.html: Added.
        * svg/transforms/percent-transform-values-viewbox.html: Added.
        * svg/transforms/transform-origin-css-property-expected.xhtml:
        * svg/transforms/transform-origin-css-property.xhtml: Make this test a bit less
        annoying to maintain by applying the transforms relative to the fill-box, which means all
        the transform origins are no longer offset by the box position. Other tests exercise
        view-box relative transform origins.

2017-06-04  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Page capture state not reported correctly
        https://bugs.webkit.org/show_bug.cgi?id=172897
        <rdar://problem/32493318>

        Reviewed by Youenn Fablet.

        * fast/mediastream/media-stream-track-muted-expected.txt: Added.
        * fast/mediastream/media-stream-track-muted.html: Added.

2017-06-03  Sam Weinig  <sam@webkit.org>

        Can't use Object.defineProperty() to add an item to a DOMStringMap or Storage
        https://bugs.webkit.org/show_bug.cgi?id=172687

        Reviewed by Darin Adler.

        * js/dom/legacy-platform-object-defineOwnProperty-expected.txt: Added.
        * js/dom/legacy-platform-object-defineOwnProperty.html: Added.
        New tests for Object.defineProperty on Storage and DOMStringMap.

        * js/dom/named-property-deleter.html:
        Fix test which was deleting the wrong property. This doesn't change the result,
        but is now actually testing the thing it meant to.

        * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:
        * storage/domstorage/localstorage/delete-defineproperty-removal.html:
        Convert to testharness.js and show that the results are now correct.

2017-06-04  Simon Fraser  <simon.fraser@apple.com>

        Object bounding box wrong for some paths
        https://bugs.webkit.org/show_bug.cgi?id=172866

        Reviewed by Tim Horton.

        So many new baselines.

        * platform/ios/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
        * platform/ios/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/ios/svg/batik/text/longTextOnPath-expected.txt:
        * platform/ios/svg/batik/text/smallFonts-expected.txt:
        * platform/ios/svg/batik/text/textAnchor-expected.txt:
        * platform/ios/svg/batik/text/textDecoration-expected.txt:
        * platform/ios/svg/batik/text/textEffect-expected.txt:
        * platform/ios/svg/batik/text/textEffect2-expected.txt:
        * platform/ios/svg/batik/text/textEffect3-expected.txt:
        * platform/ios/svg/batik/text/textFeatures-expected.txt:
        * platform/ios/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
        * platform/ios/svg/batik/text/textLayout-expected.txt:
        * platform/ios/svg/batik/text/textLayout2-expected.txt:
        * platform/ios/svg/batik/text/textLength-expected.txt:
        * platform/ios/svg/batik/text/textOnPath-expected.txt:
        * platform/ios/svg/batik/text/textOnPathSpaces-expected.txt:
        * platform/ios/svg/batik/text/textPosition-expected.txt:
        * platform/ios/svg/batik/text/textPosition2-expected.txt:
        * platform/ios/svg/batik/text/textProperties-expected.txt:
        * platform/ios/svg/batik/text/textProperties2-expected.txt:
        * platform/ios/svg/batik/text/textStyles-expected.txt:
        * platform/ios/svg/batik/text/verticalText-expected.txt:
        * platform/ios/svg/batik/text/verticalTextOnPath-expected.txt:
        * platform/ios/svg/custom/broken-internal-references-expected.txt:
        * platform/ios/svg/custom/path-textPath-simulation-expected.txt:
        * platform/ios/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/ios/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.txt:
        * platform/ios/svg/custom/second-inline-text-expected.txt:
        * platform/ios/svg/text/text-path-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegionA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegions-expected.txt:
        * platform/mac/svg/batik/text/smallFonts-expected.txt:
        * platform/mac/svg/batik/text/textAnchor-expected.txt:
        * platform/mac/svg/batik/text/textEffect2-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
        * platform/mac/svg/batik/text/textLayout-expected.txt:
        * platform/mac/svg/batik/text/textLayout2-expected.txt:
        * platform/mac/svg/batik/text/textOnPathSpaces-expected.txt:
        * platform/mac/svg/batik/text/textPosition2-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/batik/text/textProperties2-expected.txt:
        * platform/mac/svg/batik/text/textStyles-expected.txt:
        * platform/mac/svg/custom/animate-path-morphing-expected.txt:
        * platform/mac/svg/custom/broken-internal-references-expected.txt:
        * platform/mac/svg/custom/path-textPath-simulation-expected.txt:
        * platform/mac/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/mac/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.txt:
        * platform/mac/svg/custom/second-inline-text-expected.txt:
        * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt:
        * platform/mac/svg/hixie/perf/001-expected.txt:
        * platform/mac/svg/hixie/perf/002-expected.txt:
        * platform/mac/svg/text/text-path-01-b-expected.txt:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
        * svg/custom/control-points-for-S-and-T-expected.txt:
        * svg/custom/use-nested-transform-expected.txt:

2017-06-04  Jonathan Bedard  <jbedard@apple.com>

        Unreviewed test gardening

        Gardening test expectations for layout tests on iOS device. Moving
        expectations for tests which fail on Simulator but pass on device.

        * platform/ios-simulator-wk1/TestExpectations:
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-06-04  Chris Dumez  <cdumez@apple.com>

        Implement DOMMatrixReadOnly.transformPoint()
        https://bugs.webkit.org/show_bug.cgi?id=172900

        Reviewed by Simon Fraser.

        * imported/blink/fast/dom/geometry-interfaces-dom-matrix-transformPoint-expected.txt: Added.
        * imported/blink/fast/dom/geometry-interfaces-dom-matrix-transformPoint.html: Added.
        * imported/blink/fast/dom/resources/geometry-interfaces-test-helpers.js: Added.
        Import test coverage from Blink.

2017-06-04  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Add a few test failure expectations, linking them to
        existing bugs. Update or add GTK+-specific baselines for three tests.

        * platform/gtk/TestExpectations:
        * platform/gtk/accessibility/disabled-controls-not-focusable-expected.txt: Added.
        * platform/gtk/compositing/backing-store-attachment-1-expected.txt: Added.
        * platform/gtk/css1/box_properties/acid_test-expected.txt:

2017-06-03  Chris Dumez  <cdumez@apple.com>

        Implement DOMMatrix's fromFloat32Array / fromFloat64Array & toFloat32Array / toFloat64Array
        https://bugs.webkit.org/show_bug.cgi?id=172898

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * http/wpt/geometry/DOMMatrix-from-to-typed-arrays-expected.txt: Added.
        * http/wpt/geometry/DOMMatrix-from-to-typed-arrays.html: Added.

2017-06-03  Simon Fraser  <simon.fraser@apple.com>

        Implement DOMPointReadOnly.matrixTransform()
        https://bugs.webkit.org/show_bug.cgi?id=172896

        Reviewed by Chris Dumez.

        DOMPoint-003.html should be upstreamed at some point.

        * http/wpt/geometry/DOMPoint-003-expected.txt: Added.
        * http/wpt/geometry/DOMPoint-003.html: Added.

2017-06-03  Jonathan Bedard  <jbedard@apple.com>

        Unreviewed test gardening

        * platform/ios/TestExpectations: Update expectation for tests passing
        after https://bugs.webkit.org/show_bug.cgi?id=139968.

2017-06-03  Yusuke Suzuki  <utatane.tea@gmail.com>

        Script modules should be able to import data urls
        https://bugs.webkit.org/show_bug.cgi?id=171594

        Reviewed by Youenn Fablet.

        * http/tests/security/script-with-dataurl-expected.txt:
        * http/tests/security/script-with-dataurl.html:
        Now, the spec is changed and errors from data: scripts should not be muted.
        https://github.com/whatwg/html/issues/1778

        * js/dom/classic-script-with-data-url-expected.txt: Added.
        * js/dom/classic-script-with-data-url.html: Added.
        * js/dom/modules/module-script-with-data-url-expected.txt: Added.
        * js/dom/modules/module-script-with-data-url.html: Added.

2017-06-03  Jonathan Bedard  <jbedard@apple.com>

        Move css3/flexbox/image-percent-max-height.html failure expectation.
        https://bugs.webkit.org/show_bug.cgi?id=126898

        Unreviewed test gardening

        css3/flexbox/image-percent-max-height.html fails on iOS-simulator,
        but passes on device.

        * platform/ios-simulator/TestExpectations:
        * platform/ios/TestExpectations:

2017-06-03  Chris Dumez  <cdumez@apple.com>

        http/tests/cache/disk-cache/shattered-deduplication.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=172868
        <rdar://problem/31249379>

        Reviewed by Antti Koivisto.

        http/tests/cache/disk-cache/shattered-deduplication.html was flaky due to PDF banner
        fade-in / fade-out animation.

        <rdar://problem/31249379> is fixed for me with the proposed changes.

        * http/tests/cache/disk-cache/shattered-deduplication-expected.html:
        - Wait 1 second before calling notifyDone() to give the PDF as much time to render as
        the test page.
        - Reduce frame height to 30 to not have to worry about the PDF tool banner being visible
          or not (as it fades in and out). 30 is still enough to see the color and confirm the
          test is passing.

        * http/tests/cache/disk-cache/shattered-deduplication.html:
        - Reduce frame height to 30 to not have to worry about the PDF tool banner being visible
          or not (as it fades in and out). 30 is still enough to see the color and confirm the
          test is passing.

2017-06-02  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r213464): [iOS] Fonts get too bold when the "Bold Text" accessibility setting is enabled
        https://bugs.webkit.org/show_bug.cgi?id=172737
        <rdar://problem/31608236>

        Reviewed by Simon Fraser.

        * fast/text/accessibility-bold-system-font-2-expected.html: Added.
        * fast/text/accessibility-bold-system-font-2.html: Added.
        * fast/text/accessibility-bold-system-font-expected.txt: Added.
        * fast/text/accessibility-bold-system-font.html: Added.
        * platform/mac/TestExpectations:

2017-06-02  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webrtc/captureCanvas-webrtc.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=170870

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-06-02  Jonathan Bedard  <jbedard@apple.com>

        Move compositing/overflow/dynamic-composited-scrolling-status.html failure expectation.
        https://bugs.webkit.org/show_bug.cgi?id=152439

        Unreviewed test gardening

        compositing/overflow/dynamic-composited-scrolling-status.html fails on iOS-simulator WK2,
        but passes on device.

        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-wk2/TestExpectations:

2017-06-02  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webrtc/audio-replace-track.html as flaky on iOS and remove Timeout expectation for macOS.
        https://bugs.webkit.org/show_bug.cgi?id=171895

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-06-02  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream iOS] Cleanup video muting/unmuting when tab visibility changes
        https://bugs.webkit.org/show_bug.cgi?id=172858

        Reviewed by Youenn Fablet.

        * platform/ios/mediastream/video-muted-in-background-tab-expected.txt: Added.
        * platform/ios/mediastream/video-muted-in-background-tab.html: Added.

2017-06-02  Matt Lewis  <jlewis3@apple.com>

        Moved test expectation for http/tests/preload/viewport/meta-viewport-link-headers.php to correct file.
        https://bugs.webkit.org/show_bug.cgi?id=172518

        Unreviewed test gardening

        * platform/ios-simulator/TestExpectations:
        * platform/ios/TestExpectations:

2017-06-02  Chris Dumez  <cdumez@apple.com>

        REGRESSION: LayoutTest fast/scrolling/arrow-key-scroll-in-rtl-document.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=161549
        <rdar://problem/28213429>

        Reviewed by Simon Fraser.

        * fast/scrolling/arrow-key-scroll-in-rtl-document.html:
        Call eventSender.callAfterScrollingCompletes() in the next event loop iteration to
        address the flakiness.

        * platform/mac-wk2/TestExpectations:
        Unskip test.

2017-06-02  Frederic Wang  <fwang@igalia.com>

        [Mac] Include frames in the scrolling tree when ScrollingTreeIncludesFrames=true
        https://bugs.webkit.org/show_bug.cgi?id=172825

        Reviewed by Simon Fraser.

        Add a new test to check whether a non-main frame appears in the scrolling tree when
        ScrollingTreeIncludesFrames=true. For now this is only happens for Mac WK2. Also update
        the iOS WK2 reference for scrolling-iframe-expected.html

        * fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.
        * fast/scrolling/scrolling-tree-includes-frame.html: Added.
        * platform/ios-simulator/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.
        * platform/ios-wk2/compositing/iframes/scrolling-iframe-expected.txt: Update reference.
        * platform/mac-wk1/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.

2017-06-02  Frederic Wang  <fwang@igalia.com>

        [Mac] Use compositing for frames when ScrollingTreeIncludesFrames=true
        https://bugs.webkit.org/show_bug.cgi?id=172851

        Reviewed by Simon Fraser.

        This commit adds a test to check whether scrollable iframes require a special composited
        layer when ScrollingTreeIncludesFrames=true. This is currently only done on Mac WK2.

        * compositing/iframes/compositing-for-scrollable-iframe.html: Added. This is a basic test
        printing the layer tree of a page with an iframe.
        * platform/ios-simulator/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
        * platform/mac/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
        * platform/mac-wk1/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.

2017-06-02  Andy Estes  <aestes@apple.com>

        [Cocoa] Add a "supportedCountries" property to ApplePayPaymentRequest
        https://bugs.webkit.org/show_bug.cgi?id=172832
        <rdar://problem/30735544>

        Reviewed by Alex Christensen.

        * http/tests/ssl/applepay/ApplePaySessionV3-expected.txt: Added.
        * http/tests/ssl/applepay/ApplePaySessionV3.html: Added.
        * platform/mac-wk2/TestExpectations:

2017-06-02  Devin Rousso  <drousso@apple.com>

        Web Inspector: Should see active Web Sockets when opening Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=172312

        Reviewed by Joseph Pecoraro.

        Test that WebSockets created before the inspector loads are also tracked.

        * http/tests/websocket/tests/hybi/inspector/before-load-expected.txt: Added.
        * http/tests/websocket/tests/hybi/inspector/before-load.html: Added.
        * http/tests/websocket/tests/hybi/inspector/before-load_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):

2017-06-02  Matt Lewis  <jlewis3@apple.com>

        Marked fast/images/slower-decoding-than-animation-image.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172666

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-02  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations: Add a few test failure expectations.
        * platform/wpe/js/dom/global-constructors-attributes-dedicated-worker-expected.txt: Rebaseline.
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt: Ditto.

2017-06-02  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Logical margin incorrectly applied during the tracks sizing algorithm of auto tracks
        https://bugs.webkit.org/show_bug.cgi?id=172836

        Reviewed by Manuel Rego Casasnovas.

        Test to verify different cases of auto-sized tracks and orthogonal items with margins.

        * fast/css-grid-layout/grid-track-sizing-with-margins-and-orthogonal-flows-expected.txt: Added.
        * fast/css-grid-layout/grid-track-sizing-with-margins-and-orthogonal-flows.html: Added.

2017-06-02  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Margin wrong applied when stretching an orthogonal item in fixed size track
        https://bugs.webkit.org/show_bug.cgi?id=172590

        Reviewed by Sergio Villar Senin.

        * TestExpectations: 2 tests pass now but 3 more fail because of bug #172836
        * fast/css-grid-layout/grid-item-stretching-must-not-depend-on-previous-layouts-expected.html: Added.
        * fast/css-grid-layout/grid-item-stretching-must-not-depend-on-previous-layouts.html: Added.

2017-06-02  Zan Dobersek  <zdobersek@igalia.com>

        [WPE] Enable SUBTLE_CRYPTO
        https://bugs.webkit.org/show_bug.cgi?id=172756

        Reviewed by Michael Catanzaro.

        * platform/wpe/TestExpectations: Enable tests under crypto/ and
        imported/w3c/web-platform-tests/WebCryptoAPI/ in general, but add
        the test expectations for failing tests under those directories.

2017-06-01  Andreas Kling  <akling@apple.com>

        [Mac] Remove backing store for layers that are outside the viewport
        https://bugs.webkit.org/show_bug.cgi?id=170082
        <rdar://problem/31245009>

        Reviewed by Simon Fraser.

        Add a simple test with two compositing layers far apart vertically. Only one of them
        should have its backing store attached.

        * compositing/backing-store-attachment-1-expected.txt: Added.
        * compositing/backing-store-attachment-1.html: Added.

2017-06-01  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r217691.

        This change broke the Windows build.

        Reverted changeset:

        "Web Inspector: Should see active Web Sockets when opening Web
        Inspector"
        https://bugs.webkit.org/show_bug.cgi?id=172312
        http://trac.webkit.org/changeset/217691

2017-06-01  Devin Rousso  <drousso@apple.com>

        Web Inspector: Should see active Web Sockets when opening Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=172312

        Reviewed by Joseph Pecoraro.

        Test that WebSockets created before the inspector loads are also tracked.

        * http/tests/websocket/tests/hybi/inspector/before-load-expected.txt: Added.
        * http/tests/websocket/tests/hybi/inspector/before-load.html: Added.
        * http/tests/websocket/tests/hybi/inspector/before-load_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):

2017-06-01  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/navigation/statistics.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172454

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-06-01  Matt Lewis  <jlewis3@apple.com>

        Fixed typo in test expectations.
        https://bugs.webkit.org/show_bug.cgi?id=172054

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-01  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline webarchive/loading/mainresource-null-mimetype-crash.html after r217680.

        Unreviewed test gardening.

        * webarchive/loading/mainresource-null-mimetype-crash-expected.txt:

2017-06-01  Chris Dumez  <cdumez@apple.com>

        webarchive/loading/mainresource-null-mimetype-crash.html / webarchive/loading/missing-data.html are flaky
        https://bugs.webkit.org/show_bug.cgi?id=172823

        Reviewed by Alexey Proskuryakov.

        Rewrite webarchive/loading/mainresource-null-mimetype-crash.html / webarchive/loading/missing-data.html
        to address flakiness. We now navigate a subframe instead of the main frame. We also mark the test as
        asynchronous and wait for the subframe to finish loading before calling testRunner.notifyDone().

        * platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt:
        * webarchive/loading/mainresource-null-mimetype-crash.html:
        * webarchive/loading/missing-data-expected.txt:
        * webarchive/loading/missing-data.html:

2017-06-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Bump GTK+ and its dependencies in jhbuild
        https://bugs.webkit.org/show_bug.cgi?id=171918

        Reviewed by Carlos Alberto Lopez Perez.

        Rebaseline tests for new GTK+ version.

        * platform/gtk/css1/box_properties/acid_test-expected.txt:
        * platform/gtk/css2.1/20110323/replaced-elements-001-expected.png:
        * platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
        * platform/gtk/css2.1/t09-c5526c-display-00-e-expected.png:
        * platform/gtk/css2.1/t09-c5526c-display-00-e-expected.txt:
        * platform/gtk/css3/flexbox/button-expected.png:
        * platform/gtk/css3/flexbox/button-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-23-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-23-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-25-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-69-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-69-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-70-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt:
        * platform/gtk/editing/pasteboard/4641033-expected.png:
        * platform/gtk/editing/pasteboard/4641033-expected.txt:
        * platform/gtk/editing/pasteboard/4944770-1-expected.png:
        * platform/gtk/editing/pasteboard/4944770-1-expected.txt:
        * platform/gtk/editing/pasteboard/4944770-2-expected.png:
        * platform/gtk/editing/pasteboard/4944770-2-expected.txt:
        * platform/gtk/editing/selection/3690703-2-expected.png:
        * platform/gtk/editing/selection/3690703-2-expected.txt:
        * platform/gtk/editing/selection/3690703-expected.png:
        * platform/gtk/editing/selection/3690703-expected.txt:
        * platform/gtk/editing/selection/3690719-expected.png:
        * platform/gtk/editing/selection/3690719-expected.txt:
        * platform/gtk/editing/selection/4397952-expected.png:
        * platform/gtk/editing/selection/4397952-expected.txt:
        * platform/gtk/editing/selection/5240265-expected.png:
        * platform/gtk/editing/selection/5240265-expected.txt:
        * platform/gtk/editing/selection/caret-before-select-expected.png:
        * platform/gtk/editing/selection/caret-before-select-expected.txt:
        * platform/gtk/editing/selection/replaced-boundaries-3-expected.png:
        * platform/gtk/editing/selection/replaced-boundaries-3-expected.txt:
        * platform/gtk/editing/selection/select-box-expected.png:
        * platform/gtk/editing/selection/select-box-expected.txt:
        * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png:
        * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt:
        * platform/gtk/editing/selection/selection-button-text-expected.png:
        * platform/gtk/editing/selection/selection-button-text-expected.txt:
        * platform/gtk/fast/block/basic/011-expected.png:
        * platform/gtk/fast/block/basic/011-expected.txt:
        * platform/gtk/fast/block/float/float-avoidance-expected.png:
        * platform/gtk/fast/block/float/float-avoidance-expected.txt:
        * platform/gtk/fast/block/margin-collapse/103-expected.png:
        * platform/gtk/fast/block/margin-collapse/103-expected.txt:
        * platform/gtk/fast/block/positioning/inline-block-relposition-expected.png:
        * platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt:
        * platform/gtk/fast/box-sizing/percentage-height-expected.png:
        * platform/gtk/fast/box-sizing/percentage-height-expected.txt:
        * platform/gtk/fast/css/continuationCrash-expected.png:
        * platform/gtk/fast/css/continuationCrash-expected.txt:
        * platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.png:
        * platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:
        * platform/gtk/fast/css/input-search-padding-expected.png:
        * platform/gtk/fast/css/input-search-padding-expected.txt:
        * platform/gtk/fast/css/margin-top-bottom-dynamic-expected.png:
        * platform/gtk/fast/css/margin-top-bottom-dynamic-expected.txt:
        * platform/gtk/fast/css/non-standard-checkbox-size-expected.png:
        * platform/gtk/fast/css/non-standard-checkbox-size-expected.txt:
        * platform/gtk/fast/css/rtl-ordering-expected.png:
        * platform/gtk/fast/css/rtl-ordering-expected.txt:
        * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png:
        * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
        * platform/gtk/fast/css/text-overflow-input-expected.png:
        * platform/gtk/fast/css/text-overflow-input-expected.txt:
        * platform/gtk/fast/css/text-transform-select-expected.png:
        * platform/gtk/fast/css/text-transform-select-expected.txt:
        * platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.png:
        * platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.png:
        * platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.png:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.png:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.txt:
        * platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
        * platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
        * platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
        * platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/gtk/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
        * platform/gtk/fast/forms/001-expected.png:
        * platform/gtk/fast/forms/001-expected.txt:
        * platform/gtk/fast/forms/003-expected.png:
        * platform/gtk/fast/forms/003-expected.txt:
        * platform/gtk/fast/forms/004-expected.png:
        * platform/gtk/fast/forms/004-expected.txt:
        * platform/gtk/fast/forms/basic-buttons-expected.png:
        * platform/gtk/fast/forms/basic-buttons-expected.txt:
        * platform/gtk/fast/forms/basic-inputs-expected.png:
        * platform/gtk/fast/forms/basic-inputs-expected.txt:
        * platform/gtk/fast/forms/basic-selects-expected.png:
        * platform/gtk/fast/forms/basic-selects-expected.txt:
        * platform/gtk/fast/forms/blankbuttons-expected.png:
        * platform/gtk/fast/forms/blankbuttons-expected.txt:
        * platform/gtk/fast/forms/box-shadow-override-expected.png:
        * platform/gtk/fast/forms/box-shadow-override-expected.txt:
        * platform/gtk/fast/forms/button-align-expected.png:
        * platform/gtk/fast/forms/button-align-expected.txt:
        * platform/gtk/fast/forms/button-cannot-be-nested-expected.png:
        * platform/gtk/fast/forms/button-cannot-be-nested-expected.txt:
        * platform/gtk/fast/forms/button-default-title-expected.png:
        * platform/gtk/fast/forms/button-default-title-expected.txt:
        * platform/gtk/fast/forms/button-generated-content-expected.png:
        * platform/gtk/fast/forms/button-generated-content-expected.txt:
        * platform/gtk/fast/forms/button-inner-block-reuse-expected.png:
        * platform/gtk/fast/forms/button-inner-block-reuse-expected.txt:
        * platform/gtk/fast/forms/button-positioned-expected.png:
        * platform/gtk/fast/forms/button-positioned-expected.txt:
        * platform/gtk/fast/forms/button-sizes-expected.png:
        * platform/gtk/fast/forms/button-sizes-expected.txt:
        * platform/gtk/fast/forms/button-style-color-expected.png:
        * platform/gtk/fast/forms/button-style-color-expected.txt:
        * platform/gtk/fast/forms/button-table-styles-expected.png:
        * platform/gtk/fast/forms/button-table-styles-expected.txt:
        * platform/gtk/fast/forms/button-text-transform-expected.png:
        * platform/gtk/fast/forms/button-text-transform-expected.txt:
        * platform/gtk/fast/forms/button-white-space-expected.png:
        * platform/gtk/fast/forms/button-white-space-expected.txt:
        * platform/gtk/fast/forms/control-clip-expected.png:
        * platform/gtk/fast/forms/control-clip-expected.txt:
        * platform/gtk/fast/forms/control-clip-overflow-expected.png:
        * platform/gtk/fast/forms/control-clip-overflow-expected.txt:
        * platform/gtk/fast/forms/control-restrict-line-height-expected.png:
        * platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
        * platform/gtk/fast/forms/disabled-select-change-index-expected.png:
        * platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
        * platform/gtk/fast/forms/file/file-input-direction-expected.png:
        * platform/gtk/fast/forms/file/file-input-direction-expected.txt:
        * platform/gtk/fast/forms/file/file-input-disabled-expected.png:
        * platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
        * platform/gtk/fast/forms/form-element-geometry-expected.png:
        * platform/gtk/fast/forms/form-element-geometry-expected.txt:
        * platform/gtk/fast/forms/formmove-expected.png:
        * platform/gtk/fast/forms/formmove-expected.txt:
        * platform/gtk/fast/forms/formmove2-expected.png:
        * platform/gtk/fast/forms/formmove2-expected.txt:
        * platform/gtk/fast/forms/formmove3-expected.png:
        * platform/gtk/fast/forms/formmove3-expected.txt:
        * platform/gtk/fast/forms/indeterminate-expected.png:
        * platform/gtk/fast/forms/indeterminate-expected.txt:
        * platform/gtk/fast/forms/input-appearance-height-expected.png:
        * platform/gtk/fast/forms/input-appearance-height-expected.txt:
        * platform/gtk/fast/forms/input-button-sizes-expected.png:
        * platform/gtk/fast/forms/input-button-sizes-expected.txt:
        * platform/gtk/fast/forms/input-first-letter-expected.png:
        * platform/gtk/fast/forms/input-first-letter-expected.txt:
        * platform/gtk/fast/forms/input-number-click-expected.txt: Added.
        * platform/gtk/fast/forms/input-value-expected.png:
        * platform/gtk/fast/forms/input-value-expected.txt:
        * platform/gtk/fast/forms/menulist-deselect-update-expected.png:
        * platform/gtk/fast/forms/menulist-deselect-update-expected.txt:
        * platform/gtk/fast/forms/menulist-narrow-width-expected.png:
        * platform/gtk/fast/forms/menulist-narrow-width-expected.txt:
        * platform/gtk/fast/forms/menulist-no-overflow-expected.png:
        * platform/gtk/fast/forms/menulist-no-overflow-expected.txt:
        * platform/gtk/fast/forms/menulist-restrict-line-height-expected.png:
        * platform/gtk/fast/forms/menulist-restrict-line-height-expected.txt:
        * platform/gtk/fast/forms/menulist-separator-painting-expected.png:
        * platform/gtk/fast/forms/menulist-separator-painting-expected.txt:
        * platform/gtk/fast/forms/menulist-style-color-expected.png:
        * platform/gtk/fast/forms/menulist-style-color-expected.txt:
        * platform/gtk/fast/forms/menulist-width-change-expected.png:
        * platform/gtk/fast/forms/menulist-width-change-expected.txt:
        * platform/gtk/fast/forms/number/number-appearance-rtl-expected.png:
        * platform/gtk/fast/forms/number/number-appearance-rtl-expected.txt:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.png:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-layer-expected.png:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
        * platform/gtk/fast/forms/number/number-spinbutton-change-and-input-events-expected.txt: Added.
        * platform/gtk/fast/forms/number/number-spinbutton-click-in-iframe-expected.txt: Added.
        * platform/gtk/fast/forms/number/number-spinbutton-gets-disabled-or-readonly-expected.txt: Added.
        * platform/gtk/fast/forms/option-script-expected.png:
        * platform/gtk/fast/forms/option-script-expected.txt:
        * platform/gtk/fast/forms/option-strip-whitespace-expected.png:
        * platform/gtk/fast/forms/option-strip-whitespace-expected.txt:
        * platform/gtk/fast/forms/option-text-clip-expected.png:
        * platform/gtk/fast/forms/option-text-clip-expected.txt:
        * platform/gtk/fast/forms/placeholder-position-expected.png:
        * platform/gtk/fast/forms/placeholder-position-expected.txt:
        * platform/gtk/fast/forms/placeholder-pseudo-style-expected.png:
        * platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/gtk/fast/forms/range/input-appearance-range-expected.png:
        * platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
        * platform/gtk/fast/forms/range/slider-padding-expected.png:
        * platform/gtk/fast/forms/range/slider-padding-expected.txt:
        * platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.png:
        * platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
        * platform/gtk/fast/forms/range/slider-transformed-expected.txt:
        * platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.png:
        * platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.txt:
        * platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.png:
        * platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/gtk/fast/forms/search-display-none-cancel-button-expected.png:
        * platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/gtk/fast/forms/search-input-rtl-expected.png:
        * platform/gtk/fast/forms/search-input-rtl-expected.txt: Added.
        * platform/gtk/fast/forms/search-rtl-expected.png:
        * platform/gtk/fast/forms/search-rtl-expected.txt:
        * platform/gtk/fast/forms/search-styled-expected.png:
        * platform/gtk/fast/forms/search-styled-expected.txt:
        * platform/gtk/fast/forms/search/search-size-with-decorations-expected.png:
        * platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/gtk/fast/forms/searchfield-heights-expected.png:
        * platform/gtk/fast/forms/searchfield-heights-expected.txt:
        * platform/gtk/fast/forms/select-align-expected.png:
        * platform/gtk/fast/forms/select-align-expected.txt:
        * platform/gtk/fast/forms/select-background-none-expected.png:
        * platform/gtk/fast/forms/select-background-none-expected.txt:
        * platform/gtk/fast/forms/select-baseline-expected.png:
        * platform/gtk/fast/forms/select-baseline-expected.txt:
        * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.png:
        * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.txt:
        * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.png:
        * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/gtk/fast/forms/select-disabled-appearance-expected.png:
        * platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
        * platform/gtk/fast/forms/select-element-focus-ring-expected.png: Added.
        * platform/gtk/fast/forms/select-element-focus-ring-expected.txt:
        * platform/gtk/fast/forms/select-initial-position-expected.png:
        * platform/gtk/fast/forms/select-initial-position-expected.txt:
        * platform/gtk/fast/forms/select-non-native-rendering-direction-expected.png: Added.
        * platform/gtk/fast/forms/select-non-native-rendering-direction-expected.txt: Added.
        * platform/gtk/fast/forms/select-selected-expected.png:
        * platform/gtk/fast/forms/select-selected-expected.txt:
        * platform/gtk/fast/forms/select-style-expected.png:
        * platform/gtk/fast/forms/select-style-expected.txt:
        * platform/gtk/fast/forms/select-visual-hebrew-expected.png:
        * platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
        * platform/gtk/fast/forms/select-writing-direction-natural-expected.png:
        * platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/gtk/fast/forms/select/optgroup-rendering-expected.png:
        * platform/gtk/fast/forms/select/optgroup-rendering-expected.txt:
        * platform/gtk/fast/forms/selectlist-minsize-expected.png:
        * platform/gtk/fast/forms/selectlist-minsize-expected.txt:
        * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.png:
        * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.txt:
        * platform/gtk/fast/forms/targeted-frame-submission-expected.png:
        * platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
        * platform/gtk/fast/forms/validation-message-appearance-expected.png:
        * platform/gtk/fast/forms/validation-message-appearance-expected.txt:
        * platform/gtk/fast/html/details-replace-summary-child-expected.png:
        * platform/gtk/fast/html/details-replace-summary-child-expected.txt:
        * platform/gtk/fast/html/details-replace-text-expected.png:
        * platform/gtk/fast/html/details-replace-text-expected.txt:
        * platform/gtk/fast/html/keygen-expected.png:
        * platform/gtk/fast/html/keygen-expected.txt:
        * platform/gtk/fast/inline/positionedLifetime-expected.png:
        * platform/gtk/fast/inline/positionedLifetime-expected.txt:
        * platform/gtk/fast/invalid/014-expected.png:
        * platform/gtk/fast/invalid/014-expected.txt:
        * platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png:
        * platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/gtk/fast/overflow/scrollRevealButton-expected.png:
        * platform/gtk/fast/overflow/scrollRevealButton-expected.txt:
        * platform/gtk/fast/parser/bad-xml-slash-expected.png:
        * platform/gtk/fast/parser/bad-xml-slash-expected.txt:
        * platform/gtk/fast/parser/document-write-option-expected.png:
        * platform/gtk/fast/parser/document-write-option-expected.txt:
        * platform/gtk/fast/repaint/search-field-cancel-expected.png:
        * platform/gtk/fast/repaint/search-field-cancel-expected.txt:
        * platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png:
        * platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
        * platform/gtk/fast/replaced/replaced-breaking-expected.png:
        * platform/gtk/fast/replaced/replaced-breaking-expected.txt:
        * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.png:
        * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.txt:
        * platform/gtk/fast/replaced/three-selects-break-expected.png:
        * platform/gtk/fast/replaced/three-selects-break-expected.txt:
        * platform/gtk/fast/replaced/width100percent-button-expected.png:
        * platform/gtk/fast/replaced/width100percent-button-expected.txt:
        * platform/gtk/fast/replaced/width100percent-menulist-expected.png:
        * platform/gtk/fast/replaced/width100percent-menulist-expected.txt:
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.png:
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt: Added.
        * platform/gtk/fast/table/append-cells2-expected.png:
        * platform/gtk/fast/table/append-cells2-expected.txt:
        * platform/gtk/fast/table/remove-td-display-none-expected.png:
        * platform/gtk/fast/table/remove-td-display-none-expected.txt:
        * platform/gtk/fast/text/international/bidi-menulist-expected.png:
        * platform/gtk/fast/text/international/bidi-menulist-expected.txt:
        * platform/gtk/fast/text/international/hindi-spacing-expected.png:
        * platform/gtk/fast/text/international/hindi-spacing-expected.txt:
        * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
        * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/gtk/fast/text/textIteratorNilRenderer-expected.png:
        * platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.png:
        * platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt:
        * platform/gtk/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/gtk/svg/custom/foreign-object-skew-expected.png:
        * platform/gtk/svg/custom/foreign-object-skew-expected.txt:
        * platform/gtk/svg/custom/inline-svg-in-xhtml-expected.png:
        * platform/gtk/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug1318-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug138725-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug138725-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug18359-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2479-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug26178-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug26178-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug28928-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug29326-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug29326-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug33855-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug39209-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4382-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4382-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4429-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4429-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug44505-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4527-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46368-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46368-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug51037-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug51727-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug52505-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug52506-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug60749-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug68912-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug68912-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug7342-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug92647-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug96334-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/gtk/tables/mozilla/core/margins-expected.png:
        * platform/gtk/tables/mozilla/core/margins-expected.txt:
        * platform/gtk/tables/mozilla/dom/tableDom-expected.png:
        * platform/gtk/tables/mozilla/dom/tableDom-expected.txt:
        * platform/gtk/tables/mozilla/other/move_row-expected.png:
        * platform/gtk/tables/mozilla/other/move_row-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/gtk/transforms/2d/zoom-menulist-expected.png:
        * platform/gtk/transforms/2d/zoom-menulist-expected.txt:

2017-06-01  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two webrtc tests as flaky.

        Unreviewed test gardening.

        * TestExpectations:

2017-06-01  Matt Lewis  <jlewis3@apple.com>

        Adjusted loader/stateobjects/replacestate-size-iframe.html Test Expectations.
        https://bugs.webkit.org/show_bug.cgi?id=172054

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-01  Matt Lewis  <jlewis3@apple.com>

        Marked loader/stateobjects/replacestate-size-iframe.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172054

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-06-01  Antoine Quint  <graouts@apple.com>

        Rebaseline two media/modern-media-controls/macos-fullscreen-media-controls tests
        https://bugs.webkit.org/show_bug.cgi?id=172810

        Reviewed by Antoine Quint.

        We need to rebaseline a couple of tests to account for the width change for the left button container in fullscreen.

        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html:

2017-06-01  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests failing after r217651.

        * platform/gtk/TestExpectations:

2017-06-01  Antoine Quint  <graouts@apple.com>

        Remove media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-audio-background.html
        https://bugs.webkit.org/show_bug.cgi?id=172808

        Reviewed by Antoine Quint.

        This test no longer applies, there is no iOS-specific styling for <audio> elements anymore.

        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-audio-background.html: Removed.
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-audio-background-expected.txt: Removed.

2017-06-01  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/css/selectors4/focus-display-none-001.html and focus-within-display-none-001.html as flaky failures
        https://bugs.webkit.org/show_bug.cgi?id=172807

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-06-01  Antoine Quint  <graouts@apple.com>

        Rebaseline media/modern-media-controls/audio/audio-controls-metrics.html
        https://bugs.webkit.org/show_bug.cgi?id=172715

        Reviewed by Antoine Quint.

        We update the expectations for <audio> metrics to match the latest implementation.

        * media/modern-media-controls/audio/audio-controls-metrics-expected.txt:
        * media/modern-media-controls/audio/audio-controls-metrics.html:

2017-06-01  Yusuke Suzuki  <utatane.tea@gmail.com>

        Unreviewed, rebaseline test results according to the error message change
        https://bugs.webkit.org/show_bug.cgi?id=172798

        * js/dom/string-prototype-properties-expected.txt:
        * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T3-expected.txt:

2017-05-31  Chris Dumez  <cdumez@apple.com>

        Flaky Test: http/tests/misc/acid3.html
        https://bugs.webkit.org/show_bug.cgi?id=165734
        <rdar://problem/32249821>

        Reviewed by Simon Fraser.

        Increase internal test timeout from 5 seconds to 10 seconds to reduce
        flakiness.

        * http/tests/misc/acid3.html:

2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/cache/cancel-during-revalidation-succeeded.html on ios-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=172772

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/css/target-fragment-match.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=168239

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-05-31  Youenn Fablet  <youenn@apple.com>

        PeerConnection should respect tracks that are muted at the time they are added
        https://bugs.webkit.org/show_bug.cgi?id=172771

        Reviewed by Eric Carlson.

        * webrtc/audio-replace-track.html:
        * webrtc/peer-connection-audio-unmute-expected.txt: Added.
        * webrtc/peer-connection-audio-unmute.html: Added.
        * webrtc/routines.js:
        * webrtc/video-unmute-expected.txt: Added.
        * webrtc/video-unmute.html: Added.

2017-05-31  Antti Koivisto  <antti@apple.com>

        CrashTracer: Regression : com.apple.WebKit.WebContent at STP responsible :: com.apple.WebCore: WebCore::SharedBuffer::data const + 11
        https://bugs.webkit.org/show_bug.cgi?id=172747
        <rdar://problem/32275314>

        Reviewed by Andreas Kling.

        * http/tests/css/empty-stylesheet-integrity-crash-expected.txt: Added.
        * http/tests/css/empty-stylesheet-integrity-crash.html: Added.

2017-05-31  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/preload/viewport/meta-viewport-link-headers.php as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172518

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-05-31  Brent Fulgham  <bfulgham@apple.com>

        Make ResourceLoadStatistics testing more reliable
        https://bugs.webkit.org/show_bug.cgi?id=172730
        <rdar://problem/32028373>

        Reviewed by Andy Estes.

        Revise some of the tests to wait to check state until after the background process has finished processing the
        load information.

        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html:
        * http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html:
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:

2017-05-31  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] More CSS test expectations cleanup

        Unreviewed gardening.

        * platform/wpe/TestExpectations: remove more assorted css tests
        that are actually passing.

2017-05-31  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] CSS tests expectations cleanup

        Unreviewed gardening.

        * platform/wpe/TestExpectations: Remove a bunch of css 2.1 and 3
        tests that are actually passing and a recently removed css tests
        directory.

2017-05-31  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK][WPE] Mark js/cached-window-properties test as slow

        Unreviewed gardening.
        * platform/gtk/TestExpectations: Test was marked as flaky; but
        it's just slow.
        * platform/wpe/TestExpectations: Mark as slow.

2017-05-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Upgrade the WebKitGTK+ bots to Debian 9

        This commit only adds a comment that it will be useful to mark
        the point where they where upgraded, so if there is some
        performance change on perf.webkit.org it can be pointed to this.

        Unreviewed.

        * platform/gtk/TestExpectations: Add a note regarding which
        distribution and version is running on the bots.

2017-05-31  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] WebGL expectations cleanup

        Unreviewed gardening.

        * platform/wpe/TestExpectations: Remove webgl tests that are
        consistently passing. Also mark a few known slow tests as such.

2017-05-31  Manuel Rego Casasnovas  <rego@igalia.com>

        Move css-shapes-1 test suite to WPT
        https://bugs.webkit.org/show_bug.cgi?id=172537

        Reviewed by Youenn Fablet.

        Updated the paths in TestExpectations files.
        Marked spec-examples/shape-outside-018.html as flaky.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/win/TestExpectations:

2017-05-30  Frederic Wang  <fwang@igalia.com>

        Include ScrollingTreeScrollingNode properties in ScrollingTreeFrameScrollingNode::dumpProperties
        https://bugs.webkit.org/show_bug.cgi?id=172287

        Reviewed by Simon Fraser.

        Update iOS expectation to include the new node properties.

        * scrollingcoordinator/ios/ui-scrolling-tree-expected.txt: Update expectation.

2017-05-30  Tim Horton  <timothy_horton@apple.com>

        Keyboard autocorrections do not apply with an active selection (but keyboard acts like they did)
        https://bugs.webkit.org/show_bug.cgi?id=172735
        <rdar://problem/32015977>

        Reviewed by Enrica Casucci.

        * fast/events/ios/autocorrect-with-range-selection-expected.txt: Added.
        * fast/events/ios/autocorrect-with-range-selection.html: Added.
        Add a test that ensures that autocorrection with a selection succeeds.

2017-05-30  Sam Weinig  <sam@webkit.org>

        [WebIDL] Generate named property deleters
        https://bugs.webkit.org/show_bug.cgi?id=172688

        Reviewed by Chris Dumez.

        * js/dom/named-property-deleter-expected.txt: Added.
        * js/dom/named-property-deleter.html: Added.
        Add test for various named deleter conditions.

        * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:
        * storage/domstorage/localstorage/delete-defineproperty-removal.html:
        Update test to log more information about what its doing and log it to the DOM rather
        than the console, to make comparing results in browsers easier. Also, note in the
        bug that the results are wrong, and have been wrong, due to https://webkit.org/b/172687.

2017-05-30  Youenn Fablet  <youenn@apple.com>

        Add support for Certificate and IceCandidatePair stats
        https://bugs.webkit.org/show_bug.cgi?id=172734

        Reviewed by Geoff Garen.

        * webrtc/video-stats.html:

2017-05-30  Chris Dumez  <cdumez@apple.com>

        REGRESSION(r215946): Can't reference a table cell in Google spreadsheet
        https://bugs.webkit.org/show_bug.cgi?id=172703
        <rdar://problem/32458086>

        Reviewed by Ryosuke Niwa.

        Update existing tests to reflect behavior change.

        * fast/dom/Element/getClientRects-return-type-expected.txt:
        * fast/dom/Element/getClientRects-return-type.html:
        * fast/dom/Range/getBoundingClientRect-getClientRects-return-type-expected.txt:
        * fast/dom/Range/getBoundingClientRect-getClientRects-return-type.html:

2017-05-30  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Import W3C web platform tests for the CSS Box Alignment feature
        https://bugs.webkit.org/show_bug.cgi?id=172705

        Reviewed by Manuel Rego Casasnovas.

        * TestExpectations: Mark as failure a few tests due to bug #172707.

2017-05-30  Ali Juma  <ajuma@chromium.org>

        [CredentialManagement] Incorporate IDL updates from latest spec
        https://bugs.webkit.org/show_bug.cgi?id=172011

        Reviewed by Daniel Bates.

        * credentials/idlharness-expected.txt:
        * credentials/idlharness.html:

2017-05-30  Ryan Haddad  <ryanhaddad@apple.com>

        Skip imported/w3c/web-platform-tests/innerText/getter.html.
        https://bugs.webkit.org/show_bug.cgi?id=172514

        Unreviewed test gardening.

        * TestExpectations:

2017-05-30  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION(r216882): No image decoding is needed if the BitmapImage is created with a NativeImage
        https://bugs.webkit.org/show_bug.cgi?id=172670

        Reviewed by Tim Horton.

        Use the css property -webkit-canvas to force capturing the canvas context
        in a NativeImage. This NativeImage will be used to create a BitmapImage
        which will be later used as the background-image of an element.

        * fast/images/large-image-webkit-canvas-expected.html: Added.
        * fast/images/large-image-webkit-canvas.html: Added.

2017-05-30  Matt Lewis  <jlewis3@apple.com>

        Changed Text Expectations of imported/blink/storage/indexeddb/blob-valid-after-deletion.html
        https://bugs.webkit.org/show_bug.cgi?id=172403

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-05-30  Youenn Fablet  <youenn@apple.com>

        RealtimeOutgoingVideoSource should not rotate muted frames
        https://bugs.webkit.org/show_bug.cgi?id=172659

        Reviewed by Eric Carlson.

        * webrtc/routines.js:
        * webrtc/video-rotation-expected.txt: Added.
        * webrtc/video-rotation.html: Added.

2017-05-30  Ryan Haddad  <ryanhaddad@apple.com>

        Mark js/intl-datetimeformat.html as failing.
        https://bugs.webkit.org/show_bug.cgi?id=172720

        Unreviewed test gardening.

        * js/script-tests/intl-datetimeformat.js:
        * platform/mac/TestExpectations:

2017-05-30  Per Arne Vollan  <pvollan@apple.com>

        [Win] fast/shadow-dom/fullscreen-in-slot-fullscreenElement.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172709

        Reviewed by Brent Fulgham.

        * platform/win/TestExpectations:

2017-05-30  Adrian Perez de Castro  <aperez@igalia.com>

        [GTK] Test cases for typehead in form menu lists should start from known state
        https://bugs.webkit.org/show_bug.cgi?id=171792

        Reviewed by Carlos Garcia Campos.

        Since r215188 opening a popup menu in a form pre-selects the active
        element to mimic GtkComboxBox behavior, but the layout test implicitly
        assumed that type ahead search always started the beginning of the
        list, which is no longer true now that GTK+ is informed of which one
        is the active element.

        * platform/gtk/fast/forms/menulist-typeahead-find.html: Reset menu
        list to the initial state (no element selected, unfocused) at the
        beginning of testTypeAheadFunction().

2017-05-29  Antti Koivisto  <antti@apple.com>

        Crash on display-contents-replaced-001.html
        https://bugs.webkit.org/show_bug.cgi?id=172596

        Reviewed by Andreas Kling.

        * TestExpectations: Enable the test.

2017-05-30  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] RSA-OAEP support
        https://bugs.webkit.org/show_bug.cgi?id=171222

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Enable the RSA-OAEP layout tests that we pass.

2017-05-30  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] RSAES-PKCS1-v1_5 support
        https://bugs.webkit.org/show_bug.cgi?id=171219

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Enable the RSAES-PKCS1-v1_5 layout tests that we pass.

2017-05-30  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] RSASSA-PKCS1-v1_5 support
        https://bugs.webkit.org/show_bug.cgi?id=171220

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Enable the RSASSA-PKCS1-v1_5 layout tests that we pass.

2017-05-29  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Mark a couple of tests as slow/timing out

        Unreviewed gardening. These are all known ones.
        * platform/wpe/TestExpectations:

2017-05-29  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Marking workers/bomb.html test as slow.

        Unreviewed gardening.

        * platform/wpe/TestExpectations:

2017-05-29  Emilio Cobos Álvarez  <ecobos@igalia.com>

        Use the parent box style to adjust RenderStyle for alignment.
        https://bugs.webkit.org/show_bug.cgi?id=172215

        Reviewed by Antti Koivisto.

        * TestExpectations:

2017-05-29  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed Windows test gardening, update expected results after r217418.

        * platform/win/fast/block/float/032-expected.txt:

2017-05-29  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed Windows test gardening, update expected results after r217418.

        * platform/win/fast/forms/input-appearance-spinbutton-expected.txt:
        * platform/win/fast/forms/input-appearance-spinbutton-up-expected.txt:
        * platform/win/fast/forms/number/number-appearance-rtl-expected.txt:
        * platform/win/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
        * platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
        * platform/win/fast/forms/search-vertical-alignment-expected.txt:

2017-05-28  Sam Weinig  <sam@webkit.org>

        [WebIDL] @@iterator should only be accessed once when disambiguating a union type
        https://bugs.webkit.org/show_bug.cgi?id=172684

        Reviewed by Yusuke Suzuki.

        * js/dom/sequence-in-union-iterator-access-expected.txt: Added.
        * js/dom/sequence-in-union-iterator-access.html: Added.
        Add test case showing that @@iterator is only accessed once when converting a sequence
        as part of a union.

2017-05-27  Chris Dumez  <cdumez@apple.com>

        imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html is crashing
        https://bugs.webkit.org/show_bug.cgi?id=172472
        <rdar://problem/32334831>

        Reviewed by Ryosuke Niwa.

        * TestExpectations:
        Unskip test that is no longer crashing in Debug builds.

        * fast/dom/HTMLFormElement/form-removal-duplicate-id-crash-expected.txt: Added.
        * fast/dom/HTMLFormElement/form-removal-duplicate-id-crash.html: Added.
        Add reduced test case reproducing the crash.

2017-05-27  Simon Fraser  <simon.fraser@apple.com>

        getComputedStyle returns percentage values for left / right / top / bottom
        https://bugs.webkit.org/show_bug.cgi?id=29084

        Reviewed by Zalan Bujtas.

        Some new baselines, a new test, and an improved test.

        * animations/trigger-container-scroll-boundaries-expected.txt:
        * animations/trigger-container-scroll-boundaries.html:
        * animations/trigger-container-scroll-empty-expected.txt:
        * animations/trigger-container-scroll-empty.html:
        * animations/trigger-container-scroll-simple-expected.txt:
        * animations/trigger-container-scroll-simple.html:
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-negative-top-expected.txt:
        * fast/css/getComputedStyle/computed-style-negative-top.html: Convert to a real JS test, add more cases.
        * fast/css/getComputedStyle/getComputedStyle-offsets-expected.txt: Added.
        * fast/css/getComputedStyle/getComputedStyle-offsets.html: Added.
        * fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size-expected.txt:
        * fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html:  It doesn't make any sense to test right/bottom.
        * fast/css/hover-affects-child-expected.txt:
        * fast/css/hover-affects-child.html:
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-expected.txt:
        * transitions/transition-to-from-auto-expected.txt:
        * transitions/transition-to-from-auto.html:

2017-05-26  Youenn Fablet  <youenn@apple.com>

        WebRTC stats should be in milliseconds
        https://bugs.webkit.org/show_bug.cgi?id=172644

        Reviewed by Eric Carlson.

        * TestExpectations:
        * webrtc/video-stats.html: Making it less flaky prone.

2017-05-26  Sam Weinig  <sam@webkit.org>

        [WebIDL] Overloaded functions should throw this object check exception before argument check exception
        https://bugs.webkit.org/show_bug.cgi?id=172480

        Reviewed by Chris Dumez.

        Add test case that shows that using the wrong this object on an overloaded function,
        even if you are passing the wrong number of arguments, results in an invalid this
        object exception.

        * js/dom/overloaded-operation-exception-order-expected.txt: Added.
        * js/dom/overloaded-operation-exception-order.html: Added.

2017-05-26  Ryan Haddad  <ryanhaddad@apple.com>

        Skip fast/events/before-unload-returnValue.html on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=172672

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-05-26  Ryan Haddad  <ryanhaddad@apple.com>

        Mark workers/wasm-long-compile-many.html as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=172331

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-26  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r217458.

        This change caused 55 JSC test failures.

        Reverted changeset:

        "Date should use historical data if it's available."
        https://bugs.webkit.org/show_bug.cgi?id=172592
        http://trac.webkit.org/changeset/217458

2017-05-26  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html.

        Unreviewed test gardening.

        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-05-25  Ryan Haddad  <ryanhaddad@apple.com>

        Skip two LayoutTests that are failing due missing results.

        Unreviewed test gardening.

        * TestExpectations:
        * platform/ios/TestExpectations:

2017-05-26  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Mark animations/animation-delay-changed.htm as flaky

        Unreviewed gardening. It's flaky on all platforms so why bother.

        * platform/wpe/TestExpectations:

2017-05-26  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Add support for orthogonal positioned grid items
        https://bugs.webkit.org/show_bug.cgi?id=172591

        Reviewed by Sergio Villar Senin.

        Two of the new imported tests are failing due to an issue with margins
        and orthogonal items, which is unrelated to this patch (see bug #172590).

        * TestExpectations:

2017-05-25  Emilio Cobos Álvarez  <ecobos@igalia.com>

        Don't reset m_hasDisplayContents on ElementRareData::resetComputedStyle.
        https://bugs.webkit.org/show_bug.cgi?id=172503

        Reviewed by Antti Koivisto.

        * TestExpectations:

2017-05-25  Sam Weinig  <sam@webkit.org>

        Fix MediaDeviceInfo's extended attributes so they make sense
        https://bugs.webkit.org/show_bug.cgi?id=172629

        Reviewed by Daniel Bates.

        * fast/mediastream/media-device-info-expected.txt: Added.
        * fast/mediastream/media-device-info.html: Added.
        Test that MediaDeviceInfo has the expected properties and that
        the serializer works.

2017-05-25  Chris Dumez  <cdumez@apple.com>

        imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html is crashing
        https://bugs.webkit.org/show_bug.cgi?id=172628
        <rdar://problem/32418707>

        Reviewed by Sam Weinig.

        Add reduced test case.

        * TestExpectations:
        Unskip test that is no longer crashing in debug builds.

        * fast/dom/HTMLFormElement/form-removed-during-parsing-crash-expected.txt: Added.
        * fast/dom/HTMLFormElement/form-removed-during-parsing-crash.html: Added.

2017-05-25  Zalan Bujtas  <zalan@apple.com>

        Frame's composited content is visible when the frame has visibility: hidden.
        https://bugs.webkit.org/show_bug.cgi?id=125565
        <rdar://problem/32196849>

        Reviewed by Simon Fraser.

        * compositing/resources/visibility.html: Added.
        * compositing/visibility/frameset-visibility-hidden-expected.html: Added.
        * compositing/visibility/frameset-visibility-hidden.html: Added.
        * compositing/visibility/iframe-visibility-hidden-expected.html: Added.
        * compositing/visibility/iframe-visibility-hidden.html: Added.
        * compositing/visibility/object-visibility-hidden-expected.html: Added.
        * compositing/visibility/object-visibility-hidden.html: Added.

2017-05-25  Brent Fulgham  <bfulgham@apple.com>

        Gracefully handle missing localStorage support in results.html
        https://bugs.webkit.org/show_bug.cgi?id=172625
        <rdar://problem/32118243>

        Reviewed by Alexey Proskuryakov.

        Handle the case where localStorage generates a SecurityError DOMException, treating this
        as a non-fatal error.

        * fast/harness/results.html:
        (OptionWriter.save): Treat "SecurityError" as an expected condition.
        (OptionWriter.apply): Ditto.

2017-05-25  Alexey Proskuryakov  <ap@apple.com>

        Merge split script tests, part 2
        https://bugs.webkit.org/show_bug.cgi?id=172423

        Reviewed by Tim Horton.

        Fix the few remaining special cases of split tests.

        * editing/pasteboard/drop-text-events-sideeffect-crash.html:
        * editing/pasteboard/script-tests/drop-text-events-sideeffect.js: Removed.
        This JS file used to be shared between this test and editing/pasteboard/drop-text-events-sideeffect.html.
        Now it's inlined in both.

        * fast/canvas/canvas-ellipse-connecting-line-expected.html:
        * fast/canvas/script-tests/js-ellipse-implementation.js: Removed.
        This was really a resource, not a scrip test, and it was only only used in one test.

        * fast/dom/HTMLElement/class-list-quirks.html:
        * fast/dom/HTMLElement/script-tests/class-list.js: Removed.
        Another JS that used to be shared (with fast/dom/HTMLElement/class-list.html).

        * fast/dom/Window/resources/postmessage-test.js: Copied from LayoutTests/fast/dom/Window/script-tests/postmessage-test.js.
        * fast/dom/Window/script-tests/postmessage-test.js: Removed.
        Moved a shared resource to its proper location.

        * fast/dom/Window/script-tests/postmessage-clone-deep-array.js: Removed.
        * fast/dom/Window/script-tests/postmessage-clone-really-deep-array.js: Removed.
        * fast/dom/Window/script-tests/postmessage-clone.js: Removed.
        * fast/dom/Window/window-postmessage-clone-deep-array.html:
        * fast/dom/Window/window-postmessage-clone-really-deep-array.html:
        * fast/dom/Window/window-postmessage-clone.html:
        Straightforward js-tests with file names that didn't match.
        
        * fast/table/resources/min-width-helpers.js: Copied from LayoutTests/fast/table/script-tests/min-width-helpers.js.
        * fast/table/script-tests/min-width-helpers.js: Removed.
        Moved a shared resource to its proper location.

        * fast/table/min-width-css-block-table.html:
        * fast/table/min-width-css-inline-table.html:
        * fast/table/min-width-html-block-table.html:
        * fast/table/min-width-html-inline-table.html:
        * fast/table/script-tests/min-width-css-block-table.js: Removed.
        * fast/table/script-tests/min-width-css-inline-table.js: Removed.
        * fast/table/script-tests/min-width-html-block-table.js: Removed.
        * fast/table/script-tests/min-width-html-inline-table.js: Removed.
        Straightforward JS tests, weren't moved previously because my script was confused by min-width-helpers.js.

        * printing/break-after-avoid-expected.txt:
        * printing/break-after-avoid-page-expected.txt:
        * printing/break-after-avoid-page.html:
        * printing/break-after-avoid.html:
        * printing/script-tests/break-after-avoid-page.js: Removed.
        * printing/script-tests/break-after-avoid.js: Removed.
        * printing/script-tests/page-break-after-avoid.js: Removed.
        * printing/script-tests/page-break-always-for-overflow.js: Removed.
        These had a number of copy/paste mistakes, so the tests werent's actually testing what they said they did.

        * svg/dom/SVGAnimatedEnumeration-SVGMaskElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGMaskElement.html:
        * svg/dom/SVGAnimatedEnumeration-SVGPatternElement-expected.txt:
        * svg/dom/SVGAnimatedEnumeration-SVGPatternElement.html:
        * svg/dom/script-tests/SVGAnimatedEnumeration-SVGMaskElement.js: Removed.
        * svg/dom/script-tests/SVGAnimatedEnumeration-SVGPatternElement.js: Removed.
        These tests were mixed up - pattern was being tested instead of mask, and vice versa.
        
        * svg/dom/script-tests/SVGColor.js: Removed.
        * svg/dom/script-tests/SVGPaint.js: Removed.
        Removed unused files.

        * svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html:
        * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html:
        * svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html:
        * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html:
        * svg/dynamic-updates/script-tests/SVGFEFloodElement-inherit-flood-color-css-prop.js: Removed.
        * svg/dynamic-updates/script-tests/SVGFEGaussianBlurElement-svgdom-stdDeviation-call.js: Removed.
        * svg/dynamic-updates/script-tests/SVGFESpecularLightingElement-dom-surfaceScale-attr.js: Removed.
        * svg/dynamic-updates/script-tests/SVGFESpecularLightingElement-svgdom-surfaceScale-prop.js: Removed.
        Straightforward js-tests with mismatching names.

2017-05-25  Myles C. Maxfield  <mmaxfield@apple.com>

        [WK1] iframes in layer-backed NSViews are not cleared between successive draws
        https://bugs.webkit.org/show_bug.cgi?id=172554
        <rdar://problem/31247133>

        Reviewed by Simon Fraser.

        Cause two successive paints, and compare it against 0 paints.

        * fast/frames/iframe-translucent-background-expected.html: Added.
        * fast/frames/iframe-translucent-background.html: Added.

2017-05-25  Keith Miller  <keith_miller@apple.com>

        Date should use historical data if it's available.
        https://bugs.webkit.org/show_bug.cgi?id=172592

        Reviewed by Mark Lam.

        Fix tests to work with historically accurate dates.

        * js/dom/date-big-setdate-expected.txt: Removed.
        * js/dom/date-big-setdate.html: Removed.
        * js/dom/script-tests/date-big-setdate.js: Removed.
        * storage/indexeddb/modern/date-basic-expected.txt:
        * storage/indexeddb/modern/date-basic-private-expected.txt:
        * storage/indexeddb/modern/get-keyrange-expected.txt:
        * storage/indexeddb/modern/get-keyrange-private-expected.txt:

2017-05-25  Chris Dumez  <cdumez@apple.com>

        DocumentThreadableLoader::redirectReceived() should not rely on the resource's loader
        https://bugs.webkit.org/show_bug.cgi?id=172578
        <rdar://problem/30754582>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/xmlhttprequest/cacheable-cross-origin-redirect-crash-expected.txt: Added.
        * http/tests/xmlhttprequest/cacheable-cross-origin-redirect-crash.html: Added.

2017-05-24  Jiewen Tan  <jiewen_tan@apple.com>

        Crash on WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance + 1195
        https://bugs.webkit.org/show_bug.cgi?id=172555
        <rdar://problem/32004724>

        Reviewed by Ryosuke Niwa.

        * editing/selection/resources/select-iframe-focusin-document-crash-frame.html: Added.
        * editing/selection/select-iframe-focusin-document-crash-expected.txt: Added.
        * editing/selection/select-iframe-focusin-document-crash.html: Added.

2017-05-25  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Fixed errors in the CSS parsing tests of the "place-XXX" shorthands
        https://bugs.webkit.org/show_bug.cgi?id=172593

        Reviewed by Manuel Rego Casasnovas.

        * css3/parse-place-content.html:
        * css3/parse-place-items.html:
        * css3/parse-place-self.html:

2017-05-25  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Expose doc-footnote ARIA role with ATK_ROLE_FOOTNOTE
        https://bugs.webkit.org/show_bug.cgi?id=172355

        Reviewed by Chris Fleizach.

        * accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated.

2017-05-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] [WebCrypto] Mark new WebCryptoAPI test failures after last WPT sync

        Unreviewed GTK gardening.

        * platform/gtk/TestExpectations:

2017-05-25  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Update baseline

        Unreviewed gardening. Update after r217272.
        * platform/gtk/fast/text/font-style-parse-expected.txt:

2017-05-25  Dave Hyatt  <hyatt@apple.com>

        Baseline of number inputs not right.
        https://bugs.webkit.org/show_bug.cgi?id=172237

        Reviewed by Dean Jackson.

        * fast/forms/baseline-of-number-inputs-expected.html: Added.
        * fast/forms/baseline-of-number-inputs.html: Added.

2017-05-25  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-05-25  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Add missing test baseline.

        Unreviewed gardening.
        * platform/wpe/fast/text/zero-font-size-expected.txt: Added.

2017-05-25  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Unreviewed gardening

        Update rebaseline after r216817.

        * platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:

2017-05-25  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-05-25  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix behavior of positioned items without specific dimensions
        https://bugs.webkit.org/show_bug.cgi?id=172117

        Reviewed by Sergio Villar Senin.

        * fast/css-grid-layout/positioned-grid-items-sizing-expected.html: Added.
        * fast/css-grid-layout/positioned-grid-items-sizing.html: Added.

2017-05-25  David Kilzer  <ddkilzer@apple.com>

        REGRESSION(r217390): "Broke internal Production builds that ran run-jsc-stress-tests" (Requested by ddkilzer on #webkit).
        <https://bugs.webkit.org/show_bug.cgi?id=172584>

        * fast/regex/:
        * fast/regex/script-tests:
        - Rollback changes in r217390 for Bug 172423 to these
          directories.

2017-05-24  Chris Dumez  <cdumez@apple.com>

        ResourceResponses for data URLs have their Source marked as Unknown
        https://bugs.webkit.org/show_bug.cgi?id=172573
        <rdar://problem/31786198>

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * fast/url/data-url-source-expected.txt: Added.
        * fast/url/data-url-source.html: Added.

2017-05-24  Fujii Hironori  <Hironori.Fujii@sony.com>

        [Win] An assertion fails if the custom cursor image isn't loaded yet
        https://bugs.webkit.org/show_bug.cgi?id=172209

        Reviewed by Said Abou-Hallawa.

        Windows port have the same issue Qt port had had several years ago
        (Bug 68223). I'd like to reuse the test case. But, current CSS
        parser rejects invalid 'cursor' property value which consists of
        a single URL but no keywords.

        * fast/css/crash-on-custom-cursor-when-loading.html: Fix invalid
        'cursor' property by appending a fallback keyword.

2017-05-24  Alexey Proskuryakov  <ap@apple.com>

        Merge split script tests
        https://bugs.webkit.org/show_bug.cgi?id=172423

        Reviewed by Sam Weinig.

        In the past, many tests were being split into HTML and JS parts for no good reason.
        This makes it hard to see what those tests are doing.

        This is first part of the change, only including files where JS and HTML counterparts
        have matching names. Custom cases will be completed in a follow-up.

        Long change list omitted.

2017-05-24  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html as failing on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=172547

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-05-24  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Rebaseline test

        Unreviewed gardening after a series of changes to dom static properties.

        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:

2017-05-24  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Rebaseline test after r217181

        Unreviewed gardening.

        * platform/wpe/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2017-05-24  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Remove baseline for test that passes now

        Unreviewed gardening.

        * platform/wpe/js/dom/regress-157246-expected.txt: Removed.

2017-05-24  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Gardening needed after r217171
        https://bugs.webkit.org/show_bug.cgi?id=172539

        Unreviewed test gardening after r217171.

        Add "PASS successfullyParsed is true" and "TEST COMPLETE" lines for
        tests with platform-specific expectations.

        * accessibility/multiselect-list-reports-active-option-expected.txt:
        * accessibility/table-cells-roles-expected.txt:
        * platform/gtk/accessibility/aria-checkbox-sends-notification-expected.txt:
        * platform/gtk/accessibility/aria-switch-sends-notification-expected.txt:
        * platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt:
        * platform/gtk/accessibility/menu-list-sends-change-notification-expected.txt:
        * platform/gtk/accessibility/table-roles-hierarchy-expected.txt:

2017-05-24  Javier Fernandez  <jfernandez@igalia.com>

        [css-grid] Ignore collapsed tracks on content-distribution alignment
        https://bugs.webkit.org/show_bug.cgi?id=172493

        Reviewed by Manuel Rego Casasnovas.

        Unskip the web-platform-tests related to content-alignment and collapsed tracks.

        * TestExpectations:

2017-05-22  Jiewen Tan  <jiewen_tan@apple.com>

        [WebCrypto] Support RSA-PSS
        https://bugs.webkit.org/show_bug.cgi?id=170869
        <rdar://problem/31640672>

        Reviewed by Brent Fulgham.

        * TestExpectations:
        Skip tests related to RSA-PSS for now.
        * crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt:
        * crypto/subtle/rsa-generate-key-malformed-parameters.html:
        * crypto/subtle/rsa-import-key-malformed-parameters-expected.txt:
        * crypto/subtle/rsa-import-key-malformed-parameters.html:
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha1-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha1.html: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha224-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha224.html: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha256-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha256.html: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha384-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha384.html: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha512-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-export-key-jwk-sha512.html: Added.
        * crypto/subtle/rsa-pss-generate-export-key-pkcs8-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-export-key-pkcs8.html: Added.
        * crypto/subtle/rsa-pss-generate-export-key-spki-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-export-key-spki.html: Added.
        * crypto/subtle/rsa-pss-generate-key-expected.txt: Added.
        * crypto/subtle/rsa-pss-generate-key.html: Added.
        * crypto/subtle/rsa-pss-import-jwk-private-key-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-jwk-private-key.html: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-empty-usages-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-empty-usages.html: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha1-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha1.html: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha224-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha224.html: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha256-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha256.html: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha384-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha384.html: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha512-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-jwk-public-key-sha512.html: Added.
        * crypto/subtle/rsa-pss-import-key-sign-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-key-sign-large-salt-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-key-sign-large-salt.html: Added.
        * crypto/subtle/rsa-pss-import-key-sign.html: Added.
        * crypto/subtle/rsa-pss-import-key-verify-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-key-verify.html: Added.
        * crypto/subtle/rsa-pss-import-pkcs8-key-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-pkcs8-key.html: Added.
        * crypto/subtle/rsa-pss-import-spki-key-empty-usages-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-spki-key-empty-usages.html: Added.
        * crypto/subtle/rsa-pss-import-spki-key-expected.txt: Added.
        * crypto/subtle/rsa-pss-import-spki-key.html: Added.
        * crypto/workers/subtle/resources/rsa-pss-import-key-sign.js: Added.
        * crypto/workers/subtle/resources/rsa-pss-import-key-verify.js: Added.
        * crypto/workers/subtle/rsa-pss-import-key-sign-expected.txt: Added.
        * crypto/workers/subtle/rsa-pss-import-key-sign.html: Added.
        * crypto/workers/subtle/rsa-pss-import-key-verify-expected.txt: Added.
        * crypto/workers/subtle/rsa-pss-import-key-verify.html: Added.

2017-05-23  Chris Dumez  <cdumez@apple.com>

        Some async tests ignore jsTestIsAsync when ported from js-test-pre.js / js-test-post.js to js-test.js
        https://bugs.webkit.org/show_bug.cgi?id=172523

        Reviewed by Ryosuke Niwa.

        * TestExpectations:
        This test used to be flaky because jsTestIsAsync was ignored. It now consistently times out.

        * fast/dom/script-charset-update.html:
        Port test to js-test.js instead of js-test-pre.js / js-test-post.js now that it works.

        * fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events-expected.txt:
        Rebaseline test now that it actually runs to the end.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        Remove expectation for a test that is now skipped in root TestExpectations file.

        * resources/js-test.js:
        Call testRunner.waitUntilDone() in the DOMContentLoader event listener if jsTestIsAsync is already
        set then, instead of waiting for the load event listener to do so. This is needed because some
        tests may decide to complete *before* the load event has fired, such as the test updated in this
        patch. We still need to call testRunner.waitUntilDone() in the load event listener as well because
        some tests only set jsTestIsAsync in a load event handler.

2017-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for iOS simulator.

        Unreviewed test gardening.

        * fast/events/ios/rotation/basic-rotation-expected.txt:
        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt:
        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt:
        * fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt:
        * fast/events/touch/ios/tap-with-active-touch-end-listener-expected.txt:
        * fast/visual-viewport/ios/zoomed-focus-in-fixed-expected.txt:

2017-05-23  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Cannot delete a disabled XHR breakpoint
        https://bugs.webkit.org/show_bug.cgi?id=171971
        <rdar://problem/32129527>

        Reviewed by Devin Rousso.

        * inspector/dom-debugger/xhr-breakpoints-expected.txt:
        * inspector/dom-debugger/xhr-breakpoints.html:

2017-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Skip crashing css-display-3/display-contents tests.
        https://bugs.webkit.org/show_bug.cgi?id=172503

        Unreviewed test gardening.

        * TestExpectations:

2017-05-23  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-inline.html as failing.
        https://bugs.webkit.org/show_bug.cgi?id=172515

        Unreviewed test gardening.

        * TestExpectations:

2017-05-23  Chris Dumez  <cdumez@apple.com>

        Regression(r215229): ASSERTION FAILED: !m_scriptHash || m_scriptHash == m_script.impl()->hash()
        https://bugs.webkit.org/show_bug.cgi?id=171091
        <rdar://problem/31752046>

        Reviewed by Geoffrey Garen.

        * fast/dom/resources/script-with-unicode.js: Added.
        * fast/dom/script-charset-update-expected.txt: Added.
        * fast/dom/script-charset-update.html: Added.
        Add test that was consistently hitting the assertion in debug builds before
        r215229 was rolled out.

        * fast/loader/cache-encoding-expected.txt:
        * fast/loader/cache-encoding.html:
        Improve test to check that it is actually getting a SyntaxError the first time,
        when it loads the script with the wrong encoding. Apparently this test was not
        clear enough because it was updated / disabled in r215229, but was showing a
        real bug.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        Unskip test was should no longer be flaky now that r215229 has been rolled out.

2017-05-23  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/webrtc/getstats.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172521

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-05-23  Dean Jackson  <dino@apple.com>

        checkGPUStatus needs to exercise instancing calls
        https://bugs.webkit.org/show_bug.cgi?id=172520
        <rdar://problem/23118395>

        Reviewed by Brent Fulgham.

        * fast/canvas/webgl/lose-context-on-status-failure-expected.txt: Added.
        * fast/canvas/webgl/lose-context-on-status-failure.html: Added.

2017-05-23  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Import css/css-grid-1/alignment/ from WPT (8df7c9c215)
        https://bugs.webkit.org/show_bug.cgi?id=172494

        Reviewed by Youenn Fablet.

        * TestExpectations: Mark as failure a few tests due to bug #172493.

2017-05-23  Alexey Proskuryakov  <ap@apple.com>

        Many editing js-tests use waitUntilDone
        https://bugs.webkit.org/show_bug.cgi?id=172401

        Reviewed by Ryosuke Niwa.

        Corrected the use of js-test harness, updated the tests to use js-test.js instead
        of js-test-pre.js where possible.

        * editing/caret/ios/absolute-caret-position-after-scroll.html:
        * editing/caret/ios/fixed-caret-position-after-scroll.html:
        * editing/input/style-change-during-input.html:
        * editing/inserting/insert-html-crash.html:
        * editing/mac/input/undo-grouping-on-text-insertion.html:
        * editing/mac/selection/context-menu-select-editability-expected.txt:
        * editing/mac/selection/context-menu-select-editability.html:
        * editing/mac/spelling/accept-candidate-undo-does-not-select.html:
        * editing/mac/spelling/autocorrection-respets-undo-expected.txt:
        * editing/mac/spelling/autocorrection-respets-undo.html:
        * editing/pasteboard/drag-and-drop-attachment-contenteditable.html:
        * editing/pasteboard/drag-and-drop-image-contenteditable.html:
        * editing/pasteboard/drag-and-drop-inputimage-contenteditable.html:
        * editing/pasteboard/drag-and-drop-objectimage-contenteditable.html:
        * editing/pasteboard/drag-link-with-data-transfer-adds-trusted-link-to-pasteboard-expected.txt:
        * editing/pasteboard/drag-link-with-data-transfer-adds-trusted-link-to-pasteboard.html:
        * editing/selection/ios/absolute-selection-after-scroll.html:
        * editing/selection/ios/fixed-selection-after-scroll.html:
        * editing/spelling/copy-paste-crash-expected.txt:
        * editing/spelling/copy-paste-crash.html:
        * editing/style/apply-style-join-child-text-nodes-crash.html:

2017-05-23  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, test gardening after r217225

        * TestExpectations:
        Gardening about imported/w3c/web-platform-tests/WebCryptoAPI/

2017-05-23  Chris Dumez  <cdumez@apple.com>

        Unreviewed, roll out r215229

        It caused CachedScripts in MemoryCache to be reused with different encodings
        even though CachedScript potentially has already decoded data or cached hash
        with a previous encoding.

        * TestExpectations:
        * fast/loader/cache-encoding-expected.txt:
        * fast/loader/cache-encoding.html:
        * http/tests/preload/preload-encoding-expected.txt:
        * http/tests/preload/preload-encoding.php:

2017-05-23  Ryan Haddad  <ryanhaddad@apple.com>

        Skip LayoutTest imported/w3c/web-platform-tests/innerText/getter.html.
        https://bugs.webkit.org/show_bug.cgi?id=172514

        Unreviewed test gardening.

        * TestExpectations:

2017-05-23  Sam Weinig  <sam@webkit.org>

        [WebIDL] Remove some unnecessary specialization for enum types
        https://bugs.webkit.org/show_bug.cgi?id=172482

        Reviewed by Chris Dumez.

        * crypto/subtle/import-key-malformed-parameters-expected.txt:
        * fast/files/blob-constructor-expected.txt:
        * fast/files/script-tests/blob-constructor.js:
        Update test and results for improved order of exceptions. In this case, the conversion
        to String throws before the failure to parse the enumeration (which is what the
        plain TypeError was).

2017-05-23  Emilio Cobos Álvarez  <ecobos@igalia.com>

        Import the css-display-3 css tests.
        https://bugs.webkit.org/show_bug.cgi?id=172212

        Reviewed by Chris Dumez.

2017-05-23  youenn fablet  <youenn@apple.com>

        There should be an easy way to run HTTP/WPT served tests on a browser
        https://bugs.webkit.org/show_bug.cgi?id=172068

        Reviewed by Sam Weinig.

        * fast/harness/results.html: In case results.html is opened locallly,
        open HTTP/WPT urls as served by their related servers.
        Adding a check that the servers are running before opening the related test.

2017-05-23  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn off all tests
        https://bugs.webkit.org/show_bug.cgi?id=172447

        Reviewed by Jon Lee.

        Due to the high number of timeouts and random failures with the current tests, we turn off
        all modern-media-controls tests while we wait on a more permanent solution.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2017-05-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Update font-style's implementation in the font selection algorithm
        https://bugs.webkit.org/show_bug.cgi?id=169453

        Reviewed by Simon Fraser.

        * fast/text/font-style-parse-expected.txt:
        * fast/text/font-style-parse.html:
        * platform/mac-elcapitan/fast/text/font-style-parse-expected.txt:

2017-05-22  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-05-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Support calc() in font-variation-settings and font-feature-settings
        https://bugs.webkit.org/show_bug.cgi?id=171032

        Reviewed by David Hyatt.

        * css3/font-feature-settings-calc-expected.html: Added.
        * css3/font-feature-settings-calc.html: Added.
        * fast/text/variations/calc-expected.html: Added.
        * fast/text/variations/calc.html: Added.

2017-05-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark to imported/w3c/web-platform-tests/webrtc tests as failing on ios-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=171605

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-22  Chris Dumez  <cdumez@apple.com>

        ASSERTION FAILED: tokens.find(item) == notFound in WebCore::DOMTokenList::replace
        https://bugs.webkit.org/show_bug.cgi?id=172473

        Reviewed by Ryosuke Niwa.

        * TestExpectations:
        Unskip test.

2017-05-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/loading/resourceLoadStatistics/grandfathering.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172452

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-05-22  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for two new WPT LayoutTests.
        https://bugs.webkit.org/show_bug.cgi?id=172472

        Unreviewed test gardening.

        * TestExpectations:

2017-05-22  Alexey Proskuryakov  <ap@apple.com>

        Remove Java tests.

        Rubber-stamped by Tim Horton.

        These tests were disabled on all platforms for a long long time now.

        * TestExpectations:
        * java: Removed.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wk2/TestExpectations:
        * platform/wpe/TestExpectations:

2017-05-22  Brian Burg  <bburg@apple.com>

        Web Inspector: webkit reload policy should match default behavior
        https://bugs.webkit.org/show_bug.cgi?id=171385
        <rdar://problem/31871515>

        Reviewed by Joseph Pecoraro.

        * http/tests/inspector/replay/replay-test.js:
        * http/tests/inspector/network/resource-sizes-memory-cache.html:
        Update tests to match new API.

        * http/tests/inspector/network/resource-response-source-memory-cache.html:
        * http/tests/inspector/network/set-resource-caching-disabled-memory-cache.html:
        Added. This is a copy of the above test but uses the option to do a "legacy" reload.
        With this reload type, the resource returned with HTTP 200.

2017-05-22  Yoav Weiss  <yoav@yoav.ws>

        [preload] Add media and type attribute support.
        https://bugs.webkit.org/show_bug.cgi?id=171720

        Reviewed by Youenn Fablet.

        * TestExpectations: Skip http/tests/preload/viewport as meta viewport is turned off in most platforms.
        * http/wpt/preload/media-attribute-expected.txt: Added.
        * http/wpt/preload/media-attribute.html: Added.
        * http/wpt/preload/type-attribute-expected.txt: Added.
        * http/wpt/preload/type-attribute.html: Added.
        * http/wpt/preload/resources/square.png: Added.
        * http/wpt/preload/resources/dummy.js: Added.
        * http/tests/preload/viewport/meta-viewport-link-headers-expected.txt: Added.
        * http/tests/preload/viewport/meta-viewport-link-headers.php: Added.
        * platform/ios-simulator/TestExpectations: Turn on http/tests/preload/viewport for ios-simulator.
        * platform/ios/TestExpectations: Turn on http/tests/preload/viewport for ios.

2017-05-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html as a timeout on El Capitan.
        https://bugs.webkit.org/show_bug.cgi?id=172469

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-05-22  Alexey Proskuryakov  <ap@apple.com>

        Many WebAudio js-tests use waitUntilDone
        https://bugs.webkit.org/show_bug.cgi?id=172398

        Reviewed by Sam Weinig.

        Corrected the use of js-test harness, updated the tests to use js-test.js instead
        of js-test-pre.js where possible.

        * resources/js-test.js: (shouldReject): Copied some funcitonality form js-test-pre.js
        that wasn't present here.

        * webaudio/analyser-exception.html:
        * webaudio/audiobuffer-neuter-expected.txt:
        * webaudio/audiobuffer-neuter.html:
        * webaudio/audiobuffersource-channels.html:
        * webaudio/audiobuffersource-ended-expected.txt:
        * webaudio/audiobuffersource-ended.html:
        * webaudio/audiobuffersource-exception.html:
        * webaudio/audiobuffersource-loop-comprehensive-expected.txt:
        * webaudio/audiobuffersource-loop-comprehensive.html:
        * webaudio/audiobuffersource-negative-playbackrate-expected.txt:
        * webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.txt:
        * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop-expected.txt:
        * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html:
        * webaudio/audiobuffersource-negative-playbackrate-interpolated.html:
        * webaudio/audiobuffersource-negative-playbackrate-loop-expected.txt:
        * webaudio/audiobuffersource-negative-playbackrate-loop.html:
        * webaudio/audiobuffersource-negative-playbackrate.html:
        * webaudio/audiobuffersource-playbackState.html:
        * webaudio/audiobuffersource-start-expected.txt:
        * webaudio/audiobuffersource-start.html:
        * webaudio/audiochannelmerger-basic.html:
        * webaudio/audiochannelmerger-stereo.html:
        * webaudio/audiochannelsplitter.html:
        * webaudio/audiocontext-promise-throwing.html:
        * webaudio/audiocontext-promise.html:
        * webaudio/audiocontext-restriction-audiobuffersourcenode-start.html:
        * webaudio/audiocontext-restriction.html:
        * webaudio/audiocontext-state-interrupted.html:
        * webaudio/audiocontext-state.html:
        * webaudio/audionode-channel-rules.html:
        * webaudio/audionode-connect-order.html:
        * webaudio/audionode.html:
        * webaudio/audioparam-connect-audioratesignal.html:
        * webaudio/audioparam-summingjunction.html:
        * webaudio/audioprocessingevent.html:
        * webaudio/automatic-pull-node.html:
        * webaudio/biquad-allpass.html:
        * webaudio/biquad-bandpass.html:
        * webaudio/biquad-getFrequencyResponse.html:
        * webaudio/biquad-highpass.html:
        * webaudio/biquad-highshelf.html:
        * webaudio/biquad-lowpass.html:
        * webaudio/biquad-lowshelf.html:
        * webaudio/biquad-notch.html:
        * webaudio/biquad-peaking.html:
        * webaudio/biquadfilternode-basic.html:
        * webaudio/convolution-mono-mono.html:
        * webaudio/decode-audio-data-basic.html:
        * webaudio/decode-audio-data-too-short.html:
        * webaudio/delaynode-max-default-delay.html:
        * webaudio/delaynode-max-nondefault-delay.html:
        * webaudio/delaynode-maxdelay.html:
        * webaudio/delaynode-maxdelaylimit.html:
        * webaudio/delaynode-scheduling.html:
        * webaudio/delaynode.html:
        * webaudio/distance-exponential.html:
        * webaudio/distance-inverse.html:
        * webaudio/distance-linear.html:
        * webaudio/dynamicscompressor-basic.html:
        * webaudio/javascriptaudionode-downmix8-2channel-input.html:
        * webaudio/javascriptaudionode-upmix2-8channel-input.html:
        * webaudio/javascriptaudionode-zero-input-channels.html:
        * webaudio/javascriptaudionode.html:
        * webaudio/mediaelementaudiosourcenode.html:
        * webaudio/oscillator-basic.html:
        * webaudio/oscillator-ended-expected.txt:
        * webaudio/oscillator-ended.html:
        * webaudio/page-canstartmedia.html:
        * webaudio/panner-equalpower-stereo.html:
        * webaudio/panner-equalpower.html:
        * webaudio/panner-loop.html:
        * webaudio/pannernode-basic.html:
        * webaudio/realtimeanalyser-fft-scaling.html:
        * webaudio/realtimeanalyser-fft-sizing.html:
        * webaudio/resources/audiobuffersource-testing.js:
        (checkAllTests):
        * webaudio/sample-accurate-scheduling.html:
        * webaudio/stereo2mono-down-mixing.html:
        * webaudio/test-basic.html:
        * webaudio/waveshaper.html:

2017-05-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Enable the woff2-variations @font-face format identifier
        https://bugs.webkit.org/show_bug.cgi?id=172425

        Reviewed by Andreas Kling.

        * fast/text/variations/font-face-format-woff2-expected.html: Added.
        * fast/text/variations/font-face-format-woff2.html: Added.
        * platform/mac/TestExpectations:

2017-05-22  Simon Fraser  <simon.fraser@apple.com>

        Support transform-box to switch sizing box in SVG
        https://bugs.webkit.org/show_bug.cgi?id=145783

        Reviewed by Dean Jackson.

        Modify tests that relied on the old "% values relative to the bounding box" behavior,
        and new tests for parsing and rendering with transform-box.

        * fast/css/transform-box-parsing.html: Added.
        * svg/transforms/change-transform-origin-css.xhtml:
        * svg/transforms/change-transform-origin-presentation-attribute.xhtml:
        * svg/transforms/percent-transform-values.xhtml:
        * svg/transforms/svg-transform-box-expected.html: Added.
        * svg/transforms/svg-transform-box.html: Added.
        * svg/transforms/transform-origin-css-property.xhtml:
        * transforms/svg-vs-css.xhtml:

2017-05-22  Antti Koivisto  <antti@apple.com>

        Crash in WebCore::StyleRuleKeyframes::findKeyframeIndex
        https://bugs.webkit.org/show_bug.cgi?id=170756
        <rdar://problem/31573157>

        Reviewed by Andreas Kling.

        Expand the tests to cover the malformed key case.

        * animations/keyframes-rule.html:
        * animations/unprefixed-keyframes-rule.html:

2017-05-22  youenn fablet  <youenn@apple.com>

        Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
        https://bugs.webkit.org/show_bug.cgi?id=172426

        Reviewed by Chris Dumez.

        * TestExpectations:
        * tests-options.json:

2017-05-22  Antti Koivisto  <antti@apple.com>

        [macOS Sierra Wk1] LayoutTest/animations/animation-initial-inheritance.html is a flaky image failure.
        https://bugs.webkit.org/show_bug.cgi?id=172177
        <rdar://problem/32239583>

        Unreviewed.

        * animations/animation-initial-inheritance.html: Try to unflake.

2017-05-21  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed Windows test gardening, skip tests which are timing out.

        * platform/win/TestExpectations:

2017-05-21  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update expectations for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=172437

        Unreviewed test gardening, update test expectations for failing tests.

        * platform/win/TestExpectations:

2017-05-21  Saam Barati  <sbarati@apple.com>

        We incorrectly throw a syntax error when declaring a top level for-loop iteration variable the same as a parameter
        https://bugs.webkit.org/show_bug.cgi?id=171041
        <rdar://problem/32082516>

        Reviewed by Yusuke Suzuki.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2017-05-21  Antti Koivisto  <antti@apple.com>

        matchMedia('print').addListener() fires in WK1 but never in WK2 when printing (breaks printing Google maps, QuickLooks)
        https://bugs.webkit.org/show_bug.cgi?id=172361
        <rdar://problem/28777408>

        Reviewed by Sam Weinig.

        * fast/media/matchMedia-print-expected.txt: Added.
        * fast/media/matchMedia-print.html: Added.

2017-05-20  Alexey Proskuryakov  <ap@apple.com>

        Correct line endings in a couple files.

        * fast/canvas/script-tests/canvas-gradient-without-path.js:
        * fast/dom/Geolocation/page-reload-cancel-permission-requests.html:

2017-05-20  Chris Dumez  <cdumez@apple.com>

        Drop [NoInterfaceObject] from RTCDTMFSender and RTCStatsReport
        https://bugs.webkit.org/show_bug.cgi?id=172418

        Reviewed by Youenn Fablet.

        Rebaseline existing test to reflect change.

        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-05-20  Chris Dumez  <cdumez@apple.com>

        Value for iterator property is wrong for maplike interfaces
        https://bugs.webkit.org/show_bug.cgi?id=172410

        Reviewed by Sam Weinig.

        Extend test coverage to test the RTCStatsReport iterator.

        * webrtc/video-stats.html:

2017-05-20  Jer Noble  <jer.noble@apple.com>

        [MSE][Mac] Support painting MSE video-element to canvas
        https://bugs.webkit.org/show_bug.cgi?id=125157
        <rdar://problem/23062016>

        Reviewed by Eric Carlson.

        * media/media-source/content/test-fragmented.mp4: Add a 'edts' atom to move the presentation time for the
            first sample to 0:00.
        * media/media-source/content/test-fragmented-manifest.json: 
        * media/media-source/media-source-paint-to-canvas-expected.txt: Added.
        * media/media-source/media-source-paint-to-canvas.html: Added.

2017-05-19  Chris Dumez  <cdumez@apple.com>

        Consider not exposing webkitURL in workers
        https://bugs.webkit.org/show_bug.cgi?id=172166

        Reviewed by Geoffrey Garen.

        Rebaseline existing test to reflect behavior change.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

2017-05-19  Jeremy Jones  <jeremyj@apple.com>

        webkitSupportsFullscreen and webkitSupportsPresentationMode('fullscreen') disagree.
        https://bugs.webkit.org/show_bug.cgi?id=172329
        rdar://problem/32260891

        Reviewed by Darin Adler.

        webkitSupportsPresentationMode('fullscreen') should delegate to webkitSupportsFullscreen.
        The additional mediaSession().fullscreenPermitted() check causes it to return false when
        not handling a user gesture, which isn't helpful to deciding to show a button in controls
        or not.

        * media/media-fullscreen-inline-expected.txt:
        * media/media-fullscreen-not-in-document-expected.txt:
        * media/media-fullscreen.js:
        (canplaythrough):
        * platform/mac-elcapitan/media/media-fullscreen-inline-expected.txt:
        * platform/mac-elcapitan/media/media-fullscreen-not-in-document-expected.txt:

2017-05-19  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/datachannel/filter-ice-candidate.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171061

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-05-19  Chris Dumez  <cdumez@apple.com>

        Do not fire load event for SVGElements that are detached or in frameless documents
        https://bugs.webkit.org/show_bug.cgi?id=172289
        <rdar://problem/32275689>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * svg/load-event-detached-expected.txt: Added.
        * svg/load-event-detached.html: Added.

2017-05-19  Alexey Proskuryakov  <ap@apple.com>

        Many accessibility js-tests use waitUntilDone
        https://bugs.webkit.org/show_bug.cgi?id=172372

        Reviewed by Tim Horton.

        Corrected the use of js-test harness, updated the tests to use js-test.js instead
        of js-test-pre.js where possible.

        * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt:
        * accessibility/anonymous-render-block-in-continuation-causes-crash.html:
        * accessibility/aria-checkbox-sends-notification.html:
        * accessibility/aria-invalid.html:
        * accessibility/aria-switch-sends-notification.html:
        * accessibility/deleting-iframe-destroys-axcache.html:
        * accessibility/file-upload-button-with-axpress.html:
        * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt:
        * accessibility/frame-disconnect-textmarker-cache-crash.html:
        * accessibility/gtk/aria-listbox-crash.html:
        * accessibility/heading-title-includes-links-expected.txt:
        * accessibility/heading-title-includes-links.html:
        * accessibility/image-map-update-parent-crash-expected.txt:
        * accessibility/image-map-update-parent-crash.html:
        * accessibility/insert-children-assert-expected.txt:
        * accessibility/insert-children-assert.html:
        * accessibility/ios-simulator/focus-change-notifications.html:
        * accessibility/label-element-press.html:
        * accessibility/loading-iframe-updates-axtree.html:
        * accessibility/mac/aria-expanded-notifications.html:
        * accessibility/mac/aria-listbox-selectedchildren-change.html:
        * accessibility/mac/aria-liveregion-on-image.html:
        * accessibility/mac/aria-liveregions-addedelement.html:
        * accessibility/mac/aria-liveregions-changedalt.html:
        * accessibility/mac/aria-liveregions-changedtext.html:
        * accessibility/mac/aria-liveregions-removedelement.html:
        * accessibility/mac/combobox-activedescendant-notifications-expected.txt:
        * accessibility/mac/combobox-activedescendant-notifications.html:
        * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt:
        * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html:
        * accessibility/mac/html-slider-indicator.html:
        * accessibility/mac/input-replacevalue-userinfo-expected.txt:
        * accessibility/mac/input-replacevalue-userinfo.html:
        * accessibility/mac/ordered-textmarker-crash-expected.txt:
        * accessibility/mac/ordered-textmarker-crash.html:
        * accessibility/mac/search-with-frames-expected.txt:
        * accessibility/mac/search-with-frames.html:
        * accessibility/mac/selection-boundary-userinfo.html:
        * accessibility/mac/selection-change-userinfo.html:
        * accessibility/mac/selection-element-tabbing-to-link.html:
        * accessibility/mac/selection-value-changes-for-aria-textbox.html:
        * accessibility/mac/stale-textmarker-crash-expected.txt:
        * accessibility/mac/stale-textmarker-crash.html:
        * accessibility/mac/textbox-role-reports-notifications-expected.txt:
        * accessibility/mac/textbox-role-reports-notifications.html:
        * accessibility/mac/value-change/value-change-user-info-contenteditable.html:
        * accessibility/mac/value-change/value-change-user-info-textarea.html:
        * accessibility/mac/value-change/value-change-user-info-textfield.html:
        * accessibility/media-element.html:
        * accessibility/menu-list-sends-change-notification.html:
        * accessibility/multiselect-list-reports-active-option.html:
        * accessibility/paragraph-with-linebreaks.html:
        * accessibility/platform-name.html:
        * accessibility/radio-button-group-members.html:
        * accessibility/radio-button-title-label.html:
        * accessibility/selection-states-expected.txt:
        * accessibility/selection-states.html:
        * accessibility/spinbutton-value.html:
        * accessibility/svg-bounds.html:
        * accessibility/table-cell-for-column-and-row-crash.html:
        * accessibility/table-cells-roles.html:
        * accessibility/table-roles-hierarchy.html:
        * accessibility/table-with-aria-role.html:
        * accessibility/textarea-insertion-point-line-number.html:
        * accessibility/textbox-role-reports-selection.html:
        * accessibility/title-ui-element-correctness.html:
        * accessibility/unknown-roles-not-exposed-expected.txt:
        * accessibility/unknown-roles-not-exposed.html:
        * accessibility/win/bstr-elements-role.html:
        * accessibility/win/detached-object-notification-crash.html:
        * accessibility/win/heading-elements.html:
        * accessibility/win/img-alt-attribute.html:
        * accessibility/win/linked-elements.html:
        * accessibility/win/list-item-role.html:
        * accessibility/win/list-marker-role.html:
        * accessibility/win/list-role.html:
        * accessibility/win/multiple-select-element-role.html:
        * accessibility/win/option-element-position-and-size.html:
        * accessibility/win/parent-element.html:
        * accessibility/win/select-element-role.html:
        * accessibility/win/selection-and-focus.html:
        * accessibility/win/single-select-children-changed.html:
        * accessibility/win/single-select-children.html:
        * accessibility/win/text-role.html:
        * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt:
        * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt:
        * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt:
        * platform/mac/accessibility/media-element-expected.txt:
        * platform/mac/accessibility/table-cells-roles-expected.txt:
        * platform/mac/accessibility/table-roles-hierarchy-expected.txt:

2017-05-19  Matt Lewis  <jlewis3@apple.com>

        Rebaselined js/dom/global-constructors-attributes.html after revision 217129
        

        Unreviewed test gardening.

        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-05-19  Chris Dumez  <cdumez@apple.com>

        URLSearchParams / Headers objects @@iterator is not as per Web IDL spec
        https://bugs.webkit.org/show_bug.cgi?id=172218

        Reviewed by Youenn Fablet.

        * fast/text/font-face-set-javascript-expected.txt:
        * fast/text/font-face-set-javascript.html:
        Fix FontFaceSet test which wrong expected FontFaceSet's entries() to return
        a pair iterator. It does not make sense to return a pair iterator here given
        that this is not a key-value structure. FontFaceSet should not even have an
        entries() method but this is an artifact of us using iterable<FontFace> instead of
        setlike<FontFace> until we support setlike<> (Bug 159140).

2017-05-19  Zalan Bujtas  <zalan@apple.com>

        Redundant ellipsis box triggers ASSERT_WITH_SECURITY_IMPLICATION in InlineBox::parent().
        https://bugs.webkit.org/show_bug.cgi?id=172309
        <rdar://problem/32262357>

        Reviewed by Simon Fraser.

        * fast/inline/redundant-ellipsis-triggers-assert-incorrectly-expected.txt: Added.
        * fast/inline/redundant-ellipsis-triggers-assert-incorrectly.html: Added.

2017-05-19  Ryan Haddad  <ryanhaddad@apple.com>

        LayoutTest js/Promise-types.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=171739

        Unreviewed follow-up fix for JSC tests.

        * js/script-tests/Promise-types.js:

2017-05-19  Youenn Fablet  <youenn@apple.com>

        Align MockRealtimeMediaSourceCenter with RealtimeMediaSourceCenter
        https://bugs.webkit.org/show_bug.cgi?id=172324

        Reviewed by Eric Carlson.

        * fast/mediastream/mock-media-source-webaudio.html:

2017-05-19  Alexey Proskuryakov  <ap@apple.com>

        Many CSS js-tests use waitUntilDone
        https://bugs.webkit.org/show_bug.cgi?id=172379

        Reviewed by Tim Horton.

        Corrected the use of js-test harness, updated the tests to use js-test.js instead
        of js-test-pre.js where possible.

        * css3/filters/should-not-have-compositing-layer-expected.txt:
        * css3/filters/should-not-have-compositing-layer.html:
        * css3/scroll-snap/nested-elements-expected.txt:
        * css3/scroll-snap/nested-elements.html:
        * css3/scroll-snap/scroll-snap-2d-change-axis-type-expected.txt:
        * css3/scroll-snap/scroll-snap-2d-change-axis-type.html:
        * css3/scroll-snap/scroll-snap-2d-offsets-computed-independently-expected.txt:
        * css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.html:
        * css3/scroll-snap/scroll-snap-elements-container-larger-than-children-expected.txt:
        * css3/scroll-snap/scroll-snap-elements-container-larger-than-children.html:
        * css3/scroll-snap/scroll-snap-mismatch-expected.txt:
        * css3/scroll-snap/scroll-snap-mismatch.html:
        * css3/scroll-snap/scroll-snap-offsets-expected.txt:
        * css3/scroll-snap/scroll-snap-offsets.html:
        * css3/scroll-snap/scroll-snap-positions-expected.txt:
        * css3/scroll-snap/scroll-snap-positions-mainframe-expected.txt:
        * css3/scroll-snap/scroll-snap-positions-mainframe.html:
        * css3/scroll-snap/scroll-snap-positions-overflow-resize-expected.txt:
        * css3/scroll-snap/scroll-snap-positions-overflow-resize.html:
        * css3/scroll-snap/scroll-snap-positions.html:
        * css3/scroll-snap/scroll-snap-style-changed-align-expected.txt:
        * css3/scroll-snap/scroll-snap-style-changed-align.html:
        * css3/touch-action/touch-action-manipulation-fast-clicks.html:
        * fast/css/counters/2displays-expected.txt:
        * fast/css/counters/2displays.html:
        * fast/css/counters/after-continuation-expected.txt:
        * fast/css/counters/after-continuation.html:
        * fast/css/counters/counter-increment-inherit-expected.txt:
        * fast/css/counters/counter-increment-inherit.htm:
        * fast/css/counters/counter-increment-tests-expected.txt:
        * fast/css/counters/counter-increment-tests.htm:
        * fast/css/device-aspect-ratio.html:
        * fast/css/hover-display-block-inline-expected.txt:
        * fast/css/hover-display-block-inline.html:
        * fast/css/hover-display-block-none-expected.txt:
        * fast/css/hover-display-block-none.html:
        * fast/css/image-resolution/image-resolution.html:
        * fast/css/max-device-aspect-ratio.html:
        * fast/css/min-device-aspect-ratio.html:
        * fast/css/pseudo-target-indirect-sibling-001.html:
        * fast/css/pseudo-target-indirect-sibling-002.html:

2017-05-19  Ryan Haddad  <ryanhaddad@apple.com>

        Skip tests that are reporting FailureNotTested.
        https://bugs.webkit.org/show_bug.cgi?id=172378

        Unreviewed test gardening.

        * TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-05-19  Ryan Haddad  <ryanhaddad@apple.com>

        LayoutTest js/Promise-types.html is a flaky failure (Unhandled Promise Rejection messages)
        https://bugs.webkit.org/show_bug.cgi?id=171739

        Reviewed by Joseph Pecoraro.

        Silence the console messages for unhandled rejections in this LayoutTest.

        * js/script-tests/Promise-types.js:

2017-05-19  Zalan Bujtas  <zalan@apple.com>

        LayoutTests/accessibility/mac/aria-multiple-liveregions-notification.html should force layout after r216726.
        https://bugs.webkit.org/show_bug.cgi?id=172363
        <rdar://problem/32182167>

        Reviewed by Simon Fraser.

        10ms timer is too short to securely ensure a layout. Let's force it instead.

        * accessibility/mac/aria-multiple-liveregions-notification.html:

2017-05-19  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r217098, r217111, r217113, and
        r217114.
        https://bugs.webkit.org/show_bug.cgi?id=172367

        These changes broke the Windows build and introduced
        LayoutTest failures (Requested by ryanhaddad on #webkit).

        Reverted changesets:

        "[MSE][Mac] Support painting MSE video-element to canvas"
        https://bugs.webkit.org/show_bug.cgi?id=125157
        http://trac.webkit.org/changeset/217098

        "[MSE][Mac] Support painting MSE video-element to canvas"
        https://bugs.webkit.org/show_bug.cgi?id=125157
        http://trac.webkit.org/changeset/217111

        "Unreviewed build fix; add undefined functions and constants
        to the CoreMediaSoftLink.h, and use the"
        http://trac.webkit.org/changeset/217113

        "[MSE][Mac] Support painting MSE video-element to canvas"
        https://bugs.webkit.org/show_bug.cgi?id=125157
        http://trac.webkit.org/changeset/217114

2017-05-19  Andy Estes  <aestes@apple.com>

        REGRESSION (r217078): window.ApplePaySession is undefined on macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=172344

        Reviewed by Tim Horton.

        * TestExpectations: Removed http/tests/ssl/applepay/ApplePaySession.html

2017-05-19  Chris Dumez  <cdumez@apple.com>

        CSSOM insertRule() index argument is optional with default 0
        https://bugs.webkit.org/show_bug.cgi?id=172219

        Reviewed by Sam Weinig.

        Update / Rebaseline existing tests to reflect behavior change.

        * fast/css/CSSSupportsRule-parameters-expected.txt:
        * fast/css/CSSSupportsRule-parameters.html:
        * fast/css/stylesheet-parameters-expected.txt:
        * fast/css/stylesheet-parameters.html:
        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:

2017-05-19  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening. Adding or updating test expectations for
        four W3C layout tests covering MSE and IndexedDB implementations.

        * platform/gtk/TestExpectations:

2017-05-19  Jer Noble  <jer.noble@apple.com>

        [MSE][Mac] Support painting MSE video-element to canvas
        https://bugs.webkit.org/show_bug.cgi?id=125157
        <rdar://problem/23062016>

        Reviewed by Eric Carlson.

        * media/media-source/content/test-fragmented.mp4:

2017-05-19  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        * platform/gtk/TestExpectations: Skip Apple Pay layout tests. Update one
        http/tests/loading/resourceLoadStatistics test expectation.
        * platform/gtk/http/tests/dom/document-attributes-null-handling-expected.txt: Update after r217091.

2017-05-18  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r217079.

        This change broke internal builds.

        Reverted changeset:

        "Redundant ellipsis box triggers
        ASSERT_WITH_SECURITY_IMPLICATION in InlineBox::parent()."
        https://bugs.webkit.org/show_bug.cgi?id=172309
        http://trac.webkit.org/changeset/217079

2017-05-18  Chris Dumez  <cdumez@apple.com>

        [macOS Sierra] Layout Test http/tests/dom/document-attributes-null-handling.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172311

        Reviewed by Andreas Kling.

        Not sure why the cookies are sometimes returned by CFNetwork in a different order. However,
        what matters and what we want to test is that the cookie was actually added so make the
        test not rely on a specific order to address flakiness.

        * http/tests/dom/document-attributes-null-handling-expected.txt:
        * http/tests/dom/document-attributes-null-handling.html:

2017-05-18  Andy Estes  <aestes@apple.com>

        Unreviewed gardening on ApplePaySession.html after r217078.

        * TestExpectations: Expect failure until webkit.org/b/172344 is fixed.

2017-05-18  Andy Estes  <aestes@apple.com>

        Unreviewed gardening on ApplePaySession.html after r217078.

        The ApplePayError tests are only expected to pass when APPLE_PAY_DELEGATE is enabled, so
        this breaks them out into their own file so that they can be skipped independently from
        ApplePaySession.html.

        * http/tests/ssl/applepay/ApplePayError-expected.txt: Added.
        * http/tests/ssl/applepay/ApplePayError.html: Added.
        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html:
        * platform/mac-wk2/TestExpectations:

2017-05-18  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html after r217078.

        Unreviewed test gardening.

        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-05-18  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] do not cache gUM permissions
        https://bugs.webkit.org/show_bug.cgi?id=172245

        Reviewed by Youenn Fablet.

        * fast/mediastream/MediaDevices-getUserMedia-expected.txt: Updated.
        * fast/mediastream/MediaDevices-getUserMedia.html:
        * http/tests/media/media-stream/get-user-media-prompt-expected.txt:
        * http/tests/media/media-stream/get-user-media-prompt.html:

2017-05-18  Zalan Bujtas  <zalan@apple.com>

        Redundant ellipsis box triggers ASSERT_WITH_SECURITY_IMPLICATION in InlineBox::parent().
        https://bugs.webkit.org/show_bug.cgi?id=172309
        <rdar://problem/32262357>

        Reviewed by Simon Fraser.

        * fast/inline/redundant-ellipsis-triggers-assert-incorrectly-expected.txt: Added.
        * fast/inline/redundant-ellipsis-triggers-assert-incorrectly.html: Added.

2017-05-18  Simon Fraser  <simon.fraser@apple.com>

        Add a test to ensure that media controls don't trigger composting of ancestors via "isolates blending"
        https://bugs.webkit.org/show_bug.cgi?id=172320

        Reviewed by Dean Jackson.

        Test that makes some source-less and sourced audio and video controls, and dumps
        the layer tree to ensure that they didn't trigger compositing on their ancestor
        stacking context element.

        * media/controls-should-not-trigger-isolates-blending-expected.txt: Added.
        * media/controls-should-not-trigger-isolates-blending.html: Added.

2017-05-18  Dean Jackson  <dino@apple.com>

        Transform misplaces element 50% of the time
        https://bugs.webkit.org/show_bug.cgi?id=172300
        <rdar://problem/29835668>

        Reviewed by Simon Fraser.

        A test case which has an animation that relies on
        translation percentages. If all goes well, the
        animating element will be completely obscured.

        * animations/needs-layout-expected.html: Added.
        * animations/needs-layout.html: Added.

2017-05-18  Daniel Bates  <dabates@apple.com>

        Improve error message for Access-Control-Allow-Origin violation due to misconfigured server
        https://bugs.webkit.org/show_bug.cgi?id=162819
        <rdar://problem/28575938>

        Reviewed by Joseph Pecoraro.

        Add more tests when Access-Control-Allow-Origin has more than one value and group
        with existing tests. Update expected results.

        * http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
        * http/tests/xmlhttprequest/resources/origin-exact-matching-iframe.html: Also extracted
        the origin string for the page into a local variable called pageOrigin, making use of document.origin,
        and referenced this variable instead of duplicating its value. Fixed various style nits.

2017-05-18  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Grandfather domains for existing data records
        https://bugs.webkit.org/show_bug.cgi?id=172155
        <rdar://problem/24913532>

        Reviewed by Alex Christensen.

        * http/tests/loading/resourceLoadStatistics/grandfathering-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/grandfathering.html: Added.
        * platform/wk2/TestExpectations:
            Marked it Pass for WebKit2.

2017-05-18  Keith Miller  <keith_miller@apple.com>

        Fix wasm-mem-post-message.html test expectations
        https://bugs.webkit.org/show_bug.cgi?id=172308

        Unreviewed, test gardening.

        * platform/ios-simulator/TestExpectations:
        * platform/win/TestExpectations:

2017-05-18  Jer Noble  <jer.noble@apple.com>

        Allow nested timers to propagate user gestures so long as the total nested interval is less than 1s.
        https://bugs.webkit.org/show_bug.cgi?id=172173

        Reviewed by Andy Estes.

        * fast/events/popup-blocked-from-untrusted-mouse-click.html:
        * fast/events/popup-blocking-timers4-expected.txt: Removed.
        * fast/events/popup-blocking-timers4.html: Removed.
        * media/restricted-audio-playback-with-multiple-settimeouts-expected.txt: Added.
        * media/restricted-audio-playback-with-multiple-settimeouts.html: Added.
        * platform/ios/TestExpectations:

2017-05-18  Daniel Bates  <dabates@apple.com>

        Evaluating window named element may return wrong result
        https://bugs.webkit.org/show_bug.cgi?id=166792
        <rdar://problem/29801059>

        Reviewed by Chris Dumez.

        Add tests to ensure we do not regress evaluation of window named elements.

        * http/tests/security/named-window-property-from-same-origin-inactive-document-expected.txt: Added.
        * http/tests/security/named-window-property-from-same-origin-inactive-document.html: Added.
        * http/tests/security/resources/innocent-victim-with-named-elements.html: Added.
        * http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document-expected.txt: Added.
        * http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document.html: Added.

2017-05-18  Andy Estes  <aestes@apple.com>

        Add "countryCode" to ApplePayErrorContactField
        https://bugs.webkit.org/show_bug.cgi?id=172264
        <rdar://problem/32004909>

        Reviewed by Anders Carlsson.

        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
        * http/tests/ssl/applepay/ApplePaySession.html:

2017-05-18  Daniel Bates  <dabates@apple.com>

        REGRESSION (r209608): Cross-origin plugin document opened in child window blocked by parent
        window CSP when object-src 'none' is set
        https://bugs.webkit.org/show_bug.cgi?id=172038
        <rdar://problem/32258262>

        Reviewed by Andy Estes.

        Adds tests to ensure that a same-origin- and cross-origin- plugin document opened in a child
        window inherit and do not inherit the CSP of its opener, respectively. Also adds a test to
        ensure that an about:blank window inherits the CSP plugin policy of its opener.

        * http/tests/plugins/resources/plugin-document-alert-and-notify-done.pl: Added.
        * http/tests/security/contentSecurityPolicy/cross-origin-plugin-document-allowed-in-child-window-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/cross-origin-plugin-document-allowed-in-child-window.html: Added.
        * http/tests/security/contentSecurityPolicy/plugin-blocked-in-about-blank-window-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/plugin-blocked-in-about-blank-window.html: Added.
        * http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window.html: Added.
        * platform/ios/TestExpectations: Skip added tests as iOS does not support plugins.

2017-05-18  Keith Miller  <keith_miller@apple.com>

        WebAssembly API: test with neutered inputs
        https://bugs.webkit.org/show_bug.cgi?id=163899

        Reviewed by JF Bastien.

        This patch dups Saam's de-modularized builder.

        * workers/sab/postMessage-transfer-type-error-expected.txt:
        * workers/wasm-mem-post-message-expected.txt: Added.
        * workers/wasm-mem-post-message.html: Added.
        * workers/wasm-mem-post-message/test.js: Added.
        (worker.onmessage):
        * workers/wasm-mem-post-message/worker.js: Added.
        (onmessage):
        * workers/wasm-resources/builder.js: Added.
        (const._fail):
        (const.isNotA.assert.isNotA):
        (const):
        (switch.typeof):
        (Builder):
        (Builder.prototype.setChecked):
        (Builder.prototype.setPreamble):
        (Builder.prototype._functionIndexSpaceKeyHash):
        (Builder.prototype._registerFunctionToIndexSpace):
        (Builder.prototype._getFunctionFromIndexSpace):
        (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
        (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e):
        (Builder.prototype._registerSectionBuilders.this.Unknown):

2017-05-18  Chris Dumez  <cdumez@apple.com>

        Update web-platform-tests tools
        https://bugs.webkit.org/show_bug.cgi?id=172247

        Reviewed by Youenn Fablet.

        * platform/mac/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:

2017-05-18  Antti Koivisto  <antti@apple.com>

        Design mode should not affect UA shadow trees
        https://bugs.webkit.org/show_bug.cgi?id=171854
        <rdar://problem/32071037>

        Reviewed by Zalan Bujtas.

        * editing/deleting/search-shadow-tree-delete-expected.txt: Added.
        * editing/deleting/search-shadow-tree-delete.html: Added.

2017-05-18  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of tests failing after r217039.

        * platform/gtk/TestExpectations:

2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r217014.

        This change caused mac-wk2 LayoutTests to exit early due to
        crashes.

        Reverted changeset:

        "Resource Load Statistics: Grandfather domains for existing
        data records"
        https://bugs.webkit.org/show_bug.cgi?id=172155
        http://trac.webkit.org/changeset/217014

2017-05-17  Zalan Bujtas  <zalan@apple.com>

        Tighten TextIterator::handleTextNode run-renderer mapping logic.
        https://bugs.webkit.org/show_bug.cgi?id=172174

        Reviewed by Antti Koivisto.

        * fast/shadow-dom/slot-crash-expected.txt:

2017-05-17  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Grandfather domains for existing data records
        https://bugs.webkit.org/show_bug.cgi?id=172155
        <rdar://problem/24913532>

        Reviewed by Alex Christensen.

        * http/tests/loading/resourceLoadStatistics/grandfathering-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/grandfathering.html: Added.
        * platform/wk2/TestExpectations:
            Marked it Pass for WebKit2.

2017-05-17  Zalan Bujtas  <zalan@apple.com>

        Debug ASSERT: WebCore::RenderImageResource::shutdown
        https://bugs.webkit.org/show_bug.cgi?id=172238
        <rdar://problem/30064601>

        Reviewed by Simon Fraser.

        * fast/images/assert-when-insertion-point-is-incorrect-expected.txt: Added.
        * fast/images/assert-when-insertion-point-is-incorrect.html: Added.

2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/appcache/404-resource-with-slow-main-resource.php as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=172241

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-17  Chris Dumez  <cdumez@apple.com>

        Setting URL.search to '' results in a stringified URL ending in '?'
        https://bugs.webkit.org/show_bug.cgi?id=162345
        <rdar://problem/31800441>

        Reviewed by Alex Christensen.

        * fast/dom/DOMURL/set-href-attribute-search-expected.txt:
        * fast/dom/DOMURL/set-href-attribute-search.html:
        * fast/dom/HTMLAnchorElement/script-tests/set-href-attribute-search.js:
        * fast/dom/HTMLAnchorElement/set-href-attribute-search-expected.txt:
        Update / rebaseline existing tests to reflect behavior change.

        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        Unskip url-setters.html test as it seems to be passing for me on WK1.

2017-05-17  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] videoWidth and videoHeight should be set when 'loadedmetadata' event fires
        https://bugs.webkit.org/show_bug.cgi?id=172223
        <rdar://problem/31899755>

        Reviewed by Jer Noble.

        * fast/mediastream/get-user-media-on-loadedmetadata-expected.txt: Added.
        * fast/mediastream/get-user-media-on-loadedmetadata.html: Added.

2017-05-17  Youenn Fablet  <youenn@apple.com>

        iOS WebRTC Media Capture should not allow camera capture from background tab
        https://bugs.webkit.org/show_bug.cgi?id=172200

        Reviewed by Eric Carlson.

        * platform/ios/mediastream/getUserMedia-disabled-in-background-tabs-expected.txt: Added.
        * platform/ios/mediastream/getUserMedia-disabled-in-background-tabs.html: Added.

2017-05-15  Jiewen Tan  <jiewen_tan@apple.com>

        Replace CryptoOperationData with BufferSource for WebKitSubtleCrypto
        https://bugs.webkit.org/show_bug.cgi?id=172146
        <rdar://problem/32122256>

        Reviewed by Brent Fulgham.

        * crypto/webkitSubtle/argument-conversion-expected.txt:
        * crypto/webkitSubtle/import-export-raw-key-leak-expected.txt: Added.
        * crypto/webkitSubtle/import-export-raw-key-leak.html: Added.

2017-05-17  Chris Dumez  <cdumez@apple.com>

        Unreviewed, skip newly imported notifications tests on iOS

        Notifications are not enabled on iOS.

        * platform/ios/TestExpectations:

2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two http/tests/media/hls/video tests as failing during investigation.
        https://bugs.webkit.org/show_bug.cgi?id=171814

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-17  Nan Wang  <n_wang@apple.com>

        ASSERTION FAILED in WebCore::AccessibilityNodeObject::insertChild()
        https://bugs.webkit.org/show_bug.cgi?id=171927
        <rdar://problem/32109781>

        Reviewed by Chris Fleizach.

        * accessibility/insert-children-assert-expected.txt: Added.
        * accessibility/insert-children-assert.html: Added.

2017-05-17  Chris Dumez  <cdumez@apple.com>

        Import Notification tests from web-platform-tests
        https://bugs.webkit.org/show_bug.cgi?id=172196

        Reviewed by Youenn Fablet.

        * resources/testharnessreport.js:
        Allow notifications as this is a pre-requirement for web-platform-tests.

2017-05-17  Ryosuke Niwa  <rniwa@webkit.org>

        getElementById can return a wrong elemnt when a matching element is removed during beforeload event
        https://bugs.webkit.org/show_bug.cgi?id=171374

        Reviewed by Brent Fulgham.

        Added a regression test for calling getElementById after removing a matching element
        during beforeload event of a link element.

        * fast/html/link-element-removal-during-beforeload-expected.txt: Added.
        * fast/html/link-element-removal-during-beforeload.html: Added.

2017-05-17  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline js/dom/global-constructors-attributes.html after r216959.

        * js/dom/global-constructors-attributes-expected.txt:
        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/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:
        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-05-17  Ben Kelly  <ben@wanderview.com>

        Import FileAPI WPT tests.
        https://bugs.webkit.org/show_bug.cgi?id=171960

        Reviewed by Youenn Fablet.

        * TestExpectations:

2017-05-17  Antti Koivisto  <antti@apple.com>

        Regression (198943): <marquee> shouldn't wrap text
        https://bugs.webkit.org/show_bug.cgi?id=172217

        Reviewed by Andreas Kling.

        * fast/html/marquee-child-wrap-expected.html: Added.
        * fast/html/marquee-child-wrap.html: Added.

2017-05-17  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r216966): fast/shadow-dom/slot-crash.html started to fail

        Unreviewed test gardening.

        Update test results after the fix for:
            Do not skip <slot> children when collecting content for innerText.
            https://bugs.webkit.org/show_bug.cgi?id=172113
            <rdar://problem/30362324>

        * fast/shadow-dom/slot-crash-expected.txt: Update results to add
        a space to the end of the output.

2017-05-16  Chris Dumez  <cdumez@apple.com>

        [macOS Debug wk2] Layout test svg/animations/animations-paused-in-background-page-iframe.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=172183

        Reviewed by Andreas Kling.

        Fix test flakiness by using shouldBecome() instead of relying on a 30ms timer.

        * svg/animations/animations-paused-in-background-page-iframe-expected.txt:
        * svg/animations/animations-paused-in-background-page-iframe.html:

2017-05-16  Sam Weinig  <sam@webkit.org>

        Bring Notification.idl up to spec
        https://bugs.webkit.org/show_bug.cgi?id=172156

        Reviewed by Chris Dumez.

        * http/tests/notifications/notification-expected.txt: Added.
        * http/tests/notifications/notification.html: Added.
        Add test for basic Notification API functionality.

2017-05-16  Zalan Bujtas  <zalan@apple.com>

        Do not skip <slot> children when collecting content for innerText.
        https://bugs.webkit.org/show_bug.cgi?id=172113
        <rdar://problem/30362324>

        Reviewed by Ryosuke Niwa and Brent Fulgham.

        * fast/text/inner-text-should-include-slot-subtree-expected.txt: Added.
        * fast/text/inner-text-should-include-slot-subtree.html: Added.

2017-05-16  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, fix LayoutTests/plugins/navigator-plugin-crash.html
        <rdar://problem/32236478>

        * plugins/navigator-plugin-crash-expected.txt:
        * plugins/navigator-plugin-crash.html:

2017-05-16  Chris Dumez  <cdumez@apple.com>

        Implement DOMMatrix / DOMMatrixReadOnly
        https://bugs.webkit.org/show_bug.cgi?id=110001

        Reviewed by Sam Weinig and Simon Fraser.

        Drop test I previously added now that a better version landed in web-platform-tests
        and was re-imported in this patch.

        * fast/css/matrix-stringifier-expected.txt: Removed.
        * fast/css/matrix-stringifier.html: Removed.

2017-05-16  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r212513): LastResort is platform-dependent, so its semantics should not be required to perform font loading correctly.
        https://bugs.webkit.org/show_bug.cgi?id=168487

        Reviewed by Antti Koivisto.

        * fast/text/font-download-font-face-src-list-expected.txt: Added.
        * fast/text/font-download-font-face-src-list.html: Copied from LayoutTests/fast/text/font-weight-download-2.html.
        * fast/text/font-download-font-family-property-expected.txt: Added.
        * fast/text/font-download-font-family-property.html: Copied from LayoutTests/fast/text/font-weight-download-2.html.
        * fast/text/font-download-remote-fallback-all-expected.txt: Added.
        * fast/text/font-download-remote-fallback-all.html: Copied from LayoutTests/fast/text/font-weight-download-2.html.
        * fast/text/font-interstitial-invisible-width-while-loading-expected.txt: Added.
        * fast/text/font-interstitial-invisible-width-while-loading.html: Added.
        * fast/text/font-weight-download-2.html:
        * fast/text/font-weight-download-3-expected.txt: Added.
        * fast/text/font-weight-download-3.html: Copied from LayoutTests/fast/text/font-weight-download-2.html.
        * fast/text/web-font-load-fallback-during-loading-2-expected.html: Added.
        * fast/text/web-font-load-fallback-during-loading-2.html: Added.
        * fast/text/web-font-load-fallback-during-loading-expected.html:
        * fast/text/web-font-load-fallback-during-loading.html:
        * fast/text/web-font-load-invisible-during-loading-expected.txt: Added.
        * fast/text/web-font-load-invisible-during-loading.html: Added.
        * http/tests/webfont/fallback-font-while-loading-expected.txt:
        * http/tests/webfont/fallback-font-while-loading.html:

2017-05-16  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Return default device list until user gives permission to capture
        https://bugs.webkit.org/show_bug.cgi?id=172168
        <rdar://problem/31816884>

        Reviewed by Youenn Fablet.

        * fast/mediastream/MediaDevices-enumerateDevices-expected.txt: Removed.
        * fast/mediastream/MediaDevices-enumerateDevices.html: Removed.
        * fast/mediastream/media-devices-enumerate-devices-expected.txt: Added.
        * fast/mediastream/media-devices-enumerate-devices.html: Added.

2017-05-16  Tim Horton  <timothy_horton@apple.com>

        Make it possible to adjust which edges are affected by safe area insets
        https://bugs.webkit.org/show_bug.cgi?id=172149
        <rdar://problem/31564729>

        Reviewed by Beth Dakin.

        * fast/viewport/ios/viewport-fit-auto-expected.txt:
        * fast/viewport/ios/viewport-fit-contain-expected.txt:

2017-05-16  Mark Lam  <mark.lam@apple.com>

        Gardening: rebased parser-syntax-check test results after r216891.
        https://bugs.webkit.org/show_bug.cgi?id=172171

        Not reviewed.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2017-05-16  Ryan Haddad  <ryanhaddad@apple.com>

        Skip LayoutTest media/restricted-audio-playback-with-document-gesture.html on iOS.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-05-16  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Tests that always pass when run alone, but fail in the bots
        https://bugs.webkit.org/show_bug.cgi?id=168572

        Reviewed by Michael Catanzaro.

        PlatformWebView::viewSupportsOptions() is basically a comparison
        that checks that the passed options are the ones supported by the
        web view. There is no reason for them to be implemented for each
        platform differently. In fact doing so causes issues each time a
        new option is added, if the corresponding platform implementation
        is not updated accordingly.

        A consequence of not updating the viewSupportOptions()
        implementations when new options are added is that tests that need
        these options might fail if they are executed after a test that
        didn't need the option, as the webview will be reused even if the
        option is not supported. This cannot be spotted when running the
        tests individually. See bug #165133 for other example of the same
        problem.

        Remove the platform implementations and make the comparison a
        method of the TestOptions structure, so that the check is in one
        place. For the time being include in the comparison the options
        checked in the mac and ios platforms, which seem to be the only
        ones relevant this far (unless newer ones have also been
        forgotten).

        * platform/gtk/TestExpectations: Unskip an affected test.

2017-05-16  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Implement ReadableStreamBYOBReader releaseLock()
        https://bugs.webkit.org/show_bug.cgi?id=172111

        Reviewed by Chris Dumez.

        Added tests to check releaseLock() behavior.

        * streams/readable-stream-byob-reader-expected.txt: Updated.
        * streams/readable-stream-byob-reader.js: Added new tests.

2017-05-16  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed Windows gardening. Skip svg animation test, since image throttling behaves differently on WK1.

        * platform/win/TestExpectations:

2017-05-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline tests after r216817.

        * 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/transforms/bounding-rect-zoom-expected.txt:

2017-05-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several WebRTC tests.

        * platform/gtk/TestExpectations:

2017-05-16  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix static position of positioned grid items
        https://bugs.webkit.org/show_bug.cgi?id=172108

        Reviewed by Sergio Villar Senin.

        The test is updated as the expected results were wrong.
        Note that after this patch we match Chrome and Firefox behavior on this test.

        * fast/css-grid-layout/absolute-positioning-grid-container-parent.html:

2017-05-15  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Do not delete asynchronously decoded frames for large images if their clients are in the viewport
        https://bugs.webkit.org/show_bug.cgi?id=170640

        Reviewed by Simon Fraser.

        * fast/images/async-image-background-image-repeated.html:
        * fast/images/async-image-background-image.html:
        * fast/images/sprite-sheet-image-draw.html:

2017-05-15  Youenn Fablet  <youenn@apple.com>

        WebRTC outgoing muted video sources should send black frames
        https://bugs.webkit.org/show_bug.cgi?id=170627
        <rdar://problem/31513869>

        Reviewed by Eric Carlson.

        * webrtc/video-mute-expected.txt:
        * webrtc/video-mute.html:

2017-05-15  Mark Lam  <mark.lam@apple.com>

        Rolling out r214038 and r213697: Crashes when using computed properties with rest destructuring and object spread.
        https://bugs.webkit.org/show_bug.cgi?id=172147

        Rubber-stamped by Saam Barati.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2017-05-15  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline platform/ios/ios/css/construct-WebKitCSSMatrix.html after r216881.

        * platform/ios/ios/css/construct-WebKitCSSMatrix-expected.txt:
        * platform/ios/ios/css/resources/construct-WebKitCSSMatrix.js:

2017-05-15  Jer Noble  <jer.noble@apple.com>

        Add experimental setting to allow document gesture interaction to fulfill media playback gesture requirement
        https://bugs.webkit.org/show_bug.cgi?id=172131

        Reviewed by Eric Carlson.

        * media/restricted-audio-playback-with-document-gesture-expected.txt: Added.
        * media/restricted-audio-playback-with-document-gesture.html: Added.

2017-05-15  Per Arne Vollan  <pvollan@apple.com>

        LayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=167749

        Reviewed by Eric Carlson.

        Start video playback when the 'canplaythrough' event is handled, and stop logging the event,
        since the event sequence is not identical on all bots.

        * http/tests/media/track-in-band-hls-metadata-crash-expected.txt:
        * http/tests/media/track-in-band-hls-metadata-crash.html:

2017-05-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: CRASH seen with DOM.setOuterHTML when there is no documentElement
        https://bugs.webkit.org/show_bug.cgi?id=172135
        <rdar://problem/32175860>

        Reviewed by Brian Burg.

        * inspector/dom/setOuterHTML-no-document-element-expected.txt: Added.
        * inspector/dom/setOuterHTML-no-document-element.html: Added.

2017-05-15  Chris Dumez  <cdumez@apple.com>

        Align WebKitCSSMatrix stringifier with spec for DOMMatrix
        https://bugs.webkit.org/show_bug.cgi?id=172114

        Reviewed by Simon Fraser.

        * fast/css/matrix-stringifier-expected.txt: Added.
        * fast/css/matrix-stringifier.html: Added.
        Add layout test coverage.

        * fast/dom/Window/custom-constructors-expected.txt:
        * fast/dom/Window/custom-constructors.html:
        Rebaseline existing test to reflect behavior change.

2017-05-15  Mark Lam  <mark.lam@apple.com>

        WorkerRunLoop::Task::performTask() should check !scriptController->isTerminatingExecution().
        https://bugs.webkit.org/show_bug.cgi?id=171775
        <rdar://problem/30975761>

        Reviewed by Filip Pizlo.

        * TestExpectations:

2017-05-15  Myles C. Maxfield  <mmaxfield@apple.com>

        Unicode characters which can't be rendered in any font are invisible
        https://bugs.webkit.org/show_bug.cgi?id=171942
        <rdar://problem/32054234>

        Reviewed by Tim Horton.

        * fast/text/default-ignorable-expected.html: Added.
        * fast/text/default-ignorable.html: Added.
        * fast/text/unknown-char-notdef-expected-mismatch.html: Added.
        * fast/text/unknown-char-notdef.html: Added.

2017-05-15  Zalan Bujtas  <zalan@apple.com>

        Simple line layout: Leading whitespace followed by a <br> produces an extra linebreak.
        https://bugs.webkit.org/show_bug.cgi?id=172076

        Reviewed by Antti Koivisto.

        * fast/text/simple-line-layout-leading-whitespace-with-soft-hard-linebreak-expected.html: Added.
        * fast/text/simple-line-layout-leading-whitespace-with-soft-hard-linebreak.html: Added.

2017-05-15  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        Invalid MediaSource duration value should throw TyperError instead of InvalidStateError
        https://bugs.webkit.org/show_bug.cgi?id=171653

        Reviewed by Chris Dumez.

        Modify MediaSource::setDuration to throw a TypeError when duration value is invalid as per MSE specification
        (https://www.w3.org/TR/2016/REC-media-source-20161117/#dom-mediasource-duration).

        Update expectations of corresponding WPT test.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
        * platform/mac/TestExpectations:

2017-05-15  Gwang Yoon Hwang  <yoon@igalia.com>

        [CAIRO] Painting an image mask with a matrix above Pixman's limit breaks internal states of Cairo
        https://bugs.webkit.org/show_bug.cgi?id=169094

        Reviewed by Žan Doberšek.

        * fast/hidpi/hidpi-long-page-with-inset-element-expected.html: Added.
        * fast/hidpi/hidpi-long-page-with-inset-element.html: Added.

2017-05-14  Sam Weinig  <sam@webkit.org>

        [WebIDL/DOM] Remove need for custom bindings for HTMLAllCollection and bring up to spec
        https://bugs.webkit.org/show_bug.cgi?id=172095

        Reviewed by Darin Adler.

        * fast/dom/collection-null-like-arguments-expected.txt:
        Update results.

        * fast/dom/document-all-expected.txt: Added.
        * fast/dom/document-all.html: Added.
        New test that covers a bunch of missing coverage.

2017-05-14  David Kilzer  <ddkilzer@apple.com>

        [iOS/macOS Debug WK2] LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces.html is a flaky crash due to assertion failure
        <https://bugs.webkit.org/show_bug.cgi?id=172094>
        <rdar://problem/32184256>

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        - Mark test as flaky crash on Debug WK2 builds.

2017-05-14  David Kilzer  <ddkilzer@apple.com>

        [macOS Debug WK1] fast/parser/adoption-agency-unload-iframe-4.html is a flaky timeout (always on iOS 10 Release WK1)
        <https://webkit.org/b/172092>

        Unreviewed test gardening.

        * platform/ios-wk1/TestExpectations:
        - This only times out on Release builds.

2017-05-14  David Kilzer  <ddkilzer@apple.com>

        [macOS Debug WK1] fast/parser/adoption-agency-unload-iframe-4.html is a flaky timeout (always on iOS 10 Release WK1)
        <https://webkit.org/b/172092>

        Unreviewed test gardening.

        See also Bug 169211 for a similar GTK WK1 timeout.

        * platform/ios-wk1/TestExpectations:
        - Mark as always timing out on all builds.
        * platform/mac-wk1/TestExpectations:
        - Mark flaky on Debug builds.

2017-05-13  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] deviceId constraint doesn't work with getUserMedia
        https://bugs.webkit.org/show_bug.cgi?id=171877
        <rdar://problem/31899730>

        Reviewed by Jer Noble.

        * fast/mediastream/get-user-media-device-id-expected.txt: Added.
        * fast/mediastream/get-user-media-device-id.html: Added.
        * fast/mediastream/apply-constraints-video-expected.txt: Updated.
        * fast/mediastream/apply-constraints-video.html: Ditto.

2017-05-13  David Kilzer  <ddkilzer@apple.com>

        TestExpectations: Remove last refereneces to Legacy Notifications

        Unreviewed test gardening fixes these lint warnings:

            LayoutTests/TestExpectations:1222 Path does not exist. fast/notifications/notifications-event-stop-propagation.html
            LayoutTests/TestExpectations:1223 Path does not exist. fast/notifications/notifications-multi-events.html

        * TestExpectations: Remove references to skipped tests.  Legacy
        Notification support was removed in r216641.

2017-05-13  Ryan Haddad  <ryanhaddad@apple.com>

        Remove flaky expectation for LayoutTest media/media-controls-clone-crash.html.
        https://bugs.webkit.org/show_bug.cgi?id=171978

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-13  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Implement the place-self shorthand
        https://bugs.webkit.org/show_bug.cgi?id=168846

        Reviewed by Zalan Bujtas.

        Regression tests for the new place-self alignment shorthand.

        * css3/parse-place-self-expected.txt: Added.
        * css3/parse-place-self.html: Added.

2017-05-13  Commit Queue  <commit-queue@webkit.org>

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

        Many memory corruption crashes on worker threads (Requested by
        ap on #webkit).

        Reverted changeset:

        "WorkerRunLoop::Task::performTask() should check
        !scriptController->isTerminatingExecution()."
        https://bugs.webkit.org/show_bug.cgi?id=171775
        http://trac.webkit.org/changeset/216801

2017-05-12  Simon Fraser  <simon.fraser@apple.com>

        event.clientX/clientY should be in layout viewport coordinates
        https://bugs.webkit.org/show_bug.cgi?id=172018

        Reviewed by Zalan Bujtas.
        
        * fast/events/clientXY-in-zoom-and-scroll.html:
        * fast/visual-viewport/client-coordinates-relative-to-layout-viewport-expected.txt: Added.
        * fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html: Added.
        * platform/ios/TestExpectations:
        * platform/mac/fast/events/clientXY-in-zoom-and-scroll-expected.txt:

2017-05-12  Simon Fraser  <simon.fraser@apple.com>

        The rects returned by Element/Range.getClientRects() should not be rounded
        https://bugs.webkit.org/show_bug.cgi?id=172057

        Reviewed by Chris Dumez.

        Fix tests that were sensitive to rounding. I had to mark fast/text/multiglyph-characters.html
        as failing (webkit.org/b/172056).

        * TestExpectations:
        * fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll.html:
        * fast/dom/Range/getClientRects-expected.txt:
        * fast/dom/Range/getClientRects.html:
        * fast/dom/Range/simple-line-layout-getclientrects-expected.html:
        * fast/dom/Range/simple-line-layout-getclientrects.html:
        * fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt:
        * platform/ios/TestExpectations:
        * platform/ios/fast/multicol/client-rects-expected.txt:
        * platform/ios/fast/multicol/client-rects-spanners-complex-expected.txt:
        * platform/ios/fast/multicol/client-rects-spanners-expected.txt:
        * platform/ios/fast/multicol/newmulticol/client-rects-expected.txt:
        * platform/ios/fast/transforms/bounding-rect-zoom-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/transforms/bounding-rect-zoom-expected.txt:

2017-05-12  Jiewen Tan  <jiewen_tan@apple.com>

        Elements should be inserted into a template element as its content's last child
        https://bugs.webkit.org/show_bug.cgi?id=171373
        <rdar://problem/31862949>

        Reviewed by Ryosuke Niwa.

        * fast/dom/HTMLTemplateElement/insert-fostering-child-expected.txt: Added.
        * fast/dom/HTMLTemplateElement/insert-fostering-child.html: Added.

2017-05-11  Simon Fraser  <simon.fraser@apple.com>

        Incorrect position when dragging jQuery Draggable elements with position fixed after pinch zoom
        https://bugs.webkit.org/show_bug.cgi?id=171113

        Reviewed by Tim Horton.

        Rebaseline tests which dumped the getBoundingClientRect for fixed elements; now that these
        are layout viewport-relative, getBoundingClientRect() for a fixed element is unchanging.

        New test that exercises getBoundingClientRect() and getClientRects() for fixed and absolute
        elements after zooming.

        * fast/events/autoscroll-when-zoomed.html: Adjust to account for behavior change.
        * fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt: Added.
        * fast/visual-viewport/client-rects-relative-to-layout-viewport.html: Added.
        * fast/visual-viewport/zoomed-fixed-expected.txt:
        * fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:
        * fast/zooming/client-rect-in-fixed-zoomed-expected.txt:
        * fast/zooming/client-rect-in-fixed-zoomed.html:
        * fast/zooming/client-rects-with-css-and-page-zoom-expected.txt: Added.
        * fast/zooming/client-rects-with-css-and-page-zoom.html: Added.
        * platform/ios-wk2/fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt: Added.
        * platform/ios/TestExpectations: Mark imported/w3c/web-platform-tests/cssom-view/elementFromPoint.html as failing;
            it will be fixed via webkit.org/b/172019
        * platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt:
        * platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:

2017-05-12  Mark Lam  <mark.lam@apple.com>

        WorkerRunLoop::Task::performTask() should check !scriptController->isTerminatingExecution().
        https://bugs.webkit.org/show_bug.cgi?id=171775
        <rdar://problem/30975761>

        Reviewed by Saam Barati.

        * TestExpectations:

2017-05-12  Daniel Bates  <dabates@apple.com>

        Attempt to fix timeout failure of test plugins/navigator-plugin-crash.html in WebKit1
        following <http://trac.webkit.org/changeset/216789>
        (https://bugs.webkit.org/show_bug.cgi?id=171712)

        In r216798 I inadvertently added testRunner.setPopupBlockingEnabled(true) instead
        instead of testRunner.setPopupBlockingEnabled(false) to disable the popup blocker.

        * plugins/navigator-plugin-crash.html:

2017-05-12  Daniel Bates  <dabates@apple.com>

        Attempt to fix timeout failure of test plugins/navigator-plugin-crash.html in WebKit1
        following <http://trac.webkit.org/changeset/216789>
        (https://bugs.webkit.org/show_bug.cgi?id=171712)

        On WebKit1 we need to explicitly allow the test tool to open windows by calling
        testRunner.setCanOpenWindows(). We should also call testRunner.setCloseRemainingWindowsWhenComplete(true)
        to have the test tool close any open windows after running the test.

        It is also good practice to explicitly disable the popup blocker by calling
        testRunner.setPopupBlockingEnabled(false).

        * plugins/navigator-plugin-crash.html:

2017-05-11  Jiewen Tan  <jiewen_tan@apple.com>

        Check existence of a page before accessing its plugins
        https://bugs.webkit.org/show_bug.cgi?id=171712
        <rdar://problem/32007806>

        Reviewed by Brent Fulgham.

        * plugins/navigator-plugin-crash-expected.txt: Added.
        * plugins/navigator-plugin-crash.html: Added.

2017-05-12  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Add ReadableStreamBYOBReader closed getter
        https://bugs.webkit.org/show_bug.cgi?id=172024

        Reviewed by Youenn Fablet.

        Added tests to check closed getter behaviour.

        * streams/readable-stream-byob-reader-expected.txt: Updated.
        * streams/readable-stream-byob-reader.js: Updated.

2017-05-12  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/closing-peerconnection.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172034

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-12  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] After upgrading glib and glib-networking, resources with zero bytes are always identified as text/plain
        https://bugs.webkit.org/show_bug.cgi?id=171058

        Reviewed by Carlos Garcia Campos.

        GLib-based ports have issues detecting the mimetypes of empty
        files, as they are all considered to be text/plain by
        glib. Replace these resources with a minimal valid file for its
        type (that is, 1x1 PNG files and 1 whitespace for text files).

        * fast/preloader/resources/base-image1.png:
        * fast/preloader/resources/base-image2.png:
        * fast/preloader/resources/base-image3.png:
        * fast/preloader/resources/image1.png:
        * fast/preloader/resources/link1.css:
        * fast/preloader/resources/noscript-image1.png:
        * fast/preloader/resources/noscript-image2.png:
        * fast/preloader/resources/script1.js:
        * fast/preloader/resources/style1.css:
        * tables/mozilla/core/col_widths_fix_autoFixPer.html:

        * platform/gtk/TestExpectations: Unskip the now passing tests.

2017-05-12  Antti Koivisto  <antti@apple.com>

        Updating class name of a shadow host does not update the style applied by descendants of :host()
        https://bugs.webkit.org/show_bug.cgi?id=170762
        <rdar://problem/31572668>

        Reviewed by Ryosuke Niwa.

        * fast/shadow-dom/css-scoping-host-class-and-attribute-mutation-expected.html: Added.
        * fast/shadow-dom/css-scoping-host-class-and-attribute-mutation.html: Added.

2017-05-12  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Unreviewed gardening.

        ClientRect, ClientRectList were removed, PromiseRejectionEvent was
        added, update global constructors attributes test expectations.

        * platform/wpe/js/dom/global-constructors-attributes-expected.txt:

2017-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] ASSERTION FAILED: !m_flushingLayers
        https://bugs.webkit.org/show_bug.cgi?id=172025

        Reviewed by Žan Doberšek.

        * platform/gtk/TestExpectations:

2017-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] GIF images are not properly loaded the first time
        https://bugs.webkit.org/show_bug.cgi?id=170432

        Reviewed by Carlos Alberto Lopez Perez.

        * http/tests/images/gif-progressive-load-expected.html: Added.
        * http/tests/images/gif-progressive-load.html: Added.

2017-05-12  Manuel Rego Casasnovas  <rego@igalia.com>

        [selectors4] css/selectors4/focus-within-006.html test from WPT is failing
        https://bugs.webkit.org/show_bug.cgi?id=170900

        Reviewed by Sergio Villar Senin.

        * TestExpectations: Remove test as it's passing now.

2017-05-11  Per Arne Vollan  <pvollan@apple.com>

        Geolocation requests should not be blocked when the security origin is local.
        https://bugs.webkit.org/show_bug.cgi?id=171857

        Reviewed by Brent Fulgham.

        * fast/misc/geolocation-local-security-origin-expected.txt: Added.
        * fast/misc/geolocation-local-security-origin.html: Added.

2017-05-11  Manuel Rego Casasnovas  <rego@igalia.com>

        [selectors4] :focus-within tests using shadow DOM don't pass on WK1
        https://bugs.webkit.org/show_bug.cgi?id=170935

        Reviewed by Youenn Fablet.

        * platform/mac-wk1/TestExpectations: Remove tests as they're passing now.

2017-05-11  Zalan Bujtas  <zalan@apple.com>

        RenderImageResource::hasImage is redundant and RenderImageResourceStyleImage's override is incorrect.
        https://bugs.webkit.org/show_bug.cgi?id=172010
        <rdar://problem/31086735>

        Reviewed by Simon Fraser.

        * fast/images/missing-content-image-crash-expected.txt: Added.
        * fast/images/missing-content-image-crash.html: Added.

2017-05-11  Zalan Bujtas  <zalan@apple.com>

        AX: Defer text changes until after the tree is clean if needed.
        https://bugs.webkit.org/show_bug.cgi?id=171546
        <rdar://problem/31934942>

        Reviewed by Simon Fraser.

        * accessibility/crash-when-render-tree-is-not-clean-expected.txt: Added.
        * accessibility/crash-when-render-tree-is-not-clean.html: Added.

2017-05-11  Youenn Fablet  <youenn@apple.com>

        Allow WPT server to serve specific WebKit tests
        https://bugs.webkit.org/show_bug.cgi?id=171479

        Reviewed by Ryosuke Niwa.

        Moving tests to ensure they are correctly runned.

        * http/wpt/fetch/fetch-as-blob-expected.txt: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob-expected.txt.
        * http/wpt/fetch/fetch-as-blob-worker-expected.txt: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob-worker-expected.txt.
        * http/wpt/fetch/fetch-as-blob-worker.html: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob-worker.html.
        * http/wpt/fetch/fetch-as-blob.html: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob.html.
        * http/wpt/fetch/fetch-as-blob.js: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob.js.
        (promise_test):

2017-05-11  Youenn Fablet  <youenn@apple.com>

        [iOS] Unset active media capture source when stopped capturing
        https://bugs.webkit.org/show_bug.cgi?id=171815
        <rdar://problem/32117885>

        Reviewed by Eric Carlson.

        Improving the existing tests for better reliability and debugability.
        Updating tests to use less webkitAudioContext.

        * platform/ios/mediastream/getUserMedia-single-capture-expected.txt: Added.
        * platform/ios/mediastream/getUserMedia-single-capture.html: Added.
        * webrtc/audio-peer-connection-webaudio.html:
        * webrtc/audio-replace-track-expected.txt:
        * webrtc/audio-replace-track.html:
        * webrtc/peer-connection-audio-mute.html:
        * webrtc/peer-connection-audio-mute2.html:
        * webrtc/peer-connection-remote-audio-mute.html:
        * webrtc/peer-connection-remote-audio-mute2.html:
        * webrtc/routines.js:
        * webrtc/video-replace-track-expected.txt:
        * webrtc/video-replace-track.html:

2017-05-11  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r216677.

        Patch caused layout test crashes.

        Reverted changeset:

        "WorkerThread::stop() should call
        scheduleExecutionTermination() last."
        https://bugs.webkit.org/show_bug.cgi?id=171775
        http://trac.webkit.org/changeset/216677

2017-05-11  Matt Lewis  <jlewis3@apple.com>

        Marked tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=168937

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-11  Joseph Pecoraro  <pecoraro@apple.com>

        Remove Vibration API
        https://bugs.webkit.org/show_bug.cgi?id=171766

        Rubber-stamped by Alexey Proskuryakov.

        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:
        * vibration/cancelVibration-after-pagevisibility-changed-to-hidden-expected.txt: Removed.
        * vibration/cancelVibration-after-pagevisibility-changed-to-hidden.html: Removed.
        * vibration/cancelVibration-during-pattern-vibrating-expected.txt: Removed.
        * vibration/cancelVibration-during-pattern-vibrating.html: Removed.
        * vibration/navigator-vibration-expected.txt: Removed.
        * vibration/navigator-vibration.html: Removed.

2017-05-11  Dean Jackson  <dino@apple.com>

        WebGLRenderingContext should implement WebGLRenderingContextBase
        https://bugs.webkit.org/show_bug.cgi?id=171961
        <rdar://problem/32124920>

        Reviewed by Sam Weinig.

        New test to make sure constants from WebGLRenderingContextBase are
        visible on the WebGLRenderingContext prototype.

        Also, fix up some existing tests that were expecting to see
        instances of WebGLRenderingContextBase.

        * fast/canvas/webgl/constants-on-interface-expected.txt: Added.
        * fast/canvas/webgl/constants-on-interface.html: Added.
        * fast/canvas/webgl/gl-object-get-calls-expected.txt:
        * fast/canvas/webgl/null-object-behaviour-expected.txt:
        * fast/canvas/webgl/texImageTest-expected.txt:

2017-05-11  Matt Lewis  <jlewis3@apple.com>

        Fixed typo errors in TestExpectations.


        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-11  Matt Lewis  <jlewis3@apple.com>

        Fixed typo errors in TestExpectations.
        

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-11  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170699

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-11  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Implement ReadableStreamBYOBReader cancel()
        https://bugs.webkit.org/show_bug.cgi?id=171919

        Reviewed by Youenn Fablet.

        Added test cases to check cancel() behaviour.

        * streams/readable-stream-byob-reader-expected.txt: Updated.
        * streams/readable-stream-byob-reader.js: Updated.

2017-05-11  Matt Lewis  <jlewis3@apple.com>

        Marked media/media-controls-clone-crash.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171978

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Error trying to delete DOM breakpoints from the Debugger tab
        https://bugs.webkit.org/show_bug.cgi?id=171970
        <rdar://problem/32129262>

        Reviewed by Brian Burg.

        Add test for DOMDebuggerManager.prototype.removeDOMBreakpointsForNode.

        * inspector/dom-debugger/dom-breakpoints-expected.txt:
        * inspector/dom-debugger/dom-breakpoints.html:

2017-05-11  Per Arne Vollan  <pvollan@apple.com>

        LayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=167749

        Reviewed by Eric Carlson.

        Revert parts of r216588. The position of the 'canplaythrough' event in the event sequence
        is not always the same, causing flakiness. Stop listening to the 'canplaythrough' event,
        this was introduced in r216588.

        * http/tests/media/track-in-band-hls-metadata-crash-expected.txt:
        * http/tests/media/track-in-band-hls-metadata-crash.html:

2017-05-11  Mark Lam  <mark.lam@apple.com>

        WorkerThread::stop() should call scheduleExecutionTermination() last.
        https://bugs.webkit.org/show_bug.cgi?id=171775
        <rdar://problem/30975761>

        Reviewed by Geoffrey Garen.

        * TestExpectations:

2017-05-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of tests failing after r216450.

        * platform/gtk/TestExpectations:

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Marked fast/animation/request-animation-frame-time-unit.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171957

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-10  Andy Estes  <aestes@apple.com>

        REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
        https://bugs.webkit.org/show_bug.cgi?id=132297

        Reviewed by Simon Fraser.

        * http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
        * http/tests/navigation/resources/keyboard-events-test.js:
        (runTest):
        * platform/ios-wk2/TestExpectations:
        * platform/wk2/TestExpectations:

2017-05-09  Sam Weinig  <sam@webkit.org>

        Remove support for legacy Notifications
        https://bugs.webkit.org/show_bug.cgi?id=171487

        Reviewed by Jon Lee.

        - Remove fast/notifications/. It was skipped on all platforms and use legacy Notifications API.
        - Remove http/notifications/legacy. It tested the legacy API.
        - Update two tests in fast/history to use the non-legacy API to test page cache + notifications.
        - Update TestExpectations for removals.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * fast/history/page-cache-notification-non-suspendable.html:
        * fast/history/page-cache-notification-suspendable.html:
        * fast/notifications: Removed.
        * fast/notifications/notification-after-close-expected.txt: Removed.
        * fast/notifications/notification-after-close.html: Removed.
        * fast/notifications/notification-permisssion-deletable-expected.txt: Removed.
        * fast/notifications/notification-permisssion-deletable.html: Removed.
        * fast/notifications/notifications-cancel-request-permission-expected.txt: Removed.
        * fast/notifications/notifications-cancel-request-permission.html: Removed.
        * fast/notifications/notifications-check-permission-expected.txt: Removed.
        * fast/notifications/notifications-check-permission.html: Removed.
        * fast/notifications/notifications-click-event-expected.txt: Removed.
        * fast/notifications/notifications-click-event-focus-expected.txt: Removed.
        * fast/notifications/notifications-click-event-focus.html: Removed.
        * fast/notifications/notifications-click-event.html: Removed.
        * fast/notifications/notifications-constructor-request-permission-expected.txt: Removed.
        * fast/notifications/notifications-constructor-request-permission.html: Removed.
        * fast/notifications/notifications-constructor-with-permission-expected.txt: Removed.
        * fast/notifications/notifications-constructor-with-permission.html: Removed.
        * fast/notifications/notifications-constructor-without-permission-expected.txt: Removed.
        * fast/notifications/notifications-constructor-without-permission.html: Removed.
        * fast/notifications/notifications-display-close-events-expected.txt: Removed.
        * fast/notifications/notifications-display-close-events.html: Removed.
        * fast/notifications/notifications-document-close-crash-expected.txt: Removed.
        * fast/notifications/notifications-document-close-crash.html: Removed.
        * fast/notifications/notifications-event-stop-propagation-expected.txt: Removed.
        * fast/notifications/notifications-event-stop-propagation.html: Removed.
        * fast/notifications/notifications-multi-events-expected.txt: Removed.
        * fast/notifications/notifications-multi-events.html: Removed.
        * fast/notifications/notifications-no-icon-expected.txt: Removed.
        * fast/notifications/notifications-no-icon.html: Removed.
        * fast/notifications/notifications-permission-expected.txt: Removed.
        * fast/notifications/notifications-permission.html: Removed.
        * fast/notifications/notifications-replace-expected.txt: Removed.
        * fast/notifications/notifications-replace.html: Removed.
        * fast/notifications/notifications-request-permission-expected.txt: Removed.
        * fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
        * fast/notifications/notifications-request-permission-optional.html: Removed.
        * fast/notifications/notifications-request-permission.html: Removed.
        * fast/notifications/notifications-rtl-expected.txt: Removed.
        * fast/notifications/notifications-rtl.html: Removed.
        * fast/notifications/notifications-sandbox-permission-expected.txt: Removed.
        * fast/notifications/notifications-sandbox-permission.html: Removed.
        * fast/notifications/notifications-window-close-crash-expected.txt: Removed.
        * fast/notifications/notifications-window-close-crash.html: Removed.
        * fast/notifications/notifications-with-permission-expected.txt: Removed.
        * fast/notifications/notifications-with-permission.html: Removed.
        * fast/notifications/notifications-without-permission-expected.txt: Removed.
        * fast/notifications/notifications-without-permission.html: Removed.
        * fast/notifications/request-notification-permission-while-reloading-expected.txt: Removed.
        * fast/notifications/request-notification-permission-while-reloading.html: Removed.
        * fast/notifications/resources: Removed.
        * fast/notifications/resources/notifications-cancel-request-permission.html: Removed.
        * fast/notifications/resources/notifications-iframe.html: Removed.
        * http/tests/notifications/legacy: Removed.
        * http/tests/notifications/legacy/double-show-expected.txt: Removed.
        * http/tests/notifications/legacy/double-show.html: Removed.
        * http/tests/notifications/legacy/events-expected.txt: Removed.
        * http/tests/notifications/legacy/events.html: Removed.
        * http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Removed.
        * http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Removed.
        * http/tests/notifications/legacy/request-expected.txt: Removed.
        * http/tests/notifications/legacy/request-no-callback-expected.txt: Removed.
        * http/tests/notifications/legacy/request-no-callback.html: Removed.
        * http/tests/notifications/legacy/request.html: Removed.
        * http/tests/notifications/legacy/resources: Removed.
        * http/tests/notifications/legacy/resources/notify-opener-done.html: Removed.
        * http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Removed.
        * http/tests/notifications/legacy/show-expected.txt: Removed.
        * http/tests/notifications/legacy/show.html: Removed.
        * http/tests/notifications/legacy/window-show-on-click-expected.txt: Removed.
        * http/tests/notifications/legacy/window-show-on-click.html: Removed.

2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169876

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/protocol/inspector-backend-invocation-return-value.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=168146

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-05-10  Commit Queue  <commit-queue@webkit.org>

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

        "Some worker tests are failing". (Requested by mlam on #webkit).

        Reverted changeset:

        "WorkerThread::stop() should call
        scheduleExecutionTermination() last."
        https://bugs.webkit.org/show_bug.cgi?id=171775
        http://trac.webkit.org/changeset/216635

2017-05-10  Mark Lam  <mark.lam@apple.com>

        WorkerThread::stop() should call scheduleExecutionTermination() last.
        https://bugs.webkit.org/show_bug.cgi?id=171775
        <rdar://problem/30975761>

        Reviewed by Geoffrey Garen.

        * TestExpectations:

2017-05-10  Tim Horton  <timothy_horton@apple.com>

        Add an experimental feature flag for viewport-fit
        https://bugs.webkit.org/show_bug.cgi?id=171948
        <rdar://problem/31995518>

        Reviewed by Simon Fraser.

        * fast/css/variables/constants/ios/safe-area-inset-set-expected.html:
        * fast/css/variables/constants/ios/safe-area-inset-set.html:
        * fast/viewport/ios/viewport-fit-auto.html:
        * fast/viewport/ios/viewport-fit-contain.html:
        * fast/viewport/ios/viewport-fit-cover.html:

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Marked fast/hidpi/filters-and-image-buffer-resolution.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171951

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-10  Antti Koivisto  <antti@apple.com>

        REGRESSION (r207372) Visibility property is not inherited when used in an animation
        https://bugs.webkit.org/show_bug.cgi?id=171883
        <rdar://problem/32086550>

        Reviewed by Simon Fraser.

        * animations/animation-initial-inheritance-expected.html: Added.
        * animations/animation-initial-inheritance.html: Added.

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Marked transitions/extra-transition.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171947

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r216591.

        This change broke an internal build.

        Reverted changeset:

        "REGRESSION (r207372) Visibility property is not inherited
        when used in an animation"
        https://bugs.webkit.org/show_bug.cgi?id=171883
        http://trac.webkit.org/changeset/216591

2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, remove TestExpectation for a test that was removed in r216259.

        * platform/mac/TestExpectations:

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Marked perf/class-list-remove.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171945

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-10  Andy Estes  <aestes@apple.com>

        r216599 accidentally included two copies of the new layout test and expected result
        https://bugs.webkit.org/show_bug.cgi?id=171938

        Unreviewed.

        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html:

2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=171880

        Unreviewed test gardening.

        This test times out on ios-simulator because it relies on eventSender.keyDown.

        * platform/ios/TestExpectations:

2017-05-10  Timothy Horton  <timothy_horton@apple.com>

        Add an experimental feature flag for constant properties
        https://bugs.webkit.org/show_bug.cgi?id=171913
        <rdar://problem/31995518>

        Reviewed by Ryosuke Niwa.

        * fast/css/variables/constants/invalid-constant-name-fallback.html:
        * fast/css/variables/constants/ios/safe-area-inset-set.html:
        * fast/css/variables/constants/safe-area-inset-cannot-override.html:
        * fast/css/variables/constants/safe-area-inset-zero.html:

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Marked media/track/track-cue-rendering-on-resize.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171939

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All tests as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171937

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Marked tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171935

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-10  Andy Estes  <aestes@apple.com>

        Keyboard input suppression should extend to subframes
        https://bugs.webkit.org/show_bug.cgi?id=171880
        <rdar://problem/31201793>

        Reviewed by Ryosuke Niwa.

        * http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
        * http/tests/navigation/keyboard-events-during-provisional-navigation.html:
        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt: Copied from LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt.
        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html: Copied from LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation.html.
        * http/tests/navigation/resources/keyboard-events-after-navigation.html:
        * http/tests/navigation/resources/keyboard-events-test.js:
        (runTest):
        (waitForProvisionalNavigation.xhr.onreadystatechange):
        (waitForProvisionalNavigation):

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r216563.

        Revision caused 2 api failures

        Reverted changeset:

        "[MediaStream] deviceId constraint doesn't work with
        getUserMedia"
        https://bugs.webkit.org/show_bug.cgi?id=171877
        http://trac.webkit.org/changeset/216563

2017-05-10  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171930

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2017-05-10  Antti Koivisto  <antti@apple.com>

        REGRESSION (r207372) Visibility property is not inherited when used in an animation
        https://bugs.webkit.org/show_bug.cgi?id=171883
        <rdar://problem/32086550>

        Reviewed by Simon Fraser.

        * animations/animation-initial-inheritance-expected.html: Added.
        * animations/animation-initial-inheritance.html: Added.

2017-05-10  Per Arne Vollan  <pvollan@apple.com>

        LayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=167749

        Reviewed by Eric Carlson.

        This is a speculative fix of the test. I have not been able to reproduce the timeout.
        When the test times out, the 'addtrack' event is never received. In case the event
        was dispatched before we added the event listener, the event listener is added before
        the video source is set. In case the test will continue to time out, a couple of
        error event callbacks have been added to get more information. Also, video playback
        will begin when the 'canplaythrough' event is received.
 
        * http/tests/media/track-in-band-hls-metadata-crash-expected.txt:
        * http/tests/media/track-in-band-hls-metadata-crash.html:

2017-05-10  Commit Queue  <commit-queue@webkit.org>

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

        Broke the GTK+ build with Wayland enabled (Requested by KaL on
        #webkit).

        Reverted changeset:

        "[GTK] Bump GTK+ and its dependencies in jhbuild"
        https://bugs.webkit.org/show_bug.cgi?id=171918
        http://trac.webkit.org/changeset/216578

2017-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Bump GTK+ and its dependencies in jhbuild
        https://bugs.webkit.org/show_bug.cgi?id=171918

        Reviewed by Carlos Alberto Lopez Perez.

        Rebaseline tests for new GTK+ versin.

        * platform/gtk/css1/box_properties/acid_test-expected.txt:
        * platform/gtk/css2.1/20110323/replaced-elements-001-expected.png:
        * platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
        * platform/gtk/css2.1/t09-c5526c-display-00-e-expected.png:
        * platform/gtk/css2.1/t09-c5526c-display-00-e-expected.txt:
        * platform/gtk/css3/flexbox/button-expected.png:
        * platform/gtk/css3/flexbox/button-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-23-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-23-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-25-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-69-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-69-expected.txt:
        * platform/gtk/css3/selectors3/html/css3-modsel-70-expected.png:
        * platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.txt:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.png:
        * platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.txt:
        * platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.png:
        * platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt:
        * platform/gtk/editing/pasteboard/4641033-expected.png:
        * platform/gtk/editing/pasteboard/4641033-expected.txt:
        * platform/gtk/editing/pasteboard/4944770-1-expected.png:
        * platform/gtk/editing/pasteboard/4944770-1-expected.txt:
        * platform/gtk/editing/pasteboard/4944770-2-expected.png:
        * platform/gtk/editing/pasteboard/4944770-2-expected.txt:
        * platform/gtk/editing/selection/3690703-2-expected.png:
        * platform/gtk/editing/selection/3690703-2-expected.txt:
        * platform/gtk/editing/selection/3690703-expected.png:
        * platform/gtk/editing/selection/3690703-expected.txt:
        * platform/gtk/editing/selection/3690719-expected.png:
        * platform/gtk/editing/selection/3690719-expected.txt:
        * platform/gtk/editing/selection/4397952-expected.png:
        * platform/gtk/editing/selection/4397952-expected.txt:
        * platform/gtk/editing/selection/5240265-expected.png:
        * platform/gtk/editing/selection/5240265-expected.txt:
        * platform/gtk/editing/selection/caret-before-select-expected.png:
        * platform/gtk/editing/selection/caret-before-select-expected.txt:
        * platform/gtk/editing/selection/replaced-boundaries-3-expected.png:
        * platform/gtk/editing/selection/replaced-boundaries-3-expected.txt:
        * platform/gtk/editing/selection/select-box-expected.png:
        * platform/gtk/editing/selection/select-box-expected.txt:
        * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png:
        * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt:
        * platform/gtk/editing/selection/selection-button-text-expected.png:
        * platform/gtk/editing/selection/selection-button-text-expected.txt:
        * platform/gtk/fast/block/basic/011-expected.png:
        * platform/gtk/fast/block/basic/011-expected.txt:
        * platform/gtk/fast/block/float/float-avoidance-expected.png:
        * platform/gtk/fast/block/float/float-avoidance-expected.txt:
        * platform/gtk/fast/block/margin-collapse/103-expected.png:
        * platform/gtk/fast/block/margin-collapse/103-expected.txt:
        * platform/gtk/fast/block/positioning/inline-block-relposition-expected.png:
        * platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt:
        * platform/gtk/fast/box-sizing/percentage-height-expected.png:
        * platform/gtk/fast/box-sizing/percentage-height-expected.txt:
        * platform/gtk/fast/css/continuationCrash-expected.png:
        * platform/gtk/fast/css/continuationCrash-expected.txt:
        * platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.png:
        * platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:
        * platform/gtk/fast/css/input-search-padding-expected.png:
        * platform/gtk/fast/css/input-search-padding-expected.txt:
        * platform/gtk/fast/css/margin-top-bottom-dynamic-expected.png:
        * platform/gtk/fast/css/margin-top-bottom-dynamic-expected.txt:
        * platform/gtk/fast/css/non-standard-checkbox-size-expected.png:
        * platform/gtk/fast/css/non-standard-checkbox-size-expected.txt:
        * platform/gtk/fast/css/rtl-ordering-expected.png:
        * platform/gtk/fast/css/rtl-ordering-expected.txt:
        * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png:
        * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
        * platform/gtk/fast/css/text-overflow-input-expected.png:
        * platform/gtk/fast/css/text-overflow-input-expected.txt:
        * platform/gtk/fast/css/text-transform-select-expected.png:
        * platform/gtk/fast/css/text-transform-select-expected.txt:
        * platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.png:
        * platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.png:
        * platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.png:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.png:
        * platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.txt:
        * platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
        * platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
        * platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
        * platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/gtk/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
        * platform/gtk/fast/forms/001-expected.png:
        * platform/gtk/fast/forms/001-expected.txt:
        * platform/gtk/fast/forms/003-expected.png:
        * platform/gtk/fast/forms/003-expected.txt:
        * platform/gtk/fast/forms/004-expected.png:
        * platform/gtk/fast/forms/004-expected.txt:
        * platform/gtk/fast/forms/basic-buttons-expected.png:
        * platform/gtk/fast/forms/basic-buttons-expected.txt:
        * platform/gtk/fast/forms/basic-inputs-expected.png:
        * platform/gtk/fast/forms/basic-inputs-expected.txt:
        * platform/gtk/fast/forms/basic-selects-expected.png:
        * platform/gtk/fast/forms/basic-selects-expected.txt:
        * platform/gtk/fast/forms/blankbuttons-expected.png:
        * platform/gtk/fast/forms/blankbuttons-expected.txt:
        * platform/gtk/fast/forms/box-shadow-override-expected.png:
        * platform/gtk/fast/forms/box-shadow-override-expected.txt:
        * platform/gtk/fast/forms/button-align-expected.png:
        * platform/gtk/fast/forms/button-align-expected.txt:
        * platform/gtk/fast/forms/button-cannot-be-nested-expected.png:
        * platform/gtk/fast/forms/button-cannot-be-nested-expected.txt:
        * platform/gtk/fast/forms/button-default-title-expected.png:
        * platform/gtk/fast/forms/button-default-title-expected.txt:
        * platform/gtk/fast/forms/button-generated-content-expected.png:
        * platform/gtk/fast/forms/button-generated-content-expected.txt:
        * platform/gtk/fast/forms/button-inner-block-reuse-expected.png:
        * platform/gtk/fast/forms/button-inner-block-reuse-expected.txt:
        * platform/gtk/fast/forms/button-positioned-expected.png:
        * platform/gtk/fast/forms/button-positioned-expected.txt:
        * platform/gtk/fast/forms/button-sizes-expected.png:
        * platform/gtk/fast/forms/button-sizes-expected.txt:
        * platform/gtk/fast/forms/button-style-color-expected.png:
        * platform/gtk/fast/forms/button-style-color-expected.txt:
        * platform/gtk/fast/forms/button-table-styles-expected.png:
        * platform/gtk/fast/forms/button-table-styles-expected.txt:
        * platform/gtk/fast/forms/button-text-transform-expected.png:
        * platform/gtk/fast/forms/button-text-transform-expected.txt:
        * platform/gtk/fast/forms/button-white-space-expected.png:
        * platform/gtk/fast/forms/button-white-space-expected.txt:
        * platform/gtk/fast/forms/control-clip-expected.png:
        * platform/gtk/fast/forms/control-clip-expected.txt:
        * platform/gtk/fast/forms/control-clip-overflow-expected.png:
        * platform/gtk/fast/forms/control-clip-overflow-expected.txt:
        * platform/gtk/fast/forms/control-restrict-line-height-expected.png:
        * platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
        * platform/gtk/fast/forms/disabled-select-change-index-expected.png:
        * platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
        * platform/gtk/fast/forms/file/file-input-direction-expected.png:
        * platform/gtk/fast/forms/file/file-input-direction-expected.txt:
        * platform/gtk/fast/forms/file/file-input-disabled-expected.png:
        * platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
        * platform/gtk/fast/forms/form-element-geometry-expected.png:
        * platform/gtk/fast/forms/form-element-geometry-expected.txt:
        * platform/gtk/fast/forms/formmove-expected.png:
        * platform/gtk/fast/forms/formmove-expected.txt:
        * platform/gtk/fast/forms/formmove2-expected.png:
        * platform/gtk/fast/forms/formmove2-expected.txt:
        * platform/gtk/fast/forms/formmove3-expected.png:
        * platform/gtk/fast/forms/formmove3-expected.txt:
        * platform/gtk/fast/forms/indeterminate-expected.png:
        * platform/gtk/fast/forms/indeterminate-expected.txt:
        * platform/gtk/fast/forms/input-appearance-height-expected.png:
        * platform/gtk/fast/forms/input-appearance-height-expected.txt:
        * platform/gtk/fast/forms/input-button-sizes-expected.png:
        * platform/gtk/fast/forms/input-button-sizes-expected.txt:
        * platform/gtk/fast/forms/input-first-letter-expected.png:
        * platform/gtk/fast/forms/input-first-letter-expected.txt:
        * platform/gtk/fast/forms/input-number-click-expected.txt: Added.
        * platform/gtk/fast/forms/input-value-expected.png:
        * platform/gtk/fast/forms/input-value-expected.txt:
        * platform/gtk/fast/forms/menulist-deselect-update-expected.png:
        * platform/gtk/fast/forms/menulist-deselect-update-expected.txt:
        * platform/gtk/fast/forms/menulist-narrow-width-expected.png:
        * platform/gtk/fast/forms/menulist-narrow-width-expected.txt:
        * platform/gtk/fast/forms/menulist-no-overflow-expected.png:
        * platform/gtk/fast/forms/menulist-no-overflow-expected.txt:
        * platform/gtk/fast/forms/menulist-restrict-line-height-expected.png:
        * platform/gtk/fast/forms/menulist-restrict-line-height-expected.txt:
        * platform/gtk/fast/forms/menulist-separator-painting-expected.png:
        * platform/gtk/fast/forms/menulist-separator-painting-expected.txt:
        * platform/gtk/fast/forms/menulist-style-color-expected.png:
        * platform/gtk/fast/forms/menulist-style-color-expected.txt:
        * platform/gtk/fast/forms/menulist-width-change-expected.png:
        * platform/gtk/fast/forms/menulist-width-change-expected.txt:
        * platform/gtk/fast/forms/number/number-appearance-rtl-expected.png:
        * platform/gtk/fast/forms/number/number-appearance-rtl-expected.txt:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.png:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-layer-expected.png:
        * platform/gtk/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
        * platform/gtk/fast/forms/number/number-spinbutton-change-and-input-events-expected.txt: Added.
        * platform/gtk/fast/forms/number/number-spinbutton-click-in-iframe-expected.txt: Added.
        * platform/gtk/fast/forms/number/number-spinbutton-gets-disabled-or-readonly-expected.txt: Added.
        * platform/gtk/fast/forms/option-script-expected.png:
        * platform/gtk/fast/forms/option-script-expected.txt:
        * platform/gtk/fast/forms/option-strip-whitespace-expected.png:
        * platform/gtk/fast/forms/option-strip-whitespace-expected.txt:
        * platform/gtk/fast/forms/option-text-clip-expected.png:
        * platform/gtk/fast/forms/option-text-clip-expected.txt:
        * platform/gtk/fast/forms/placeholder-position-expected.png:
        * platform/gtk/fast/forms/placeholder-position-expected.txt:
        * platform/gtk/fast/forms/placeholder-pseudo-style-expected.png:
        * platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/gtk/fast/forms/range/input-appearance-range-expected.png:
        * platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
        * platform/gtk/fast/forms/range/slider-padding-expected.png:
        * platform/gtk/fast/forms/range/slider-padding-expected.txt:
        * platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.png:
        * platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
        * platform/gtk/fast/forms/range/slider-transformed-expected.txt:
        * platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.png:
        * platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.txt:
        * platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.png:
        * platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/gtk/fast/forms/search-display-none-cancel-button-expected.png:
        * platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/gtk/fast/forms/search-input-rtl-expected.png:
        * platform/gtk/fast/forms/search-input-rtl-expected.txt: Added.
        * platform/gtk/fast/forms/search-rtl-expected.png:
        * platform/gtk/fast/forms/search-rtl-expected.txt:
        * platform/gtk/fast/forms/search-styled-expected.png:
        * platform/gtk/fast/forms/search-styled-expected.txt:
        * platform/gtk/fast/forms/search/search-size-with-decorations-expected.png:
        * platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
        * platform/gtk/fast/forms/searchfield-heights-expected.png:
        * platform/gtk/fast/forms/searchfield-heights-expected.txt:
        * platform/gtk/fast/forms/select-align-expected.png:
        * platform/gtk/fast/forms/select-align-expected.txt:
        * platform/gtk/fast/forms/select-background-none-expected.png:
        * platform/gtk/fast/forms/select-background-none-expected.txt:
        * platform/gtk/fast/forms/select-baseline-expected.png:
        * platform/gtk/fast/forms/select-baseline-expected.txt:
        * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.png:
        * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.txt:
        * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.png:
        * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt:
        * platform/gtk/fast/forms/select-disabled-appearance-expected.png:
        * platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
        * platform/gtk/fast/forms/select-element-focus-ring-expected.png: Added.
        * platform/gtk/fast/forms/select-element-focus-ring-expected.txt:
        * platform/gtk/fast/forms/select-initial-position-expected.png:
        * platform/gtk/fast/forms/select-initial-position-expected.txt:
        * platform/gtk/fast/forms/select-non-native-rendering-direction-expected.png: Added.
        * platform/gtk/fast/forms/select-non-native-rendering-direction-expected.txt: Added.
        * platform/gtk/fast/forms/select-selected-expected.png:
        * platform/gtk/fast/forms/select-selected-expected.txt:
        * platform/gtk/fast/forms/select-style-expected.png:
        * platform/gtk/fast/forms/select-style-expected.txt:
        * platform/gtk/fast/forms/select-visual-hebrew-expected.png:
        * platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
        * platform/gtk/fast/forms/select-writing-direction-natural-expected.png:
        * platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/gtk/fast/forms/select/optgroup-rendering-expected.png:
        * platform/gtk/fast/forms/select/optgroup-rendering-expected.txt:
        * platform/gtk/fast/forms/selectlist-minsize-expected.png:
        * platform/gtk/fast/forms/selectlist-minsize-expected.txt:
        * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.png:
        * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.txt:
        * platform/gtk/fast/forms/targeted-frame-submission-expected.png:
        * platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
        * platform/gtk/fast/forms/validation-message-appearance-expected.png:
        * platform/gtk/fast/forms/validation-message-appearance-expected.txt:
        * platform/gtk/fast/html/details-replace-summary-child-expected.png:
        * platform/gtk/fast/html/details-replace-summary-child-expected.txt:
        * platform/gtk/fast/html/details-replace-text-expected.png:
        * platform/gtk/fast/html/details-replace-text-expected.txt:
        * platform/gtk/fast/html/keygen-expected.png:
        * platform/gtk/fast/html/keygen-expected.txt:
        * platform/gtk/fast/inline/positionedLifetime-expected.png:
        * platform/gtk/fast/inline/positionedLifetime-expected.txt:
        * platform/gtk/fast/invalid/014-expected.png:
        * platform/gtk/fast/invalid/014-expected.txt:
        * platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png:
        * platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
        * platform/gtk/fast/overflow/scrollRevealButton-expected.png:
        * platform/gtk/fast/overflow/scrollRevealButton-expected.txt:
        * platform/gtk/fast/parser/bad-xml-slash-expected.png:
        * platform/gtk/fast/parser/bad-xml-slash-expected.txt:
        * platform/gtk/fast/parser/document-write-option-expected.png:
        * platform/gtk/fast/parser/document-write-option-expected.txt:
        * platform/gtk/fast/repaint/search-field-cancel-expected.png:
        * platform/gtk/fast/repaint/search-field-cancel-expected.txt:
        * platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png:
        * platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
        * platform/gtk/fast/replaced/replaced-breaking-expected.png:
        * platform/gtk/fast/replaced/replaced-breaking-expected.txt:
        * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.png:
        * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.txt:
        * platform/gtk/fast/replaced/three-selects-break-expected.png:
        * platform/gtk/fast/replaced/three-selects-break-expected.txt:
        * platform/gtk/fast/replaced/width100percent-button-expected.png:
        * platform/gtk/fast/replaced/width100percent-button-expected.txt:
        * platform/gtk/fast/replaced/width100percent-menulist-expected.png:
        * platform/gtk/fast/replaced/width100percent-menulist-expected.txt:
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.png:
        * platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt: Added.
        * platform/gtk/fast/table/append-cells2-expected.png:
        * platform/gtk/fast/table/append-cells2-expected.txt:
        * platform/gtk/fast/table/remove-td-display-none-expected.png:
        * platform/gtk/fast/table/remove-td-display-none-expected.txt:
        * platform/gtk/fast/text/international/bidi-menulist-expected.png:
        * platform/gtk/fast/text/international/bidi-menulist-expected.txt:
        * platform/gtk/fast/text/international/hindi-spacing-expected.png:
        * platform/gtk/fast/text/international/hindi-spacing-expected.txt:
        * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
        * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
        * platform/gtk/fast/text/textIteratorNilRenderer-expected.png:
        * platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.png:
        * platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt:
        * platform/gtk/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/gtk/svg/custom/foreign-object-skew-expected.png:
        * platform/gtk/svg/custom/foreign-object-skew-expected.txt:
        * platform/gtk/svg/custom/inline-svg-in-xhtml-expected.png:
        * platform/gtk/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug1318-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug138725-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug138725-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug18359-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2479-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug26178-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug26178-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug28928-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug29326-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug29326-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug33855-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug33855-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug39209-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4382-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4382-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4429-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4429-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug44505-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug4527-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46368-1-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug46368-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug51037-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug51727-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug52505-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug52506-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug60749-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug60749-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug68912-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug68912-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug7342-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug92647-2-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug96334-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
        * platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
        * platform/gtk/tables/mozilla/core/margins-expected.png:
        * platform/gtk/tables/mozilla/core/margins-expected.txt:
        * platform/gtk/tables/mozilla/dom/tableDom-expected.png:
        * platform/gtk/tables/mozilla/dom/tableDom-expected.txt:
        * platform/gtk/tables/mozilla/other/move_row-expected.png:
        * platform/gtk/tables/mozilla/other/move_row-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.png:
        * platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt:
        * platform/gtk/transforms/2d/zoom-menulist-expected.png:
        * platform/gtk/transforms/2d/zoom-menulist-expected.txt:

2017-05-08  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Remove Blink-specific code for handling orthogonal grid items
        https://bugs.webkit.org/show_bug.cgi?id=171807

        Reviewed by Darin Adler.

        Updated the expectations. They should now be compatible with Firefox and Chrome.

        * fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html:
        * fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows.html:
        * fast/css-grid-layout/repeating-layout-must-produce-the-same-results.html:

2017-05-09  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] deviceId constraint doesn't work with getUserMedia
        https://bugs.webkit.org/show_bug.cgi?id=171877
        <rdar://problem/31899730>

        Reviewed by Jer Noble.

        * fast/mediastream/get-user-media-device-id-expected.txt: Added.
        * fast/mediastream/get-user-media-device-id.html: Added.

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Mark webrtc/libwebrtc/release-while-setting-local-description.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171899

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Mark webrtc/audio-replace-track.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171895

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-09  Sam Weinig  <sam@webkit.org>

        Implement Subresource Integrity (SRI)
        https://bugs.webkit.org/show_bug.cgi?id=148363
        <rdar://problem/18945879>

        Reviewed by Youenn Fablet.

        Add tests for Subresource Integrity for Fetch based off the ones from Web 
        Platform Tests. Additional tests for more CORS combinations have been added.

        * http/tests/subresource-integrity/resources/crossorigin-anon-resource.txt: Added.
        * http/tests/subresource-integrity/resources/crossorigin-creds-resource.txt: Added.
        * http/tests/subresource-integrity/resources/crossorigin-ineligible-resource.txt: Added.
        * http/tests/subresource-integrity/resources/resource.txt: Added.
        * http/tests/subresource-integrity/sri-fetch-expected.txt: Added.
        * http/tests/subresource-integrity/sri-fetch-worker-expected.txt: Added.
        * http/tests/subresource-integrity/sri-fetch-worker.html: Added.
        * http/tests/subresource-integrity/sri-fetch.html: Added.
        * http/tests/subresource-integrity/sri-fetch.js: Added.

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Marked webrtc/captureCanvas-webrtc.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170870

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-09  Commit Queue  <commit-queue@webkit.org>

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

        Caused a test failure (Requested by eric_carlson on #webkit).

        Reverted changeset:

        "[MediaStream] deviceId constraint doesn't work with
        getUserMedia"
        https://bugs.webkit.org/show_bug.cgi?id=171877
        http://trac.webkit.org/changeset/216545

2017-05-09  Zalan Bujtas  <zalan@apple.com>

        resetFlowThreadContainingBlockAndChildInfoIncludingDescendants should not ignore RenderElement subtrees.
        https://bugs.webkit.org/show_bug.cgi?id=171873
        <rdar://problem/32004954>

        Reviewed by Simon Fraser.

        * fast/multicol/crash-when-column-inside-table-expected.txt: Added.
        * fast/multicol/crash-when-column-inside-table.html: Added.

2017-05-09  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS Simulator] Flaky failure LayoutTest/webrtc/libwebrtc/release-while-setting-local-description.html
        https://bugs.webkit.org/show_bug.cgi?id=171742

        Reviewed by Youenn Fablet.

        Silence the console messages for unhandled rejections in this test.

        * webrtc/libwebrtc/release-while-setting-local-description-expected.txt:
        * webrtc/libwebrtc/release-while-setting-local-description.html:

2017-05-09  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] deviceId constraint doesn't work with getUserMedia
        https://bugs.webkit.org/show_bug.cgi?id=171877
        <rdar://problem/31899730>

        Reviewed by Jer Noble.

        * fast/mediastream/get-user-media-device-id-expected.txt: Added.
        * fast/mediastream/get-user-media-device-id.html: Added.

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Marked multiple test flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171886

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-05-09  Chris Dumez  <cdumez@apple.com>

        Introduce DocumentAndElementEventHandlers IDL interface
        https://bugs.webkit.org/show_bug.cgi?id=171879

        Reviewed by Simon Fraser and Ryosuke Niwa.

        * fast/events/DocumentAndElementEventHandlers-expected.txt: Added.
        * fast/events/DocumentAndElementEventHandlers.html: Added.
        Add layout test coverage.

        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        Rebaseline now that those event handlers are enumerable.

2017-05-10  Dean Jackson  <dino@apple.com>

        Restrict SVG filters to accessible security origins
        https://bugs.webkit.org/show_bug.cgi?id=118689
        <rdar://problem/27362159>

        Reviewed by Brent Fulgham.

        Add a test that shows safe frames, unsafe frames, and
        then a safe frame that itself has an unsafe frame, to
        show that the security requirements are being forwarded
        down the tree.

        * http/tests/css/filters-on-iframes-expected.html: Added.
        * http/tests/css/filters-on-iframes.html: Added.
        * http/tests/css/resources/blank.html: Added.
        * http/tests/css/resources/references-external.html: Added.
        * http/tests/css/resources/solid-red.html: Added.

2017-05-09  Chris Dumez  <cdumez@apple.com>

        Move onanimation* EventHandlers to GlobalEventHandlers
        https://bugs.webkit.org/show_bug.cgi?id=171874

        Reviewed by Simon Fraser.

        * fast/css/onanimation-eventhandlers-expected.txt: Added.
        * fast/css/onanimation-eventhandlers.html: Added.
        Add layout test coverage.

        * fast/dom/event-handler-attributes-expected.txt:
        * fast/dom/event-handler-attributes.html:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        Rebaseline existing tests to reflect behavior change.

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Fixed a typo in expectations file.
        https://bugs.webkit.org/show_bug.cgi?id=162710

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-09  Javier Fernandez  <jfernandez@igalia.com>

        space-evenly misbehaves with flexbox
        https://bugs.webkit.org/show_bug.cgi?id=170445

        Reviewed by David Hyatt.

        Added test cases for the 'space-evenly' value for align-content and justify-content.

        * css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line-expected.txt:
        * css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line.html:
        * css3/flexbox/css-properties-expected.txt:
        * css3/flexbox/css-properties.html:
        * css3/flexbox/flex-justify-content-expected.txt:
        * css3/flexbox/flex-justify-content.html:
        * css3/flexbox/multiline-align-content-expected.txt:
        * css3/flexbox/multiline-align-content-horizontal-column-expected.txt:
        * css3/flexbox/multiline-align-content-horizontal-column.html:
        * css3/flexbox/multiline-align-content.html:
        * css3/flexbox/resources/flexbox.css:
        (.align-content-space-around):
        (.justify-content-space-around):
        * css3/flexbox/true-centering-expected.txt:
        * css3/flexbox/true-centering.html:

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r216508.

        The layout test enabled in this change is failing on Sierra.

        Reverted changeset:

        "Invalid MediaSource duration value should throw TyperError
        instead of InvalidStateError"
        https://bugs.webkit.org/show_bug.cgi?id=171653
        http://trac.webkit.org/changeset/216508

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Marked media/element-containing-pip-video-going-into-fullscreen.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=162710

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-09  Myles C. Maxfield  <mmaxfield@apple.com>

        font-stretch: normal selects expanded fonts instead of condensed fonts
        https://bugs.webkit.org/show_bug.cgi?id=171838
        <rdar://problem/31005481>

        Reviewed by Jon Lee.

        * fast/text/font-width-100-expected.html: Added.
        * fast/text/font-width-100.html: Added.

2017-05-09  Matt Lewis  <jlewis3@apple.com>

        Mark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171862

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-09  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Enable creation of ReadableStreamBYOBReader
        https://bugs.webkit.org/show_bug.cgi?id=171665

        Reviewed by Youenn Fablet.
        
        Added test to check the creation of ReadableStreamBYOBReader. Also check
        that created object has the right methods and properties.

        * streams/readable-stream-byob-reader-expected.txt: Added.
        * streams/readable-stream-byob-reader.html: Added.
        * streams/readable-stream-byob-reader.js: Added.

2017-05-09  Frederic Wang  <fwang@igalia.com>

        Print more properties in the output of scrolling trees
        https://bugs.webkit.org/show_bug.cgi?id=171858

        Reviewed by Simon Fraser.

        Update text expectations to include new properties.

        * fast/scrolling/ios/remove-scrolling-role-expected.txt:
        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt:
        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt:
        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt:
        * tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt:
        * tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt:
        * tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt:
        * tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt:
        * tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt:
        * tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
        * tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt:
        * tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt:
        * tiled-drawing/scrolling/fixed/nested-fixed-expected.txt:
        * tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt:
        * tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
        * tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt:
        * tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt:
        * tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt:
        * tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt:
        * tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt:
        * tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt:
        * tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt:

2017-05-09  Chris Dumez  <cdumez@apple.com>

        ontransitionend eventHandler should be in GlobalEventHandlers
        https://bugs.webkit.org/show_bug.cgi?id=171836

        Reviewed by Ryosuke Niwa.

        * fast/css/ontransitionend-eventhandler-expected.txt: Added.
        * fast/css/ontransitionend-eventhandler.html: Added.
        Add layout test coverage.

        * fast/dom/event-handler-attributes-expected.txt:
        * fast/dom/event-handler-attributes.html:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        Rebaseline existing tests to reflect behavior change.

2017-05-09  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>

        Invalid MediaSource duration value should throw TyperError instead of InvalidStateError
        https://bugs.webkit.org/show_bug.cgi?id=171653

        Reviewed by Youenn Fablet.

        Modify MediaSource::setDuration to throw a TypeError when duration value is invalid as per MSE specification
        (https://www.w3.org/TR/2016/REC-media-source-20161117/#dom-mediasource-duration).

        Update expectation of corresponding WPT test.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
        * platform/mac/TestExpectations:
        * platform/mac/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.

2017-05-09  Yusuke Suzuki  <utatane.tea@gmail.com>

        Handle IDLPromise<> properly
        https://bugs.webkit.org/show_bug.cgi?id=166752

        Reviewed by Youenn Fablet.

        * js/dom/promise-rejection-event-should-follow-webidl-promise-conversion-rule-expected.txt: Added.
        * js/dom/promise-rejection-event-should-follow-webidl-promise-conversion-rule.html: Added.

2017-05-09  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed. Landing the WPE layout test baselines.

        Baseline filenames are omitted for brevity.

        * platform/wpe/TestExpectations: Added.
        * platform/wpe/animations/: Added.
        * platform/wpe/css1/: Added.
        * platform/wpe/css2.1/: Added.
        * platform/wpe/css3/: Added.
        * platform/wpe/fast/: Added.
        * platform/wpe/ietestcenter/: Added.
        * platform/wpe/js/: Added.
        * platform/wpe/scrollbars/: Added.
        * platform/wpe/security/: Added.
        * platform/wpe/sputnik/: Added.
        * platform/wpe/tables/: Added.
        * platform/wpe/transforms/: Added.
        * platform/wpe/transitions/: Added.

2017-05-08  Frederic Wang  <fwang@igalia.com>

        Simplify ScrollingStateNode::scrollingStateTreeAsText
        https://bugs.webkit.org/show_bug.cgi?id=171802

        Reviewed by Simon Fraser.

        Update references due to minor format changes in text ouput of scrolling state trees.

        * fast/scrolling/ios/remove-scrolling-role-expected.txt:
        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt:
        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt:
        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt:
        * tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt:
        * tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt:
        * tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt:
        * tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt:
        * tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt:
        * tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt:
        * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
        * tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt:
        * tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt:
        * tiled-drawing/scrolling/fixed/nested-fixed-expected.txt:
        * tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
        * tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt:
        * tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
        * tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt:
        * tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt:
        * tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt:
        * tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt:
        * tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt:
        * tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt:
        * tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt:

2017-05-08  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK expectations gardening

        * platform/gtk/TestExpectations:
        * webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav:

2017-05-08  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/security/storage-blocking-loosened-plugin.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=171837

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-08  Chris Dumez  <cdumez@apple.com>

        Move offsetParent / offsetLeft / offsetTop / offsetWidth / offsetHeight from Element to HTMLElement
        https://bugs.webkit.org/show_bug.cgi?id=171829

        Reviewed by Simon Fraser.

        * fast/css/htmlelement-offset-properties-expected.txt:
        * fast/css/htmlelement-offset-properties.html:
        Add layout test coverage.

        * editing/pasteboard/drag-link-with-data-transfer-adds-trusted-link-to-pasteboard.html:
        * fast/css-grid-layout/grid-item-display.html:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        * mathml/presentation/menclose-notation-no-overlap-expected.txt:
        * mathml/presentation/menclose-notation-no-overlap.html:
        * platform/mac/inspector/model/remote-object-expected.txt:
        * svg/dynamic-updates/resources/SVGTestCase.js:
        (clickAt):
        * svg/text/inline-text-destroy-attributes-crash.xhtml:
        Use getClientBoundingRect() instead of offset* properties for non-HTML elements.

2017-05-08  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/XMLHttpRequest/timeout-multiple-fetches.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169637

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-08  Jonathan Bedard  <jbedard@apple.com>

        Implement PlatformWebView::windowSnapshotImage and createBitmapContextFromWebView for iOS devices
        https://bugs.webkit.org/show_bug.cgi?id=169421
        <rdar://problem/30950171>

        Reviewed by Tim Horton.

        * platform/ios-device/TestExpectations: Mark compositing tests as failures, this
        is due to a bug tracked in https://bugs.webkit.org/show_bug.cgi?id=170772.

2017-05-08  Chris Dumez  <cdumez@apple.com>

        Drop non-standard document.implementation.createCSSStyleSheet() API
        https://bugs.webkit.org/show_bug.cgi?id=171825

        Reviewed by Simon Fraser.

        * fast/css/DOMImplementation.createCSSStyleSheet-obsolete-expected.txt:
        * fast/css/DOMImplementation.createCSSStyleSheet-obsolete.html:
        Add layout test coverage.

        * fast/dom/StyleSheet/gc-parent-rule-expected.txt:
        * fast/dom/StyleSheet/gc-parent-rule.html:
        * fast/dom/StyleSheet/gc-parent-stylesheet-expected.txt:
        * fast/dom/StyleSheet/gc-parent-stylesheet.html:
        Add utility functions to construct a CSSStyleSheet object and use it instead
        of document.implementation.createCSSStyleSheet().

2017-05-08  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: don't expose empty roledescription
        https://bugs.webkit.org/show_bug.cgi?id=163647

        Reviewed by Chris Fleizach.

        * accessibility/aria-roledescription-expected.txt: New test cases, updated expectations.
        * accessibility/aria-roledescription.html: New test cases, updated expectations.
        * platform/gtk/accessibility/aria-roledescription-expected.txt: New test cases, updated expectations.

2017-05-08  Chris Dumez  <cdumez@apple.com>

        Drop non-standard Element.scrollByLines() / scrollByPages()
        https://bugs.webkit.org/show_bug.cgi?id=171820

        Reviewed by Simon Fraser.

        * LayoutTests/fast/css/element-scrollByLines-scrollByPages-obsolete-expected.txt:
        * LayoutTests/fast/css/element-scrollByLines-scrollByPages-obsolete.html:
        Add layout test coverage.

        * fast/dom/non-numeric-values-numeric-parameters-expected.txt:
        * fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
        * fast/events/scroll-event-does-not-bubble.html:
        * fast/layers/scroll-overflow-no-layer-expected.txt: Renamed from LayoutTests/fast/layers/scrollByLines-overflow-no-layer-expected.txt.
        * fast/layers/scroll-overflow-no-layer.html: Renamed from LayoutTests/fast/layers/scrollByLines-overflow-no-layer.html.
        Update existing tests to stop relying on the API.

2017-05-08  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/websocket/tests/hybi/workers/close.html is flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171830

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/status-label/status-label-font.html as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=171828

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-08  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Setting aria-orientation="horizontal" on a listbox is being overridden on the Mac
        https://bugs.webkit.org/show_bug.cgi?id=171821

        Reviewed by Chris Fleizach.

        * accessibility/aria-orientation-expected.txt: New test case.
        * accessibility/aria-orientation.html: New test case.

2017-05-08  Said Abou-Hallawa  <sabouhallawa@apple.com>

        [CG] To decode an image frame asynchronously, pass the native size of the image to CGImageSourceCreateThumbnailAtIndex() if it's smaller than the sizeForDrawing
        https://bugs.webkit.org/show_bug.cgi?id=170864

        Reviewed by Simon Fraser.

        * fast/images/async-image-background-image-repeated-expected.html:
        * fast/images/async-image-background-image-repeated.html:
        * fast/images/resources/sprite-sheet-red-green-blue.png:
        * fast/images/sprite-sheet-image-draw-expected.html:
        * fast/images/sprite-sheet-image-draw.html:
        Change the sprite image to be 200x33100 instead of 200x2100 and use it in drawing.
        If the maxPixelSize is not passed to CGImageSourceCreateThumbnailAtIndex(), the
        decoded farme of this image will be 30x5000 pixels (15% of the original size).

2017-05-08  Beth Dakin  <bdakin@apple.com>

        WebKit should default to using sRGB with NSColor conversion instead of device 
        color space
        https://bugs.webkit.org/show_bug.cgi?id=171745
        -and corresponding-
        rdar://problem/28314183

        Reviewed by Tim Horton.

        * editing/mac/attributed-string/anchor-element-expected.txt:
        * editing/mac/attributed-string/basic-expected.txt:
        * editing/mac/attributed-string/comment-cdata-section-expected.txt:
        * editing/mac/attributed-string/font-size-expected.txt:
        * editing/mac/attributed-string/font-style-variant-effect-expected.txt:
        * editing/mac/attributed-string/font-weight-expected.txt:
        * editing/mac/attributed-string/letter-spacing-expected.txt:
        * editing/mac/attributed-string/text-decorations-expected.txt:
        * editing/mac/attributed-string/vertical-align-expected.txt:

2017-05-04  Jiewen Tan  <jiewen_tan@apple.com>

        Search events should not fire synchronously for search type input elements with incremental attribute set
        https://bugs.webkit.org/show_bug.cgi?id=171376
        <rdar://problem/31863296>

        Reviewed by Chris Dumez.

        * fast/forms/search/search-incremental-crash-expected.txt: Added.
        * fast/forms/search/search-incremental-crash.html: Added.

2017-05-08  Zalan Bujtas  <zalan@apple.com>

        Text overlaps on http://www.duden.de/rechtschreibung/Acre
        https://bugs.webkit.org/show_bug.cgi?id=171796
        <rdar://problem/31036028>

        Reviewed by Simon Fraser.

        * fast/text/simple-line-layout-fallback-space-glyph-expected.html: Added.
        * fast/text/simple-line-layout-fallback-space-glyph.html: Added.

2017-05-08  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, rolling out r216419.

        Broke 70 layout tests on GTK bot

        Reverted changeset:

        "Ensure clean tree before AX cache update."
        https://bugs.webkit.org/show_bug.cgi?id=171546
        http://trac.webkit.org/changeset/216419

2017-05-08  Antti Koivisto  <antti@apple.com>

        ComposedTreeIterator does not traverse all slotted children if the traversal root is a slot element.
        https://bugs.webkit.org/show_bug.cgi?id=171375
        <rdar://problem/31863184>

        Reviewed by Zalan Bujtas.

        * fast/html/details-flow-thread-expected.txt: Added.
        * fast/html/details-flow-thread.html: Added.
        * fast/shadow-dom/composed-tree-slots-expected.txt:
        * fast/shadow-dom/composed-tree-slots.html:

            Expand the test so it also prints out slot subtrees using slots as traversal roots.

2017-05-08  Chris Dumez  <cdumez@apple.com>

        Move 'style' from Element to HTMLElement / SVGElement and make it settable
        https://bugs.webkit.org/show_bug.cgi?id=171795

        Reviewed by Alex Christensen.

        * accessibility/roles-exposed.html:
        Add null check for element.style.

        * fast/css/Element-style-expected.txt: Added.
        * fast/css/Element-style.html: Added.
        Add layout test coverage.

        * fast/forms/input-width-height-attributes-without-renderer-loaded-image-expected.txt:
        Rebaseline test that was setting HTMLElement.style which was a no-op until this patch. Now that it actually
        does something, the input element actually looses its renderer. This found a bug which I fixed in this
        patch.

        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        Rebaseline as property enumeration order has changed.

2017-05-08  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Propagate aria-readonly to grid descendants
        https://bugs.webkit.org/show_bug.cgi?id=171189

        Reviewed by Chris Fleizach.

        Add new test cases to aria-readonly.html. In addition, because the platform-specific
        test expectations seem due to how platforms treat whitespace from the test file, hide
        the test cases after the test is run so that there are no extraneous characters and
        a single expectations file can be shared.

        * accessibility/aria-readonly-expected.txt: Updated.
        * accessibility/aria-readonly.html: Updated.
        * accessibility/gtk/aria-readonly-propagated-expected.txt: Added.
        * accessibility/gtk/aria-readonly-propagated.html: Added.
        * platform/mac-elcapitan/accessibility/aria-readonly-expected.txt: Removed.
        * platform/mac/accessibility/aria-readonly-expected.txt: Removed.
        * platform/win/accessibility/aria-readonly-expected.txt: Removed.

2017-05-06  Zalan Bujtas  <zalan@apple.com>

        Ensure clean tree before AX cache update.
        https://bugs.webkit.org/show_bug.cgi?id=171546
        <rdar://problem/31934942>

        Reviewed by Chris Fleizach.

        * accessibility/crash-when-render-tree-is-not-clean.html: Added.

2017-05-08  Myles C. Maxfield  <mmaxfield@apple.com>

        Unprefix unicode-bidi CSS values
        https://bugs.webkit.org/show_bug.cgi?id=171761

        Reviewed by Simon Fraser.

        Import W3C's internationalization tests from
        https://www.w3.org/International/tests/repo/results/writing-modes-bidi

        * fast/css/default-bidi-css-rules-expected.txt: Updating expected results.
        * fast/css/default-bidi-css-rules.html: Ditto.
        * fast/css/unicode-bidi-computed-value-expected.txt: Ditto.
        * fast/css/unicode-bidi-computed-value.html: Ditto.
        * fast/text/bidi-unprefix-expected.txt: Added. Test unprefixing.
        * fast/text/bidi-unprefix.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-002-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-002.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-003-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-003.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-004-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-004.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-005-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-005.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-006-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-006.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-007-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-007.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-008-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-008.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-009-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-009.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-010-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-010.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-011-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-embed-011.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-002-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-002.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-003-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-003.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-004-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-004.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-005-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-005.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-006-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-006.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-007-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-007.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-008-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-008.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-009-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-009.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-010-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-010.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-011-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-011.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-002-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-002.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-003-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-003.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-004-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-004.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-005-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-005.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-006-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-006.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-007-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-007.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-008-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-008.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-009-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-009.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-010-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-010.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-011-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-011.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-012-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-isolate-override-012.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-002-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-002.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-003-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-003.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-004-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-004.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-005-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-005.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-006-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-006.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-007-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-007.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-008-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-008.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-009-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-009.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-010-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-010.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-011-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-normal-011.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-002-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-002.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-003-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-003.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-004-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-004.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-005-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-005.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-006-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-006.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-007-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-007.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-008-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-008.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-009-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-009.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-010-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-010.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-011-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-011.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-012-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-override-012.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-003-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-003.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-005-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-005.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-006-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-006.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-007-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-007.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-008-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-008.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-009-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-009.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-010-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-010.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-011-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-plaintext-011.html: Added.
        * imported/w3c/i18n/bidi/bidi-table-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-table-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-001-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-001.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-002-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-002.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-003-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-003.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-004-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-004.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-005-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-005.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-006-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-006.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-007-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-007.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-008-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-008.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-009-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-009.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-010-expected.html: Added.
        * imported/w3c/i18n/bidi/bidi-unset-010.html: Added.
        * imported/w3c/i18n/bidi/block-embed-001-expected.html: Added.
        * imported/w3c/i18n/bidi/block-embed-001.html: Added.
        * imported/w3c/i18n/bidi/block-embed-002-expected.html: Added.
        * imported/w3c/i18n/bidi/block-embed-002.html: Added.
        * imported/w3c/i18n/bidi/block-embed-003-expected.html: Added.
        * imported/w3c/i18n/bidi/block-embed-003.html: Added.
        * imported/w3c/i18n/bidi/block-override-001-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-001.html: Added.
        * imported/w3c/i18n/bidi/block-override-002-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-002.html: Added.
        * imported/w3c/i18n/bidi/block-override-003-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-003.html: Added.
        * imported/w3c/i18n/bidi/block-override-004-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-004.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-001-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-001.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-002-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-002.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-003-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-003.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-004-expected.html: Added.
        * imported/w3c/i18n/bidi/block-override-isolate-004.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-001-expected.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-001.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-002-expected.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-002.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-003-expected.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-003.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-004-expected.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-004.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-005-expected.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-005.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-006-expected.html: Added.
        * imported/w3c/i18n/bidi/block-plaintext-006.html: Added.
        * imported/w3c/i18n/bidi/resources/sileot-webfont.woff: Added.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests.

        * platform/gtk/TestExpectations:

2017-05-07  Simon Fraser  <simon.fraser@apple.com>

        [iOS] REGRESSION (r209409): getBoundingClientRect is wrong for fixed-position elements in resize/orientationchange
        https://bugs.webkit.org/show_bug.cgi?id=171140

        Reviewed by Sam Weinig.

        Tests that fetch the dimensions of a fixed element in resize and orientationchange handlers,
        which is a proxy for reading the layout viewport.

        * fast/events/ios/rotation/layout-viewport-during-rotation-expected.txt: Added.
        * fast/events/ios/rotation/layout-viewport-during-rotation.html: Added.
        * fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt: Added.
        * fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html: Added.
        * fast/events/ios/rotation/resources/rotation-utils.js: Added.
        (stringFromRect):
        (accumulateLog):
        (logFixedObject):
        (logFixedAndViewports):
        (doTest):

2017-05-07  Youenn Fablet  <youenn@apple.com>

        [MediaStream] r216197 caused some webrtc tests to fail
        https://bugs.webkit.org/show_bug.cgi?id=171728

        Reviewed by Eric Carlson.

        * platform/ios-wk2/TestExpectations:

2017-05-07  Sam Weinig  <sam@webkit.org>

        Implement Subresource Integrity (SRI)
        https://bugs.webkit.org/show_bug.cgi?id=148363
        <rdar://problem/18945879>

        Reviewed by Daniel Bates.

        Add tests for Subresource Integrity based off the ones from Web 
        Platform Tests. They have been changed to:
        - Split <link> and <script> testing.
        - Add additional tests:
            - Integrity hashes using base64URL encoding.
            - Integrity hashes using mixed base64 and base64URL encoding.
            - Integrity metadata that does not conform to the grammar at all.
            - Multiple valid, but only one matching, integrity hashes.
            - Non-matching integrity hash with options.
        - Run one at a time, so console output is consistent.
        
        We can/should upstream these changes, but this avoids the possibility that
        an update of the imported web-platform-tests could cause these tests to fail.
        
        Also adds tests that show the Subresource Integrity setting works correctly.

        * http/tests/subresource-integrity: Added.
        * http/tests/subresource-integrity/.htaccess: Added.
        * http/tests/subresource-integrity/resources: Added.
        * http/tests/subresource-integrity/resources/alternate.css: Added.
        * http/tests/subresource-integrity/resources/crossorigin-anon-script.js: Added.
        * http/tests/subresource-integrity/resources/crossorigin-anon-style.css: Added.
        * http/tests/subresource-integrity/resources/crossorigin-creds-script.js: Added.
        * http/tests/subresource-integrity/resources/crossorigin-creds-style.css: Added.
        * http/tests/subresource-integrity/resources/crossorigin-ineligible-script.js: Added.
        * http/tests/subresource-integrity/resources/crossorigin-ineligible-style.css: Added.
        * http/tests/subresource-integrity/resources/matching-digest.js: Added.
        * http/tests/subresource-integrity/resources/non-matching-digest.js: Added.
        * http/tests/subresource-integrity/resources/sri-utilities.js: Added.
        * http/tests/subresource-integrity/resources/style.css: Added.
        * http/tests/subresource-integrity/sri-disabled-with-setting-expected.txt: Added.
        * http/tests/subresource-integrity/sri-disabled-with-setting.html: Added.
        * http/tests/subresource-integrity/sri-enabled-with-setting-expected.txt: Added.
        * http/tests/subresource-integrity/sri-enabled-with-setting.html: Added.
        * http/tests/subresource-integrity/sri-script-expected.txt: Added.
        * http/tests/subresource-integrity/sri-script.html: Added.
        * http/tests/subresource-integrity/sri-style-expected.txt: Added.
        * http/tests/subresource-integrity/sri-style.html: Added.

2017-05-06  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] CTFontDescriptorCreateMatchingFontDescriptor() is not case insensitive
        https://bugs.webkit.org/show_bug.cgi?id=171636
        <rdar://problem/30811218>

        Reviewed by Dean Jackson.

        * fast/text/lastResort-expected.html: Added.
        * fast/text/lastResort.html: Added.

2017-05-06  Chris Dumez  <cdumez@apple.com>

        Implement the concept of cookie-averse document
        https://bugs.webkit.org/show_bug.cgi?id=171746
        <rdar://problem/32004466>

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fast/cookies/cookie-averse-document-expected.txt: Added.
        * fast/cookies/cookie-averse-document.html: Added.

2017-05-06  Chris Dumez  <cdumez@apple.com>

        Align our IDL files with the latest DOM specification
        https://bugs.webkit.org/show_bug.cgi?id=171777

        Reviewed by Sam Weinig.

        Rebaseline a few tests.

        * fast/dom/Document/adoptNode-null-expected.txt:
        * fast/dom/Document/adoptNode-null.html:
        * fast/dom/Document/importNode-null-expected.txt:
        * fast/dom/Document/importNode-null.html:
        * fast/dom/Range/range-intersectsNode-expected.txt:
        * fast/text/text-combine-crash-expected.txt:

2017-05-06  Alexey Proskuryakov  <ap@apple.com>

        Mark http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=171785

        * platform/wk2/TestExpectations:

2017-05-06  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r216294): The new test fails on WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=171780

        Rolling back https://trac.webkit.org/r216294, https://trac.webkit.org/r216296,
        https://trac.webkit.org/216299, https://trac.webkit.org/216330

        * http/tests/css/filters-on-iframes-expected.html: Removed.
        * http/tests/css/filters-on-iframes.html: Removed.
        * http/tests/css/resources/blank.html: Removed.
        * http/tests/css/resources/references-external.html: Removed.
        * http/tests/css/resources/solid-red.html: Removed.

2017-05-06  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Make rotation tests more reliable
        https://bugs.webkit.org/show_bug.cgi?id=171778

        Reviewed by Tim Horton.

        New baseline.

        * fast/events/ios/rotation/zz-no-rotation-expected.txt:
        * fast/events/ios/rotation/zz-no-rotation.html:

2017-05-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r216333.

        Caused layout test failures

        Reverted changeset:

        "Implement the concept of cookie-averse document"
        https://bugs.webkit.org/show_bug.cgi?id=171746
        http://trac.webkit.org/changeset/216333

2017-05-06  Chris Dumez  <cdumez@apple.com>

        Implement the concept of cookie-averse document
        https://bugs.webkit.org/show_bug.cgi?id=171746
        <rdar://problem/32004466>

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fast/cookies/cookie-averse-document-expected.txt: Added.
        * fast/cookies/cookie-averse-document.html: Added.

2017-05-06  Myles C. Maxfield  <mmaxfield@apple.com>

        REGERSSION(r213499): Emoji with Fitzpatrick modifiers are drawn as two separate glyphs
        https://bugs.webkit.org/show_bug.cgi?id=171750
        <rdar://problem/31122612>

        Reviewed by Zalan Bujtas.

        * fast/text/fitzpatrick-combination-expected.html: Added.
        * fast/text/fitzpatrick-combination.html: Added.

2017-05-05  Zalan Bujtas  <zalan@apple.com>

        Renderers being destroyed should not be added to AX's deferred list.
        https://bugs.webkit.org/show_bug.cgi?id=171768
        <rdar://problem/31955660>

        Reviewed by Simon Fraser.

        * accessibility/crash-when-renderers-are-added-back-to-deferred-list-expected.txt: Added.
        * accessibility/crash-when-renderers-are-added-back-to-deferred-list.html: Added.

2017-05-05  Matt Lewis  <jlewis3@apple.com>

        Mark compositing/tiling/non-active-window-tiles-size.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=171763

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-05  Oliver Hunt  <oliver@apple.com>

        Move trivial String prototype functions to JS builtins
        https://bugs.webkit.org/show_bug.cgi?id=171737

        Reviewed by Saam Barati.

        Updated output

        * js/dom/string-anchor-expected.txt:
        * js/dom/string-anchor.html:
        * js/dom/string-fontcolor-expected.txt:
        * js/dom/string-fontcolor.html:
        * js/dom/string-fontsize-expected.txt:
        * js/dom/string-fontsize.html:
        * js/dom/string-link-expected.txt:
        * js/dom/string-link.html:

2017-05-05  Dean Jackson  <dino@apple.com>

        Restrict SVG filters to accessible security origins
        https://bugs.webkit.org/show_bug.cgi?id=118689
        <rdar://problem/27362159>

        Reviewed by Brent Fulgham.

        Add a test that shows safe frames, unsafe frames, and
        then a safe frame that itself has an unsafe frame, to
        show that the security requirements are being forwarded
        down the tree.

        * http/tests/css/filters-on-iframes-expected.html: Added.
        * http/tests/css/filters-on-iframes.html: Added.
        * http/tests/css/resources/blank.html: Added.
        * http/tests/css/resources/references-external.html: Added.
        * http/tests/css/resources/solid-red.html: Added.

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

        Make it possible to test rotation in iOS WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=171755

        Reviewed by Tim Horton.

        Two rotation tests and one that comes last to ensure that the device was not left in a rotated state.

        * fast/events/ios/rotation/basic-rotation-expected.txt: Added.
        * fast/events/ios/rotation/basic-rotation.html: Added.
        * fast/events/ios/rotation/safari-like-rotation-expected.txt: Added.
        * fast/events/ios/rotation/safari-like-rotation.html: Added.
        * fast/events/ios/rotation/zz-no-rotation-expected.txt: Added.
        * fast/events/ios/rotation/zz-no-rotation.html: Added.

2017-05-05  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171756

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2017-05-05  Matt Lewis  <jlewis3@apple.com>

        Mark test http/tests/security/module-correct-mime-types.html slow.
        https://bugs.webkit.org/show_bug.cgi?id=164960

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-05  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r216275.

        This change broke internal builds.

        Reverted changeset:

        "[Cocoa] CTFontDescriptorCreateMatchingFontDescriptor() is not
        case insensitive"
        https://bugs.webkit.org/show_bug.cgi?id=171636
        http://trac.webkit.org/changeset/216275

2017-05-05  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] CTFontDescriptorCreateMatchingFontDescriptor() is not case insensitive
        https://bugs.webkit.org/show_bug.cgi?id=171636
        <rdar://problem/30811218>

        Reviewed by Dean Jackson.

        * fast/text/lastResort-expected.html: Added.
        * fast/text/lastResort.html: Added.

2017-05-05  Ryan Haddad  <ryanhaddad@apple.com>

        Unskip media/click-placeholder-not-pausing.html.

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-05  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION: LayoutTest streams/reference-implementation/readable-stream-templated.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=171580
        <rdar://problem/32009647>

        Rubber-stamped by Alexey Proskuryakov.

        * TestExpectations:
        * streams/reference-implementation/pipe-to-expected.txt:
        Rebaseline expectations. This test was previously flakey so the results were
        missed unless the test was run with --force.

        * streams/reference-implementation/readable-stream-templated-expected.txt:
        * streams/reference-implementation/readable-stream-templated.html:
        Silence unhandled rejections. This test did not expect unhandled promise
        rejections to affect test results, so ignore them.

2017-05-05  Joseph Pecoraro  <pecoraro@apple.com>

        [macOS Sierra] LayoutTest http/tests/inspector/network/resource-request-headers.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170702
        <rdar://problem/31616643>

        Rubber-stamped by Brian Burg.

        * platform/mac-wk2/TestExpectations:
        * http/tests/inspector/network/resource-request-headers.html:
        Make this test unflakey by ensuring we wait for the load to complete.

2017-05-05  Chris Dumez  <cdumez@apple.com>

        Attr Nodes should not have children
        https://bugs.webkit.org/show_bug.cgi?id=171688
        <rdar://problem/31998412>

        Reviewed by Andreas Kling.

        * fast/dom/Attr/cannot-have-children-expected.txt: Added.
        * fast/dom/Attr/cannot-have-children.html: Added.
        Add layout test coverage. I have verified that this test passes in both
        Firefox and Chrome.

        * dom/html/level1/*: Removed legacy / outdated tests.
        * dom/xhtml/level1/*: Removed legacy / outdated tests.

        * fast/dom/Attr/child-nodes-cache-expected.txt: Removed.
        * fast/dom/Attr/child-nodes-cache.html: Removed.
        * fast/dom/Attr/child-nodes-length-cache-expected.txt: Removed.
        * fast/dom/Attr/child-nodes-length-cache.html: Removed.
        * fast/dom/Attr/invalidate-nodelist-after-attr-setvalue-expected.txt: Removed.
        * fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html: Removed.
        * fast/dom/attribute-change-on-mutate-expected.txt: Removed.
        * fast/dom/attribute-change-on-mutate.html: Removed.
        * svg/custom/image-with-attr-change-after-delete-crash-expected.txt: Removed.
        * svg/custom/image-with-attr-change-after-delete-crash.html: Removed.
        * traversal/moz-bug590771-expected.txt: Removed.
        * traversal/moz-bug590771.html: Removed.
        Removed some outdated tests.

        * fast/custom-elements/reactions-for-webkit-extensions-expected.txt:
        * fast/custom-elements/reactions-for-webkit-extensions.html:
        * fast/dom/Attr/change-id-via-attr-node-value-expected.txt:
        * fast/dom/Attr/change-id-via-attr-node-value.html:
        * fast/dom/Element/normalize-crash.html:
        * fast/dom/Element/normalize-crash2.html:
        * fast/dom/HTMLLinkElement/event-while-removing-attribute-expected.txt:
        * fast/dom/HTMLLinkElement/event-while-removing-attribute.html:
        * fast/dom/MutationObserver/observe-attributes-expected.txt:
        * fast/dom/MutationObserver/observe-attributes.html:
        * fast/dom/import-attribute-node.html:
        * fast/dom/insertedIntoDocument-child.html:
        * fast/dom/insertedIntoDocument-sibling.html:
        * fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt:
        * fast/dom/no-assert-for-malformed-js-url-attribute.html:
        * fast/dom/normalize-attributes-mutation-event-crash.html:
        * fast/dom/serialize-nodes.xhtml:
        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        Update existing tests so they stop relying on Attr Node having Text children.

2017-05-05  Ryan Haddad  <ryanhaddad@apple.com>

        Mark w3c test persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=161360

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-05  Matt Lewis  <jlewis3@apple.com>

        Mark 2 webrtc test as failing.
        https://bugs.webkit.org/show_bug.cgi?id=171728

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-05  Chris Dumez  <cdumez@apple.com>

        Refactor / Clean up Element.idl
        https://bugs.webkit.org/show_bug.cgi?id=171734

        Reviewed by Sam Weinig.

        Rebaseline a couple of tests due to Element properties being enumerated in a slightly
        different order and because exception messages have changed slightly.

        * fast/dom/Element/attr-param-typechecking-expected.txt:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2017-05-05  Jeremy Jones  <jeremyj@apple.com>

        REGRESSION (r215951): LayoutTest media/modern-media-controls/placard-support/placard-support-pip.html is a flaky crash
        https://bugs.webkit.org/show_bug.cgi?id=171610
        <rdar://problem/31976820>

        Reviewed by Eric Carlson.

        enable test: media/modern-media-controls/pip-support/pip-support-click.html

        * platform/mac-wk1/TestExpectations:

2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of tests failing after GST upgrade to 1.10.4.

        * platform/gtk/TestExpectations:

2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline several tests.

        * platform/gtk/editing/simple-line-layout-caret-is-gone-expected.txt: Added.
        * platform/gtk/fast/repaint/mutate-non-visible-expected.txt: Added.
        * platform/gtk/fast/visual-viewport/rubberbanding-viewport-rects-extended-background-expected.txt:
        * platform/gtk/http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.

2017-05-05  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        * platform/gtk/TestExpectations: Enable already-passing Web Crypto layout tests
        for the GTK+ port. Also update expectations for the imported W3C Web Crypto tests.

2017-05-04  Commit Queue  <commit-queue@webkit.org>

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

        Multiple LayoutTests crashing in Document::page() (Requested
        by ap on #webkit).

        Reverted changeset:

        "Remove support for legacy Notifications"
        https://bugs.webkit.org/show_bug.cgi?id=171487
        http://trac.webkit.org/changeset/216206

2017-05-04  Chris Dumez  <cdumez@apple.com>

        Element.slot should be marked as [Unscopable]
        https://bugs.webkit.org/show_bug.cgi?id=171683

        Reviewed by Darin Adler.

        Add layout test coverage. This test is passing in Firefox and Chrome.

        * fast/shadow-dom/Element-slot-unscopable-expected.txt: Added.
        * fast/shadow-dom/Element-slot-unscopable.html: Added.

2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Change the asynchronous image decoding tests to use the event webkitImageFrameReady
        https://bugs.webkit.org/show_bug.cgi?id=171634

        Reviewed by Simon Fraser.

        To test the async image decoding reliably we need to do the following:

        -- Make sure to load the image before setting its src to the element.
        -- Call document.body.offsetHeight to force layout.
        -- Call testRunner.display() to force the first paint.
        -- Use the webkitImageFrameReady to reliably know when an image frame is ready.
        -- When webkitImageFrameReady is fired call testRunner.notifyDone(). This
           will force the second paint.

        * fast/images/async-image-background-image-repeated.html:
        * fast/images/async-image-background-image.html:
        * fast/images/sprite-sheet-image-draw.html:

2017-05-04  Matt Lewis  <jlewis3@apple.com>

        Mark webrtc/libwebrtc/descriptionGetters.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171703

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Rename testRunner.displayAndTrackRepaints() to testRunner.displayAndTrackRepaints()
        https://bugs.webkit.org/show_bug.cgi?id=171641

        Reviewed by Simon Fraser.

        Replace all the calls to testRunner.displayAndTrackRepaints() by testRunner.displayAndTrackRepaints()
        Replace all the calls to testRunner.displayInvalidatedRegion() by
        testRunner.displayAndTrackRepaints() since the former is a copy of the later.

        * compositing/clip-change.html:
        * compositing/geometry/foreground-offset-change.html:
        * compositing/geometry/limit-layer-bounds-transformed-overflow.html:
        * compositing/iframes/become-composited-nested-iframes.html:
        * compositing/iframes/become-overlapped-iframe.html:
        * compositing/iframes/connect-compositing-iframe-delayed.html:
        * compositing/iframes/connect-compositing-iframe.html:
        * compositing/iframes/connect-compositing-iframe2.html:
        * compositing/iframes/connect-compositing-iframe3.html:
        * compositing/iframes/enter-compositing-iframe.html:
        * compositing/iframes/iframe-content-flipping.html:
        * compositing/iframes/iframe-resize.html:
        * compositing/iframes/iframe-size-to-zero.html:
        * compositing/iframes/iframe-src-change.html:
        * compositing/iframes/invisible-nested-iframe-hide.html:
        * compositing/iframes/invisible-nested-iframe-show.html:
        * compositing/iframes/leave-compositing-iframe.html:
        * compositing/iframes/overlapped-iframe-iframe.html:
        * compositing/iframes/overlapped-iframe.html:
        * compositing/iframes/overlapped-nested-iframes.html:
        * compositing/iframes/repaint-after-losing-scrollbars.html:
        * compositing/iframes/resources/fixed-position-subframe.html:
        * compositing/iframes/resources/fixed-position-transformed-subframe.html:
        * compositing/iframes/resources/scrollgrandchild-inner.html:
        * compositing/iframes/scrolling-iframe.html:
        * compositing/overflow/content-gains-scrollbars.html:
        * compositing/overflow/content-loses-scrollbars.html:
        * compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html:
        * compositing/overflow/overflow-scrollbar-layers.html:
        * compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html:
        * compositing/overflow/repaint-after-losing-scrollbars.html:
        * compositing/patterns/direct-pattern-compositing-add-text-expected.html:
        * compositing/patterns/direct-pattern-compositing-add-text.html:
        * compositing/patterns/direct-pattern-compositing-change-expected.html:
        * compositing/patterns/direct-pattern-compositing-change.html:
        * compositing/patterns/direct-pattern-compositing-load-expected.html:
        * compositing/patterns/direct-pattern-compositing-load.html:
        * compositing/plugins/invalidate_rect.html:
        * compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint.html:
        * compositing/repaint/iframes/compositing-iframe-scroll-repaint.html:
        * compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint.html:
        * compositing/repaint/newly-composited-on-scroll.html:
        * compositing/repaint/newly-composited-repaint-rect.html:
        * compositing/repaint/page-scale-repaint.html:
        * compositing/repaint/requires-backing-repaint.html:
        * compositing/repaint/transform-style-change.html:
        * compositing/rtl/rtl-overflow-invalidation.html:
        * compositing/scroll-painted-composited-content.html:
        * compositing/tiling/huge-layer-resize.html:
        * compositing/video-page-visibility.html:
        * compositing/video/video-with-invalid-source.html:
        * compositing/webgl/webgl-repaint.html:
        * css3/filters/multiple-filters-invalidation.html:
        * css3/flexbox/repaint-column-reverse.html:
        * css3/flexbox/repaint-during-resize-no-flex.html:
        * css3/flexbox/repaint-rtl-column.html:
        * css3/flexbox/repaint.html:
        * displaylists/canvas-display-list.html:
        * displaylists/resources/dump-target-display-list.js:
        (doTest):
        * displaylists/resources/dump-target-replay-list.js:
        (doTest):
        * fast/animation/request-animation-frame-detach-element.html:
        * fast/animation/request-animation-frame-detach-element2.html:
        * fast/animation/request-animation-frame-during-modal.html:
        * fast/animation/request-animation-frame-iframe.html:
        * fast/animation/request-animation-frame-iframe2.html:
        * fast/animation/script-tests/request-animation-frame-cancel.js:
        * fast/animation/script-tests/request-animation-frame-cancel2.js:
        * fast/animation/script-tests/request-animation-frame-disabled.js:
        * fast/animation/script-tests/request-animation-frame-prefix.js:
        (window.webkitRequestAnimationFrame):
        (window.testRunner.window.setTimeout):
        * fast/animation/script-tests/request-animation-frame-time-unit.js:
        (window.requestAnimationFrame):
        * fast/animation/script-tests/request-animation-frame-timestamps-advance.js:
        (window.requestAnimationFrame):
        (window.testRunner.window.setTimeout):
        * fast/animation/script-tests/request-animation-frame-timestamps.js:
        * fast/animation/script-tests/request-animation-frame-within-callback.js:
        * fast/animation/script-tests/request-animation-frame.js:
        * fast/backgrounds/obscured-background-child-style-change-expected.html:
        * fast/backgrounds/obscured-background-child-style-change.html:
        * fast/backgrounds/solid-color-context-restore.html:
        * fast/canvas/canvas-as-image-incremental-repaint.html:
        * fast/canvas/canvas-incremental-repaint-2.html:
        * fast/canvas/canvas-incremental-repaint.html:
        * fast/canvas/canvas-resize-after-paint.html:
        * fast/canvas/resources/repaint.js:
        (runRepaintTest):
        * fast/canvas/script-tests/canvas-imageSmoothingEnabled-repaint.js:
        (TestControllerPaint):
        * fast/canvas/webgl/canvas-test.html:
        * fast/canvas/webgl/webgl-layer-update.html:
        * fast/css/pseudostyle-anonymous-text.html:
        * fast/css/relative-positioned-block-crash.html:
        * fast/dom/Window/post-message-crash.html:
        * fast/dom/Window/web-timing-minimal-performance-now.html:
        * fast/dynamic/containing-block-change.html:
        * fast/dynamic/layer-no-longer-paginated.html:
        * fast/events/touch/gesture/pad-gesture-cancel.js:
        * fast/events/touch/gesture/pad-gesture-fling.js:
        * fast/forms/hidden-listbox.html:
        * fast/forms/listbox-clip.html:
        * fast/frames/inline-object-inside-frameset.html:
        * fast/frames/transparent-scrollbar.html:
        * fast/images/animated-background-image-crash.html:
        * fast/layers/add-layer-with-nested-stacking.html:
        * fast/layers/inline-dirty-z-order-lists.html:
        * fast/layers/layer-content-visibility-change.html:
        * fast/layers/nested-layers-1.html:
        * fast/layers/nested-layers-2.html:
        * fast/layers/nested-layers-3.html:
        * fast/layers/nested-layers-4.html:
        * fast/layers/remove-layer-with-nested-stacking.html:
        * fast/overflow/hidden-scrollbar-resize.html:
        * fast/reflections/inline-crash.html:
        * fast/repaint/animation-after-layer-scroll.html:
        * fast/repaint/background-shorthand-with-gradient-and-height-changes.html:
        * fast/repaint/fixed-child-move-after-scroll.html:
        * fast/repaint/fixed-child-of-fixed-move-after-scroll.html:
        * fast/repaint/fixed-child-of-transformed-move-after-scroll.html:
        * fast/repaint/fixed-move-after-scroll.html:
        * fast/repaint/no-animation-outside-viewport-subframe.html:
        * fast/repaint/no-animation-outside-viewport.html:
        * fast/repaint/obscured-background-no-repaint.html:
        * fast/repaint/overflow-hidden-in-overflow-hidden-scrolled.html:
        * fast/repaint/renderer-destruction-by-invalidateSelection-crash.html:
        * fast/repaint/repaint-during-scroll-with-zoom.html:
        * fast/repaint/resources/fixed-move-after-keyboard-scroll-iframe.html:
        * fast/repaint/resources/iframe-scroll-repaint-iframe.html:
        * fast/repaint/resources/line-flow-with-floats.js:
        (beginTest):
        * fast/repaint/resources/repaint.js:
        (runRepaintTest):
        * fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled.html:
        * fast/replaced/width100percent-textarea.html:
        * fast/scrolling/scrollbar-tickmarks-hittest.html:
        * fast/table/border-collapsing/cached-69296.html:
        * fast/table/border-collapsing/cached-cell-append.html:
        * fast/table/border-collapsing/cached-cell-remove.html:
        * fast/table/border-collapsing/cached-change-cell-border-color.html:
        * fast/table/border-collapsing/cached-change-cell-border-width.html:
        * fast/table/border-collapsing/cached-change-cell-sl-border-color.html:
        * fast/table/border-collapsing/cached-change-col-border-color.html:
        * fast/table/border-collapsing/cached-change-col-border-width.html:
        * fast/table/border-collapsing/cached-change-colgroup-border-color.html:
        * fast/table/border-collapsing/cached-change-colgroup-border-width.html:
        * fast/table/border-collapsing/cached-change-row-border-color.html:
        * fast/table/border-collapsing/cached-change-row-border-width.html:
        * fast/table/border-collapsing/cached-change-table-border-color.html:
        * fast/table/border-collapsing/cached-change-table-border-width.html:
        * fast/table/border-collapsing/cached-change-tbody-border-color.html:
        * fast/table/border-collapsing/cached-change-tbody-border-width.html:
        * fast/table/empty-section-crash.html:
        * fast/text/font-initial.html:
        * fast/text/international/harfbuzz-runs-with-no-glyph.html:
        * fast/text/text-shadow-extreme-value.html:
        * http/tests/misc/slow-loading-image-in-pattern.html:
        * media/audio-repaint.html:
        * media/media-document-audio-repaint.html:
        * plugins/windowless_plugin_paint_test.html:
        * scrollbars/scrollbar-percent-padding-crash.html:
        * svg/custom/non-scaling-stroke-update.svg:
        * svg/custom/stale-resource-data-crash.svg:

2017-05-04  Chris Dumez  <cdumez@apple.com>

        Reformat / Clean up Node.idl to match the specification
        https://bugs.webkit.org/show_bug.cgi?id=171686

        Reviewed by Sam Weinig.

        Rebaseline existing test now that the Node properties are enumerated in a
        slightly different order.

        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2017-05-04  Sam Weinig  <sam@webkit.org>

        Remove support for legacy Notifications
        https://bugs.webkit.org/show_bug.cgi?id=171487

        Reviewed by Jon Lee.

        - Remove fast/notifications/. It was skipped on all platforms and use legacy Notifications API.
        - Remove http/notifications/legacy. It tested the legacy API.
        - Update two tests in fast/history to use the non-legacy API to test page cache + notifications.
        - Update TestExpectations for removals.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:
        * fast/history/page-cache-notification-non-suspendable.html:
        * fast/history/page-cache-notification-suspendable.html:
        * fast/notifications: Removed.
        * fast/notifications/notification-after-close-expected.txt: Removed.
        * fast/notifications/notification-after-close.html: Removed.
        * fast/notifications/notification-permisssion-deletable-expected.txt: Removed.
        * fast/notifications/notification-permisssion-deletable.html: Removed.
        * fast/notifications/notifications-cancel-request-permission-expected.txt: Removed.
        * fast/notifications/notifications-cancel-request-permission.html: Removed.
        * fast/notifications/notifications-check-permission-expected.txt: Removed.
        * fast/notifications/notifications-check-permission.html: Removed.
        * fast/notifications/notifications-click-event-expected.txt: Removed.
        * fast/notifications/notifications-click-event-focus-expected.txt: Removed.
        * fast/notifications/notifications-click-event-focus.html: Removed.
        * fast/notifications/notifications-click-event.html: Removed.
        * fast/notifications/notifications-constructor-request-permission-expected.txt: Removed.
        * fast/notifications/notifications-constructor-request-permission.html: Removed.
        * fast/notifications/notifications-constructor-with-permission-expected.txt: Removed.
        * fast/notifications/notifications-constructor-with-permission.html: Removed.
        * fast/notifications/notifications-constructor-without-permission-expected.txt: Removed.
        * fast/notifications/notifications-constructor-without-permission.html: Removed.
        * fast/notifications/notifications-display-close-events-expected.txt: Removed.
        * fast/notifications/notifications-display-close-events.html: Removed.
        * fast/notifications/notifications-document-close-crash-expected.txt: Removed.
        * fast/notifications/notifications-document-close-crash.html: Removed.
        * fast/notifications/notifications-event-stop-propagation-expected.txt: Removed.
        * fast/notifications/notifications-event-stop-propagation.html: Removed.
        * fast/notifications/notifications-multi-events-expected.txt: Removed.
        * fast/notifications/notifications-multi-events.html: Removed.
        * fast/notifications/notifications-no-icon-expected.txt: Removed.
        * fast/notifications/notifications-no-icon.html: Removed.
        * fast/notifications/notifications-permission-expected.txt: Removed.
        * fast/notifications/notifications-permission.html: Removed.
        * fast/notifications/notifications-replace-expected.txt: Removed.
        * fast/notifications/notifications-replace.html: Removed.
        * fast/notifications/notifications-request-permission-expected.txt: Removed.
        * fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
        * fast/notifications/notifications-request-permission-optional.html: Removed.
        * fast/notifications/notifications-request-permission.html: Removed.
        * fast/notifications/notifications-rtl-expected.txt: Removed.
        * fast/notifications/notifications-rtl.html: Removed.
        * fast/notifications/notifications-sandbox-permission-expected.txt: Removed.
        * fast/notifications/notifications-sandbox-permission.html: Removed.
        * fast/notifications/notifications-window-close-crash-expected.txt: Removed.
        * fast/notifications/notifications-window-close-crash.html: Removed.
        * fast/notifications/notifications-with-permission-expected.txt: Removed.
        * fast/notifications/notifications-with-permission.html: Removed.
        * fast/notifications/notifications-without-permission-expected.txt: Removed.
        * fast/notifications/notifications-without-permission.html: Removed.
        * fast/notifications/request-notification-permission-while-reloading-expected.txt: Removed.
        * fast/notifications/request-notification-permission-while-reloading.html: Removed.
        * fast/notifications/resources: Removed.
        * fast/notifications/resources/notifications-cancel-request-permission.html: Removed.
        * fast/notifications/resources/notifications-iframe.html: Removed.
        * http/tests/notifications/legacy: Removed.
        * http/tests/notifications/legacy/double-show-expected.txt: Removed.
        * http/tests/notifications/legacy/double-show.html: Removed.
        * http/tests/notifications/legacy/events-expected.txt: Removed.
        * http/tests/notifications/legacy/events.html: Removed.
        * http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Removed.
        * http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Removed.
        * http/tests/notifications/legacy/request-expected.txt: Removed.
        * http/tests/notifications/legacy/request-no-callback-expected.txt: Removed.
        * http/tests/notifications/legacy/request-no-callback.html: Removed.
        * http/tests/notifications/legacy/request.html: Removed.
        * http/tests/notifications/legacy/resources: Removed.
        * http/tests/notifications/legacy/resources/notify-opener-done.html: Removed.
        * http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Removed.
        * http/tests/notifications/legacy/show-expected.txt: Removed.
        * http/tests/notifications/legacy/show.html: Removed.
        * http/tests/notifications/legacy/window-show-on-click-expected.txt: Removed.
        * http/tests/notifications/legacy/window-show-on-click.html: Removed.

2017-05-04  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/xmlhttprequest/workers/methods-async.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=160368

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-04  Antti Koivisto  <antti@apple.com>

        REGRESSION (Safari 10.1): When 'transition' contains -ms-transform, transform-origin is also transitioned
        https://bugs.webkit.org/show_bug.cgi?id=171250
        <rdar://problem/31827243>

        Reviewed by Geoffrey Garen.

        * transitions/transition-unknown-property-ignore-expected.txt: Added.
        * transitions/transition-unknown-property-ignore.html: Added.
        * transitions/transitions-parsing-expected.txt:
        * transitions/transitions-parsing.html:

            Update the roundtrip expectations for unknown properties. The new results match Blink and Gecko.

2017-05-04  Chris Dumez  <cdumez@apple.com>

        Reformat / clean up Event.idl
        https://bugs.webkit.org/show_bug.cgi?id=171675

        Reviewed by Sam Weinig.

        Rebaseline test now that the Event properties are in a slightly different order.

        * inspector/model/remote-object-get-properties-expected.txt:

2017-05-04  Daniel Bates  <dabates@apple.com>

        importScripts() should respect X-Content-Type-Options: nosniff
        https://bugs.webkit.org/show_bug.cgi?id=171248
        <rdar://problem/31819023>

        Reviewed by Andy Estes.

        Unskip web-platform-tests/fetch/nosniff/importscripts as it now passes.

        * TestExpectations:

2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Unreviewed: Replace Windows line ending (CRLF) by Unix line ending (CR).

        * plugins/windowless_plugin_paint_test.html:

2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Unreviewed: Replace Windows line ending (CRLF) by Unix line ending (CR).

        * compositing/video/video-with-invalid-source.html:

2017-05-04  Ryan Haddad  <ryanhaddad@apple.com>

        Skip media/modern-media-controls/pip-support/pip-support-click.html on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=171610

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-04  Dave Hyatt  <hyatt@apple.com>

        REGRESSION(STP): rgb() with calc() containing variables doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=169939

        Reviewed by Zalan Bujtas.

        * fast/css/variables/calc-float-to-int-expected.html: Added.
        * fast/css/variables/calc-float-to-int.html: Added.

2017-05-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed gardening. Update main expectations of http/tests/inspector/network/resource-request-headers.html.

        And add platform specific results for mac-wk2.

        * http/tests/inspector/network/resource-request-headers-expected.txt:
        * platform/mac-wk2/http/tests/inspector/network/resource-request-headers-expected.txt: Copied from LayoutTests/http/tests/inspector/network/resource-request-headers-expected.txt.

2017-05-03  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Remove all statistics for modifiedSince website data removals
        https://bugs.webkit.org/show_bug.cgi?id=171584
        <rdar://problem/24702576>

        Reviewed by Brent Fulgham.

        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html: Added.

2017-05-03  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: aria-rowspan value should be ignored if td/th rowspan value is provided
        https://bugs.webkit.org/show_bug.cgi?id=171214

        Reviewed by Chris Fleizach.

        * accessibility/aria-cellspans-with-native-cellspans-expected.txt: Added.
        * accessibility/aria-cellspans-with-native-cellspans.html: Added.

2017-05-03  Matt Lewis  <jlewis3@apple.com>

        Mark http/tests/xmlhttprequest/methods.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171638

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark scrollingcoordinator/ios/nested-fixed-layer-positions.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171628

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-03  Zalan Bujtas  <zalan@apple.com>

        SearchInputType could end up with a mismatched renderer.
        https://bugs.webkit.org/show_bug.cgi?id=171547
        <rdar://problem/31935047>

        Reviewed by Antti Koivisto.

        * fast/forms/change-input-type-and-submit-form-crash-expected.txt: Added.
        * fast/forms/change-input-type-and-submit-form-crash.html: Added.

2017-05-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/slider/slider-styles.html as flaky on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=171629

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-03  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTest http/tests/inspector/network/fetch-network-data.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=166038
        <rdar://problem/29488489>

        Reviewed by Matt Baker.

        * platform/mac/TestExpectations:
        * http/tests/inspector/network/fetch-network-data.html:
        * http/tests/inspector/network/xhr-request-data-encoded-correctly.html:
        Use singleFireEventListener instead of awaitEvent so that the follow-up event handlers
        can be added synchronously instead of in a microtask. When the microtask happened later
        than other incoming events then the follow-up handlers would have been added too late.

2017-05-03  Matt Lewis  <jlewis3@apple.com>

        Mark imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170699.

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-03  Simon Fraser  <simon.fraser@apple.com>

        Have WKWebView call _updateVisibleContentRects for the current transaction if possible, rather than always delaying
        https://bugs.webkit.org/show_bug.cgi?id=171619
        https://bugs.webkit.org/show_bug.cgi?id=170153

        Reviewed by Tim Horton.

        These tests need to wait a bit for the scrolling state of the document to be updated.

        * fast/scrolling/ios/touch-scroll-pointer-events-none.html:
        * fast/scrolling/ios/touch-scroll-visibility-hidden.html:
        * platform/ios-wk2/TestExpectations:

2017-05-03  Yoav Weiss  <yoav@yoav.ws>

        Link preload HTMLPreloadScanner support
        https://bugs.webkit.org/show_bug.cgi?id=170747

        Reviewed by Youenn Fablet.

        * http/tests/preload/preloadscanner_download_resources-expected.txt: Added.
        * http/tests/preload/preloadscanner_download_resources.html: Added.

2017-05-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/preload/single_download_preload.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171331

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-03  Matt Lewis  <jlewis3@apple.com>

        Mark perf/object-keys.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=171617

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-03  Keith Miller  <keith_miller@apple.com>

        Different behaviour with the .sort(callback) method (unlike Firefox & Chrome)
        https://bugs.webkit.org/show_bug.cgi?id=47825

        Reviewed by Saam Barati.

        Fix broken test.

        * http/tests/inspector/worker/blob-script-with-cross-domain-imported-scripts-expected.txt:

2017-05-03  Matt Lewis  <jlewis3@apple.com>

        Mark http/tests/xmlhttprequest/supported-xml-content-types.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171613

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-03  Nan Wang  <n_wang@apple.com>

        AX: VO skips cells after cell with aria-colspan
        https://bugs.webkit.org/show_bug.cgi?id=171579

        Reviewed by Chris Fleizach.

        * accessibility/mac/aria-grid-column-span-expected.txt: Added.
        * accessibility/mac/aria-grid-column-span.html: Added.

2017-05-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/websocket/tests/hybi/inspector/binary.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171553

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-03  Daniel Bates  <dabates@apple.com>

        Detach frame from document when entering page cache
        https://bugs.webkit.org/show_bug.cgi?id=166774
        <rdar://problem/29904368>

        Reviewed by Chris Dumez.

        * TestExpectations: Unskip tests.
        * fast/history/page-cache-after-window-open-expected.txt: Update expected result.
        * fast/history/page-cache-after-window-open.html: Ditto.
        * fast/history/page-cache-with-opener-expected.txt: Ditto.
        * fast/history/page-cache-with-opener.html: Update test given its new expected behavior.
        * fast/history/resources/page-cache-window-with-opener.html: Ditto.
        * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow-expected.txt: Added.
        * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: Added.
        * http/tests/security/xss-DENIED-script-inject-into-inactive-window-expected.txt: Added.
        * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: Added.
        * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-expected.txt: Added.
        * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: Added.
        * http/tests/security/xss-DENIED-script-inject-into-inactive-window3-expected.txt: Added.
        * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: Added.

2017-05-03  Matt Lewis  <jlewis3@apple.com>

        Marking three imported/w3c/web-platform-tests/webrtc test as flaky failures.
        https://bugs.webkit.org/show_bug.cgi?id=171605

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-03  Matt Lewis  <jlewis3@apple.com>

        Marked test http/tests/local/blob/send-sliced-data-blob.html as flaky failure and timeout.
        https://bugs.webkit.org/show_bug.cgi?id=171564

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-03  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Treat cells with ARIA table cell properties as cells
        https://bugs.webkit.org/show_bug.cgi?id=171178

        Reviewed by Chris Fleizach.

        * accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added.
        * accessibility/minimal-table-with-aria-is-data-table.html: Added.
        * platform/gtk/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added.

2017-05-03  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Support dashed values in unicode locale extensions
        https://bugs.webkit.org/show_bug.cgi?id=171480

        Reviewed by JF Bastien.

        Added tests for calendar locale extensions that contain '-'.

        * js/intl-datetimeformat-expected.txt:
        * js/script-tests/intl-datetimeformat.js:

2017-05-03  Daniel Bates  <dabates@apple.com>

        Abandon the current load once the provisional loader detaches from the frame
        https://bugs.webkit.org/show_bug.cgi?id=171577
        <rdar://problem/31581227>

        Reviewed by Brent Fulgham.

        * fast/loader/inner-iframe-loads-data-url-into-parent-on-unload-crash-expected.txt: Added.
        * fast/loader/inner-iframe-loads-data-url-into-parent-on-unload-crash.html: Added.

2017-05-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests.

        * platform/gtk/TestExpectations:

2017-05-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline inspector resource size tests.

        Libsoup doesn't provide the required information to fill all those size metrics.

        * platform/gtk/http/tests/inspector/network/resource-sizes-memory-cache-expected.txt: Added.
        * platform/gtk/http/tests/inspector/network/resource-sizes-network-expected.txt: Added.

2017-05-02  Simon Fraser  <simon.fraser@apple.com>

        Dynamically added position:fixed element is in the wrong place
        https://bugs.webkit.org/show_bug.cgi?id=170280
        rdar://problem/31374008

        Reviewed by Tim Horton.

        * scrollingcoordinator/ios/nested-fixed-layer-positions-expected.html: Added.
        * scrollingcoordinator/ios/nested-fixed-layer-positions.html: Added.

2017-05-02  Ryan Haddad  <ryanhaddad@apple.com>

        Move flaky expectation for svg/animations/getCurrentTime-pause-unpause.html ios-wk1 to ios TestExpectations file.

        Unreviewed test gardening.

        * platform/ios-wk1/TestExpectations:
        * platform/ios/TestExpectations:

2017-05-02  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=170907

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-02  Zalan Bujtas  <zalan@apple.com>

        Defer AX cache update when text content changes until after layout is finished.
        https://bugs.webkit.org/show_bug.cgi?id=171429
        <rdar://problem/31885984>

        Reviewed by Simon Fraser.

        * accessibility/crash-while-adding-text-child-with-transform-expected.txt: Added.
        * accessibility/crash-while-adding-text-child-with-transform.html: Added.

2017-05-02  David Kilzer  <ddkilzer@apple.com>

        check-webkit-style should keep JavaScript test functions in sync
        <https://webkit.org/b/171424>

        Reviewed by Joseph Pecoraro.

        This change attempts to fix all whitespace issues in these two
        files (which are now identical and will be kept in sync by
        check-webkit-style):

            LayoutTests/http/tests/resources/js-test-pre.js
            LayoutTests/resources/js-test-pre.js

        It also syncs the implementation of shouldBe(), shouldNotBe(),
        shouldNotThrow() and shouldThrow() across the following files:

            JSTests/stress/resources/standalone-pre.js
            LayoutTests/http/tests/resources/js-test-pre.js
            LayoutTests/resources/js-test-pre.js
            LayoutTests/resources/js-test.js
            LayoutTests/resources/standalone-pre.js

        Only interesting (non-whitespace) changes are listed below.

        * http/tests/resources/js-test-pre.js: Copy from resources/js-test-pre.js.
        (shouldBe): Prefix 'exception' and 'quiet' variables with
        underscore.
        (shouldNotBe): Ditto.

        * resources/js-test-pre.js:
        (shouldBe): Prefix 'exception' and 'quiet' variables with
        underscore.
        (shouldNotBe): Ditto.

        * resources/js-test.js:
        (shouldBe): Prefix 'quiet' variable with underscore.  Use
        stringify() when printing '_bv' value.

        * resources/standalone-pre.js:
        (shouldBe): Prefix 'exception' and 'quiet' variables with
        underscore.
        (shouldNotBe): Ditto.

2017-05-02  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Update implementation of aria-orientation
        https://bugs.webkit.org/show_bug.cgi?id=171166

        Reviewed by Chris Fleizach.

        Moved the mac aria-orientation.html test to the shared tests and add several
        new test cases to it. Update the orientation-related assertion in two tests
        to reflect the ARIA 1.1 behavior.

        * accessibility/aria-orientation-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-orientation-expected.txt.
        * accessibility/aria-orientation.html: Renamed from LayoutTests/accessibility/mac/aria-orientation.html.
        * accessibility/mac/slider-supports-actions.html: Updated.
        * accessibility/gtk/combobox-descendants-orientation-crash-expected.txt: Updated.

2017-05-02  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION (r211382): Partial right-to-left text runs are painted at an offset (breaks Find indicators, Look Up, and custom ::selection style)
        https://bugs.webkit.org/show_bug.cgi?id=169517
        <rdar://problem/30652443>

        Reviewed by Dean Jackson.

        * fast/text/complex-text-selection-expected.html: Added.
        * fast/text/complex-text-selection.html: Added.
        * platform/ios/TestExpectations:

2017-05-02  Joseph Pecoraro  <pecoraro@apple.com>

        [Mac] WK1: http/tests/inspector/network/resource-sizes tests are failing

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:
        Skip these tests on WebKit1. They depend on the NSURLSession
        loading path which is not used in WebKit1.

2017-05-02  Chris Dumez  <cdumez@apple.com>

        [macOS] Flaky Crash under EventTarget::fireEventListeners on imported/blink/paint/deprecatedpaintlayer/non-self-painting-layer-overrides-visibility.html
        https://bugs.webkit.org/show_bug.cgi?id=171406
        <rdar://problem/30945281>

        Reviewed by Eric Carlson.

        Unskip test.

        * platform/mac/TestExpectations:

2017-05-02  Matt Lewis  <jlewis3@apple.com>

        Marked test svg/animations/animated-svg-image-removed-from-document-paused.html as flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=171559

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-02  Matt Lewis  <jlewis3@apple.com>

        Marked test imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/setRemoteDescription.html as flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=170818

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-02  Myles C. Maxfield  <mmaxfield@apple.com>

        Font Loading API specifies font is loaded but sizing of font after load reports inconsistent values
        https://bugs.webkit.org/show_bug.cgi?id=168533

        Reviewed by Zalan Bujtas.

        * fast/text/font-loading-local-expected.txt: Added.
        * fast/text/font-loading-local.html: Added.
        * fast/text/web-font-load-fallback-during-loading.html:

2017-05-02  Youenn Fablet  <youenn@apple.com>

        Allow media stream based videos with sound autoplay if the page is already playing sound
        https://bugs.webkit.org/show_bug.cgi?id=171447

        Reviewed by Eric Carlson.

        * http/tests/media/autoplay-if-audio-is-playing-expected.txt: Added.
        * http/tests/media/autoplay-if-audio-is-playing.html: Added.
        * http/tests/media/resources/test-25fps.mp4: Added.

2017-05-02  Matt Lewis  <jlewis3@apple.com>

        Marked test http/tests/xmlhttprequest/methods-async.html as flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=171530

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-01  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] ECDSA signing and verification support
        https://bugs.webkit.org/show_bug.cgi?id=171103

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations: Enable the passing ECDSA tests under
        crypto/subtle/. The ECDSA tests that utilize PKCS #8 and SPKI remain
        skipped since support for that hasn't landed yet.

2017-05-01  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] HKDF bit derivation support
        https://bugs.webkit.org/show_bug.cgi?id=171074

        Reviewed by Michael Catanzaro.

        The crypto/subtle/hkdf-derive-bits-length-limits.html test is added, testing the
        corner-case length values for which the bit derivation operation must succeed or
        fail for any specified SHA hash algorithm. With HashLen as the algorithm's output
        length, the operation should reject for lengths of 0 or above 255 * HashLen * 8.
        The operation should resolve for lengths between the two limits, with testing
        performed on lengths of 8 (the minimum output length), HashLen * 8 (matching the
        output length of the hash algorithm), and 255 * HashLen * 8 (the maximum
        derivation output length).

        * crypto/subtle/hkdf-derive-bits-length-limits-expected.txt: Added.
        * crypto/subtle/hkdf-derive-bits-length-limits.html: Added.
        * platform/gtk/TestExpectations: Enable the HKDF tests under crypto/subtle/.

2017-05-01  Zan Dobersek  <zdobersek@igalia.com>

        [GCrypt] ECDH bit derivation support
        https://bugs.webkit.org/show_bug.cgi?id=171070

        Reviewed by Michael Catanzaro.

        The crypto/subtle/ecdh-derive-bits-length-limits.html test is added, testing the
        corner-case length values for which the bit derivation operation must succeed or
        fail. When specifying 0 as the length, the returned result must match the EC key
        size in length. 8, tested as the minimum non-zero value, and the key size for
        each key must also correctly resolve and return a resulting ArrayBuffer whose
        length in bytes must match the requested length. Derivations for byte-aligned
        values should start rejecting immediately for length values that are bigger than
        the EC key's length.

        * crypto/subtle/ecdh-derive-bits-length-limits-expected.txt: Added.
        * crypto/subtle/ecdh-derive-bits-length-limits.html: Added.
        * platform/gtk/TestExpectations: Enable Web Crypto ECDH tests under crypto/subtle/
        that are passing now that the proper implementation has been added. The remaining
        failing ECDH tests use PKCS #8 and SPKI key import/export formats, which are not
        supported yet.

2017-05-01  Saam Barati  <sbarati@apple.com>

        REGRESSION: LayoutTest workers/wasm-hashset-many.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=171449

        Unreviewed.

        * platform/win/TestExpectations: Skip Wasm tests on Windows.
        * workers/wasm-hashset-many-expected.txt:
        * workers/wasm-hashset/many-test.js: Make wasm-hashset-many run fewer workers.

2017-05-01  Youenn Fablet  <youenn@apple.com>

        Ensure RealtimeOutgoingVideoSource sends a black frame when its related source is muted
        https://bugs.webkit.org/show_bug.cgi?id=171497

        Reviewed by Eric Carlson.

        * webrtc/video-mute.html: Updating the test to make debugging clearer.

2017-05-01  Matt Lewis  <jlewis3@apple.com>

        Marked LayoutTest/http/tests/preload/not_delaying_window_onload_before_discovery.html as flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=171528

        Unreviewed test Gardening.

        * platform/ios-wk2/TestExpectations:

2017-05-01  Timothy Horton  <timothy_horton@apple.com>

        Expose viewport-fit instead of clip-to-safe-area
        https://bugs.webkit.org/show_bug.cgi?id=171503
        <rdar://problem/31918249>

        Reviewed by Simon Fraser.

        * TestExpectations:
        * fast/css/variables/constants/ios/safe-area-inset-set-expected.html:
        * fast/css/variables/constants/ios/safe-area-inset-set.html:
        * fast/viewport/ios/viewport-fit-auto-expected.txt: Added.
        * fast/viewport/ios/viewport-fit-auto.html: Added.
        * fast/viewport/ios/viewport-fit-contain-expected.txt: Added.
        * fast/viewport/ios/viewport-fit-contain.html: Added.
        * fast/viewport/ios/viewport-fit-cover-expected.txt: Added.
        * fast/viewport/ios/viewport-fit-cover.html: Added.
        * tiled-drawing/ios/viewport-clip-to-safe-area-no-gets-margin-tiles-expected.txt: Removed.
        * tiled-drawing/ios/viewport-clip-to-safe-area-no-gets-margin-tiles.html: Removed.
        * tiled-drawing/ios/viewport-clip-to-safe-area-yes-gets-no-margin-tiles-expected.txt: Removed.
        * tiled-drawing/ios/viewport-clip-to-safe-area-yes-gets-no-margin-tiles.html: Removed.
        Remove clip-to-safe-area tests and add some viewport-fit tests. Also, adjust
        safe-area-inset-set to use the new UIScriptController setSafeAreaInset method.

2017-05-01  Chris Dumez  <cdumez@apple.com>

        Documents created using DOMParser.parseFromString should inherit their context document's origin / URL
        https://bugs.webkit.org/show_bug.cgi?id=171499

        Reviewed by Sam Weinig.

        Add layout test coverage. I have verified that this test passes in both Firefox and Chrome.

        * fast/dom/domparser-parsefromstring-origin-expected.txt: Added.
        * fast/dom/domparser-parsefromstring-origin.html: Added.

2017-05-01  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/debugger/tail-recursion.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=168387

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-05-01  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline two fast/visual-viewport tests for iOS.

        Unreviewed test gardening.

        * platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt:
        * platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:

2017-05-01  Joseph Pecoraro  <pecoraro@apple.com>

        [GTK] Two test started to fail after due to unhandled promise rejection reported after r215916
        https://bugs.webkit.org/show_bug.cgi?id=171491

        Unreviewed test gardening.

        * js/promises-tests/promises-tests-2-3-3.html:
        Silence unhandled expectation messages for this test.

        * media/video-fullscreen-restriction-removed-expected.txt:
        Rebaseline expected results with unhandled expectation message.

        * platform/gtk/TestExpectations:

2017-05-01  Chris Fleizach  <cfleizach@apple.com>

        AX: Support time@datetime for verbosity clarification of dates, times, and durations
        https://bugs.webkit.org/show_bug.cgi?id=171498
        <rdar://problem/12985540>

        Reviewed by Joanmarie Diggs.

        * accessibility/datetime-attribute.html: Added.
        * accessibility/roles-computedRoleString-expected.txt:
        * platform/gtk/accessibility/datetime-attribute-expected.txt: Added.
        * platform/gtk/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/datetime-attribute-expected.txt: Added.
        * platform/mac/accessibility/roles-computedRoleString-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2017-05-01  Matt Lewis  <jlewis3@apple.com>

        Marked fast/mediastream/getUserMedia-webaudio.html as flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=170960

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-05-01  Joseph Pecoraro  <pecoraro@apple.com>

        RejectedPromiseTracker should produce better callstacks and avoid capturing callstacks unless there is a debugger/inspector
        https://bugs.webkit.org/show_bug.cgi?id=171416
        <rdar://problem/31899425>

        Reviewed by Saam Barati and Brian Burg.

        * inspector/console/message-stack-trace-expected.txt: Added.
        * inspector/console/message-stack-trace.html: Added.
        Test console stack traces from various places where console messages
        are generated and the stacks are important.

        * inspector/console/resources/log-console-stack-trace.js: Added.
        (TestPage.registerInitializer.logCallFrame):
        (TestPage.registerInitializer.window.logConsoleMessageStackTrace):
        Like the logger for Debugger StackTrace but for Console StackTrace.

        * inspector/debugger/break-on-exception-throw-in-promise-expected.txt:
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-expected.txt:
        * fast/mediastream/MediaStream-MediaElement-setObject-null-expected.txt:
        * http/tests/security/video-cross-origin-caching-expected.txt:
        * js/dom/unhandled-promise-rejection-bindings-type-error-expected.txt:
        * js/dom/unhandled-promise-rejection-console-report-expected.txt:
        * js/promises-tests/promises-tests-2-2-6-expected.txt:
        * streams/reference-implementation/pipe-to-options-expected.txt:
        * streams/reference-implementation/readable-stream-templated-expected.txt:
        * streams/reference-implementation/writable-stream-abort-expected.txt:
        * streams/reference-implementation/writable-stream-expected.txt:
        * webrtc/libwebrtc/release-while-creating-offer-expected.txt:
        * webrtc/libwebrtc/release-while-setting-local-description-expected.txt:
        Rebaseline results. Better stack trace for errors includes correct line numbers.
        Explicit rejections with a value do not include backtraces without a debugger.

2017-05-01  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTest/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests.html is a flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=171511

        Unreviewed test gardening.

        * TestExpectations:

2017-05-01  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for http/tests/fetch/fetch-in-worker-crash.html.

        Unreviewed test gardening.

        * TestExpectations:

2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Expose values of aria-rowcount, aria-colcount, aria-rowindex, aria-colindex, aria-rowspan, and aria-colspan as object attributes
        https://bugs.webkit.org/show_bug.cgi?id=171496

        Reviewed by Chris Fleizach.

        * platform/gtk/TestExpectations: Unskip accessibility/aria-table-attributes.html

2017-05-01  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/visual-viewport/rtl-zoomed-rects.html for mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=171500

        Unreviewed test gardening.

        * platform/mac-wk1/fast/visual-viewport/rtl-zoomed-rects-expected.txt:

2017-05-01  Matt Lewis  <jlewis3@apple.com>

        Rebaselined fast/visual-viewport/ tests.
        https://bugs.webkit.org/show_bug.cgi?id=171500

        Unreviewed test gardening.

        * platform/ios-wk2/fast/visual-viewport/nonzoomed-rects-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/rtl-nonzoomed-rects-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/rtl-zoomed-rects-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/rubberbanding-viewport-rects-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/rubberbanding-viewport-rects-extended-background-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/rubberbanding-viewport-rects-header-footer-expected.txt:
        * platform/ios-wk2/fast/visual-viewport/zoomed-fixed-expected.txt: Added.
        * platform/ios-wk2/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt: Added.
        * platform/ios-wk2/fast/visual-viewport/zoomed-rects-expected.txt:

2017-05-01  Chris Dumez  <cdumez@apple.com>

        Do not dispatch SVG load event in frameless documents
        https://bugs.webkit.org/show_bug.cgi?id=171505
        <rdar://problem/31799776>

        Reviewed by Andreas Kling.

        Add layout test coverage. I have verified that this test passes on both Firefox and Chrome.

        * fast/dom/domparser-parsefromstring-svg-load-event-expected.txt: Added.
        * fast/dom/domparser-parsefromstring-svg-load-event.html: Added.

2017-05-01  Ryan Haddad  <ryanhaddad@apple.com>

        Skip editing/execCommand/show-modal-dialog-during-execCommand.html on mac-wk1.
        https://bugs.webkit.org/show_bug.cgi?id=171501

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-05-01  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html  after r215956.

        Unreviewed test gardening.

        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: [GTK] Add support to query for aria-current
        https://bugs.webkit.org/show_bug.cgi?id=149016

        Reviewed by Chris Fleizach.

        * platform/gtk/TestExpectations: Unskip now-passing test.

2017-05-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline giantRowspan tests after r215914.

        * platform/gtk/fast/table/giantRowspan-expected.txt:
        * platform/gtk/fast/table/giantRowspan2-expected.txt:

2017-05-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several test.

        * platform/gtk/TestExpectations:

2017-05-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline several WPT fetch API tests.

        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.worker-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt: Added.

2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: AccessibilityTable::ariaRowCount() and ariaColumnCount() should not return -1 unless that is the author-provided value
        https://bugs.webkit.org/show_bug.cgi?id=171475

        Reviewed by Chris Fleizach.

        * accessibility/table-detection-expected.txt: Updated.
        * accessibility/table-with-rules-expected.txt: Updated.

2017-05-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several test.

        * platform/gtk/TestExpectations:

2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Implement support for ARIA "figure" and "term" roles; update AXRoleDescription mapping for "feed" role
        https://bugs.webkit.org/show_bug.cgi?id=171183

        Reviewed by Chris Fleizach.

        New test cases added and expectations updated.

        * accessibility/gtk/xml-roles-exposed-expected.txt:
        * accessibility/gtk/xml-roles-exposed.html:
        * accessibility/roles-computedRoleString.html:
        * accessibility/roles-exposed.html:
        * platform/gtk/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/roles-computedRoleString-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2017-04-30  Zalan Bujtas  <zalan@apple.com>

        Initialize a new layout state while bailing out of simple line layout only when needed.
        https://bugs.webkit.org/show_bug.cgi?id=171481
        <rdar://problem/31906382>

        Reviewed by Antti Koivisto.

        * fast/multicol/simple-line-layout-switch-to-normal-layout-while-inside-layout-expected.txt: Added.
        * fast/multicol/simple-line-layout-switch-to-normal-layout-while-inside-layout.html: Added.

2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Implement support for aria-autocomplete
        https://bugs.webkit.org/show_bug.cgi?id=171167

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-autocomplete-expected.txt: Added.
        * accessibility/gtk/aria-autocomplete.html: Added.

2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] ARIA treegrid role should be exposed as ATK_ROLE_TREE_TABLE; not ATK_ROLE_TABLE
        https://bugs.webkit.org/show_bug.cgi?id=171170

        Reviewed by Chris Fleizach.

        Add interface-table.html to verify that all roles which have tabular functionality
        implement AtkTable. Update other tests to reflect that the ARIA treegrid role maps
        to our internal TreeGridRole AccessibilityRole.

        * accessibility/gtk/interface-table-cell-expected.txt: Updated.
        * accessibility/gtk/interface-table-expected.txt: Added.
        * accessibility/gtk/interface-table.html: Added.
        * accessibility/roles-computedRoleString.html: Updated.
        * platform/gtk/accessibility/aria-selected-expected.txt: Updated.
        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated.
        * platform/mac/accessibility/roles-computedRoleString-expected.txt: Updated.

2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Emit object:state-changed:busy event when aria-busy value changes
        https://bugs.webkit.org/show_bug.cgi?id=171181

        Reviewed by Chris Fleizach.

        New test. Also update the expectations for menu-list-unfocused-notifications.html
        because the addition of the handler for AXElementBusyChanged results in that
        notification being output in the test results.

        * accessibility/gtk/aria-busy-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-busy-changed-notification.html: Added.
        * accessibility/gtk/menu-list-unfocused-notifications-expected.txt: Updated.

2017-04-30  Oleksandr Skachkov  <gskachkov@gmail.com>

        [ES6]. Implement Annex B.3.3 function hoisting rules for eval
        https://bugs.webkit.org/show_bug.cgi?id=163208

        Reviewed by Saam Barati.

        * inspector/runtime/evaluate-CommandLineAPI-expected.txt:
        * inspector/runtime/evaluate-CommandLineAPI.html:
        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2017-04-29  Oleksandr Skachkov  <gskachkov@gmail.com>

        Deep nesting is leading to ReferenceError for hoisted function
        https://bugs.webkit.org/show_bug.cgi?id=171456

        Reviewed by Yusuke Suzuki.

        * js/function-declaration-statement-expected.txt:
        * js/script-tests/function-declaration-statement.js:
        (deepNesting.foo):
        (deepNesting):
        (deepNestingForFunctionDeclaration.foo):
        (deepNestingForFunctionDeclaration):
        (eval.deepNestingInEval.foo):
        (eval.deepNestingInEval):
        (eval.deepNestingForFunctionDeclarationInEval.foo):
        (eval.deepNestingForFunctionDeclarationInEval):

2017-04-28  Zalan Bujtas  <zalan@apple.com>

        iBooks text can overlap, sometimes columns are shifted splitting words.
        https://bugs.webkit.org/show_bug.cgi?id=171472
        <rdar://problem/31096037>

        Reviewed by Antti Koivisto.

        * fast/text/simple-line-layout-glyph-overflows-line-expected.html: Added.
        * fast/text/simple-line-layout-glyph-overflows-line.html: Added.

2017-04-28  Per Arne Vollan  <pvollan@apple.com>

        Crash under WebCore::AccessibilityRenderObject::handleAriaExpandedChanged().
        https://bugs.webkit.org/show_bug.cgi?id=171427

        Reviewed by Brent Fulgham.

        * accessibility/accessibility-crash-setattribute-expected.txt: Added.
        * accessibility/accessibility-crash-setattribute.html: Added.

2017-04-28  Wenson Hsieh  <wenson_hsieh@apple.com>

        Unreviewed test gardening (Mac WK1)

        Mark a LayoutTest as PASS on Mac WK1. This test is currently skipped globally,
        but was meant to be enabled for WK1 on Mac. Followup to r213897.

        * platform/mac-wk1/TestExpectations:

2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: ARIA "region" role which lacks an accessible name should not be treated as a landmark
        https://bugs.webkit.org/show_bug.cgi?id=171180

        Reviewed by Chris Fleizach.

        Add new test cases to several tests so that we have coverage for both named and
        unnamed regions, which now have different mappings. In aria-namefrom-author.html,
        the region role was replaced with the table role because the test requires elements
        which have mapped ARIA roles and lack an author-provided name. A region which lacks
        an author-provided name is no longer mapped as an ARIA role as per the spec. Table
        was introduced in ARIA 1.1 and serves the same purpose with respect to what is
        being tested.

        * accessibility/aria-namefrom-author.html:
        * accessibility/gtk/xml-roles-exposed-expected.txt:
        * accessibility/gtk/xml-roles-exposed.html:
        * accessibility/mac/aria-grouping-roles.html:
        * accessibility/roles-computedRoleString.html:
        * accessibility/roles-exposed.html:
        * platform/gtk/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/roles-computedRoleString-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2017-04-28  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTests/js/dom/Promise-static-all/race.html are flakey - Unhandled Promise Rejection messages
        https://bugs.webkit.org/show_bug.cgi?id=171445

        Unreviewed test gardening.

        * js/dom/Promise-static-all.html:
        Fix an accidentally commented out line.

2017-04-28  Matt Lewis  <jlewis3@apple.com>

        Marked media/track/track-in-band-style.html as flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=171465

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-28  Dean Jackson  <dino@apple.com>

        App crashing: Dispatch queue: com.apple.root.user-interactive-qos / vBoxConvolve / WebCore::FEGaussianBlur::platformApplySoftware()
        https://bugs.webkit.org/show_bug.cgi?id=171461
        <rdar://problem/30534722>

        Reviewed by Eric Carlson.

        Test a bunch of blurs a frame at a time.

        * css3/filters/blur-various-radii-expected.html: Added.
        * css3/filters/blur-various-radii.html: Added.

2017-04-28  Chris Dumez  <cdumez@apple.com>

        Stop using legacy ClientRect / ClientRectList in Internals
        https://bugs.webkit.org/show_bug.cgi?id=171412

        Reviewed by Simon Fraser.

        Rebaseline existing tests as DOMRect has more properties than ClientRect.

        * fast/visual-viewport/nonzoomed-rects-expected.txt:
        * fast/visual-viewport/rtl-nonzoomed-rects-expected.txt:
        * fast/visual-viewport/rtl-zoomed-rects-expected.txt:
        * fast/visual-viewport/rubberbanding-viewport-rects-expected.txt:
        * fast/visual-viewport/rubberbanding-viewport-rects-extended-background-expected.txt:
        * fast/visual-viewport/rubberbanding-viewport-rects-header-footer-expected.txt:
        * fast/visual-viewport/zoomed-fixed-expected.txt:
        * fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:
        * fast/visual-viewport/zoomed-rects-expected.txt:
        * inspector/dom/hideHighlight-expected.txt:
        * inspector/dom/highlightQuad-expected.txt:
        * inspector/dom/highlightRect-expected.txt:

2017-04-28  Jeremy Jones  <jeremyj@apple.com>

        ARGUMENT BAD: time, time >= 0
        https://bugs.webkit.org/show_bug.cgi?id=164336
        rdar://problem/29314891

        Reviewed by Eric Carlson.

        Remove workaround that affected other tests.

        * media/modern-media-controls/pip-support/pip-support-click.html:

2017-04-28  Chris Dumez  <cdumez@apple.com>

        Range.getClientRects() / getBoundingClientRect() should return DOMRect types
        https://bugs.webkit.org/show_bug.cgi?id=171393

        Reviewed by Simon Fraser.

        Add layout test coverage.

        * fast/dom/Range/getBoundingClientRect-getClientRects-return-type-expected.txt: Added.
        * fast/dom/Range/getBoundingClientRect-getClientRects-return-type.html: Added.

2017-04-28  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTests/js/dom/Promise-static-all/race.html are flakey - Unhandled Promise Rejection messages
        https://bugs.webkit.org/show_bug.cgi?id=171445

        Reviewed by Saam Barati.

        * js/dom/Promise-static-all.html:
        * js/dom/Promise-static-race.html:
        Silence the console messages for unhandled rejections in this test.
        There are unhandled rejections and messages sometimes appear
        depending on the order of events on the page. The messages are not
        important for this test so just mute them.

2017-04-28  Chris Dumez  <cdumez@apple.com>

        Unreviewed, skip imported/w3c/web-platform-tests/html/semantics/tabular-data/processing-model-1/span-limits.html in Debug builds

        This test is slow.

        * TestExpectations:

2017-04-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171094

        Unreviewed test gardening.

        * TestExpectations:

2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] aria-modal="true" should be exposed via ATK_STATE_MODAL
        https://bugs.webkit.org/show_bug.cgi?id=171188

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-modal-state-exposed-expected.txt: Added.
        * accessibility/gtk/aria-modal-state-exposed.html: Added.

2017-04-28  Matt Lewis  <jlewis3@apple.com>

        Rebaselining test after r215916.
        https://bugs.webkit.org/show_bug.cgi?id=171438

        Unreviewed test gardening.

        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-04-28  Eric Carlson  <eric.carlson@apple.com>

        Implement ondevicechange
        https://bugs.webkit.org/show_bug.cgi?id=169872
        <rdar://problem/28945035>

        Reviewed by Jer Noble.

        * fast/mediastream/device-change-event-expected.txt: Added.
        * fast/mediastream/device-change-event.html: Added.

2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Implement aria-value support for focusable separators
        https://bugs.webkit.org/show_bug.cgi?id=171169

        Reviewed by Chris Fleizach.

        * accessibility/separator-values-expected.txt: Added.
        * accessibility/separator-values.html: Added.

2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] GridCellRole should implement AtkTableCell (regression?)
        https://bugs.webkit.org/show_bug.cgi?id=171179

        Reviewed by Chris Fleizach.

        * accessibility/gtk/interface-table-cell-expected.txt: Added.
        * accessibility/gtk/interface-table-cell.html: Added.

2017-04-28  Miguel Gomez  <magomez@igalia.com>

        REGRESSION(r215211): [GTK] Several webgl related tests are failing
        https://bugs.webkit.org/show_bug.cgi?id=170730

        Reviewed by Said Abou-Hallawa.

        Adjust test expectations for the tests that were failing. They must pass now.

        * platform/gtk/TestExpectations:

2017-04-27  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement the caseFirst option for Intl.Collator
        https://bugs.webkit.org/show_bug.cgi?id=158188

        Reviewed by Geoffrey Garen.

        Updates the Intl.Collator tests to check caseFirst support.
        The caseFirst option or unicode locale extension lets the user explicitly
        set if lower or upper case characters should be first in order.

        * js/intl-collator-expected.txt:
        * js/script-tests/intl-collator.js:
        (testCollator):

2017-04-27  Joseph Pecoraro  <pecoraro@apple.com>

        Support for promise rejection events (unhandledrejection)
        https://bugs.webkit.org/show_bug.cgi?id=150358
        <rdar://problem/28441651>

        Reviewed by Saam Barati.

        Patch by Joseph Pecoraro and Yusuke Suzuki.

        * js/dom/unhandled-promise-rejection-basic-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-basic.html: Added.
        * js/dom/unhandled-promise-rejection-bindings-type-error-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-bindings-type-error.html: Added.
        * js/dom/unhandled-promise-rejection-console-no-report-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-console-no-report.html: Added.
        * js/dom/unhandled-promise-rejection-console-report-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-console-report.html: Added.
        * js/dom/unhandled-promise-rejection-handle-during-event-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-handle-during-event.html: Added.
        * js/dom/unhandled-promise-rejection-handle-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-handle-in-handler-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-handle-in-handler.html: Added.
        * js/dom/unhandled-promise-rejection-handle.html: Added.
        * js/dom/unhandled-promise-rejection-order-expected.txt: Added.
        * js/dom/unhandled-promise-rejection-order.html: Added.
        New tests specific to the `onunhandledrejection` and `onrejectionhandled` events.

        * resources/testharnessreport.js:
        (self.testRunner.add_completion_callback.sanitize):
        (self.testRunner.add_completion_callback):
        Report results immediately and then finish the test after a turn. This way
        if the test ends with a pass, but may get unhandled rejections after
        completing which should not make the test appear as if it failed. Some tests
        have unhandled promise rejections but are expected to pass. Likewise some
        tests perform cleanup in their own completion callbacks, which happen after
        this initial completion callback, and we want to report results after all
        the work is done as it may eliminate non-deterministic debug test output.

        * TestExpectations:
        Mark some tests as flakey that have sometimes have unhandled promise rejections.
        These tests are all various imported tests that use the testharness.

        * fast/mediastream/MediaStream-MediaElement-setObject-null-expected.txt:
        * http/tests/security/video-cross-origin-caching-expected.txt:
        * inspector/debugger/break-on-exception-throw-in-promise-expected.txt:
        * inspector/debugger/break-on-uncaught-exception-throw-in-promise-expected.txt:
        * inspector/worker/resources-in-worker-expected.txt:
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
        * js/promises-tests/promises-tests-2-2-6-expected.txt:
        * platform/mac/inspector/model/remote-object-expected.txt:
        * webrtc/libwebrtc/release-while-creating-offer-expected.txt:
        * webrtc/libwebrtc/release-while-setting-local-description-expected.txt:
        Update tests with unhandled promise rejection messages.

        * media/W3C/audio/events/event_pause_manual.html:
        * media/audio-playback-restriction-play-expected.txt:
        * media/audio-playback-restriction-play.html:
        * media/click-volume-bar-not-pausing.html:
        * media/remote-control-command-is-user-gesture-expected.txt:
        * media/remote-control-command-is-user-gesture.html:
        * media/track/track-mode.html:
        * media/video-autoplay-allowed-but-fullscreen-required.html:
        * media/video-display-none-crash.html:
        * media/video-main-content-deny-display-none.html:
        * media/video-main-content-deny-not-in-dom.html:
        * media/video-main-content-deny-not-visible.html:
        * media/video-main-content-deny-obscured.html:
        * media/video-main-content-deny-too-small.html:
        * media/video-multiple-concurrent-playback-expected.txt:
        * media/video-play-audio-require-user-gesture-expected.txt:
        * media/video-play-audio-require-user-gesture.html:
        * media/video-play-pause-events-expected.txt:
        * media/video-play-pause-events.html:
        * media/video-play-pause-exception-expected.txt:
        * media/video-play-pause-exception.html:
        * media/video-play-require-user-gesture-expected.txt:
        * media/video-play-require-user-gesture.html:
        * media/video-preload-expected.txt:
        * media/video-preload.html:
        * media/video-test.js:
        (handlePromise.handle):
        Snuff many possible unhandled promise rejections in media via media.play().

        * streams/reference-implementation/pipe-to-expected.txt:
        * streams/reference-implementation/pipe-to-options-expected.txt:
        * streams/reference-implementation/readable-stream-templated-expected.txt:
        * streams/reference-implementation/writable-stream-abort-expected.txt:
        * streams/reference-implementation/writable-stream-expected.txt:
        These stream tests are out of date and produce unhandled rejections.

        * streams/shadowing-Promise.html:
        Update non-imported tests to prevent unhandled rejection messages.

2017-04-27  Chris Dumez  <cdumez@apple.com>

        Align colspan/rowspan limits with the latest HTML specification
        https://bugs.webkit.org/show_bug.cgi?id=171322

        Reviewed by Darin Adler.

        Rebaseline a couple of rowspan tests now that our max limit has changed.

        * fast/table/giantRowspan2-expected.txt:
        * platform/ios/fast/table/giantRowspan-expected.txt:
        * platform/ios/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/mac/fast/table/giantRowspan-expected.txt:

2017-04-27  Matt Lewis  <jlewis3@apple.com>

        Mark fast/mediacapturefromelement/CanvasCaptureMediaStream-2d-events.html as a flaky failure.
        https://bugs.webkit.org/show_bug.cgi?id=170835

        Unreviewed test gardening.

        * TestExpectations:

2017-04-27  Matt Lewis  <jlewis3@apple.com>

        Mark imported/blink/paint/deprecatedpaintlayer/non-self-painting-layer-overrides-visibility.html as a flaky crash.
        https://bugs.webkit.org/show_bug.cgi?id=171406

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Add missing expected file for fast/inline/simple-line-layout-16bit-content.html.
        https://bugs.webkit.org/show_bug.cgi?id=171379

        Unreviewed test gardening.

        * fast/inline/simple-line-layout-16bit-content-expected-mismatch.html: Added.

2017-04-27  David Kilzer  <ddkilzer@apple.com>

        Enhance shouldBe()/shouldNotBe() to accept anonymous function arguments
        <https://webkit.org/b/171362>
        <rdar://problem/31867686>

        Reviewed by Joseph Pecoraro.

        This change makes it possible to pass either the first or second
        argument (or both) as anonymous functions into shouldBe() and
        shouldNotBe() to make it easy to capture local variables when
        writing tests.  This is similar to the change in r202609 for Bug
        159232 for shouldThrow() and shouldNotThrow().

        Note that shouldBe()/shouldNotBe() from the following files were
        NOT updated since they were imported from other projects and did
        share the full WebKit history of resources/js-test-pre.js:

            http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js
            js/mozilla/resources/js-test-pre.js
            webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js
            webgl/1.0.3/resources/webgl_test_files/resources/js-test-pre.js

        However, these files WERE brought up-to-date with the ability to
        pass anonymous functions into shouldBe()/shouldNotBe() for this
        bug, and shouldThrow()/shouldNotThrow() which should have
        originally been fixed with Bug 159232:

            http/tests/resources/js-test-pre.js
            resources/standalone-pre.js

        * css3/scroll-snap/resources/iframe-content.html: Drive-by fix
        to debug message for copy-paste error.  Found by searching
        LayoutTests directory for "expects string arguments".

        * fast/canvas/webgl/array-unit-tests-expected.txt: Update test
        results.
        * fast/canvas/webgl/array-unit-tests.html: Fix warning by making
        second argument to shouldBe() a string.

        * fast/css/script-tests/image-set-parsing.js:
        (testImageSetRule): Remove comment by changing second argument
        to shouldBe() into an anonymous function.

        * http/tests/resources/js-test-pre.js:
        (evalAndLog):
        (evalAndLogResult):
        (shouldBe):
        (shouldNotBe):
        (shouldEvaluateTo):
        - Made a full copy of resources/js-test-pre.js to bring this up
          to speed.  Needs a checker written for it to keep them in sync.
        * http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
        * http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
        - Update line numbers after updating http/tests/resources/js-test-pre.js.

        * js/function-declarations-in-switch-statement-expected.txt:
        - Update results after fixing warnings.
        * js/script-tests/function-declarations-in-switch-statement.js:
        - Fix warnings by passing in strings to shouldBe().

        * js/script-tests/stack-unwinding.js:
        - Update results after fixing warnings.
        * js/stack-unwinding-expected.txt:
        - Fix warnings by passing in strings to shouldBe().

        * resources/js-test-pre.js:
        (shouldBe):
        (shouldNotBe):
        * resources/js-test.js:
        (shouldBe):
        (shouldNotBe):
        - Update shouldBe()/shouldNotBe() to accept anonymous function
          arguments.

        * resources/standalone-pre.js:
        (shouldBe):
        (shouldNotBe):
        (shouldNotThrow):
        (shouldThrow):
        - Update shouldBe()/shouldNotBe() to accept anonymous function
          arguments.
        - Also fix shouldThrow()/shouldNotThrow() to accept anonymous
          function arguments (which were missed in r202609 for Bug
          159232).

2017-04-27  Chris Dumez  <cdumez@apple.com>

        Element.getBoundingClientRect() / getClientRects() should return a DOMRect types
        https://bugs.webkit.org/show_bug.cgi?id=171226

        Reviewed by Simon Fraser.

        Update existing tests to reflect behavior change.

        * TestExpectations:
        * css3/flexbox/align-absolute-child-expected.txt:
        * fast/css/ClientRect-attributes-prototype-expected.txt: Removed.
        * fast/css/ClientRect-attributes-prototype.html: Removed.
        * fast/css/ClientRect-serialization-expected.txt: Removed.
        * fast/css/ClientRect-serialization.html: Removed.
        * fast/css/DOMRect-attributes-prototype-expected.txt: Added.
        * fast/css/DOMRect-attributes-prototype.html: Added.
        * fast/css/DOMRect-serialization-expected.txt: Added.
        * fast/css/DOMRect-serialization.html: Added.
        * fast/dom/Element/getClientRects-return-type-expected.txt: Added.
        * fast/dom/Element/getClientRects-return-type.html: Added.
        * fast/dom/collection-iterators-expected.txt:
        * fast/dom/collection-iterators.html:
        * fast/visual-viewport/zoomed-fixed-expected.txt:
        * fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:
        * fast/zooming/client-rect-in-fixed-zoomed-expected.txt:
        * fast/zooming/client-rect-in-fixed-zoomed.html:
        * js/resources/JSON-stringify.js:

2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/fullscreen-button/fullscreen-button.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171391

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/security/contentSecurityPolicy/source-list-parsing-05.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171389

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/xmlhttprequest/workers/methods.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170181

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-04-27  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Expose elements with the ARIA "feed" role
        https://bugs.webkit.org/show_bug.cgi?id=171184

        Reviewed by Chris Fleizach.

        Add "feed" role to roles-exposed.html, xml-roles-exposed.html, and
        roles-computedRoleString.html. Update expectations accordingly.

        * accessibility/gtk/xml-roles-exposed-expected.txt:
        * accessibility/gtk/xml-roles-exposed.html:
        * accessibility/roles-computedRoleString.html:
        * accessibility/roles-exposed.html:
        * platform/gtk/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/roles-computedRoleString-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2017-04-27  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r214572): Update fast/text/variations/advances.html to understand normalized variation widths
        https://bugs.webkit.org/show_bug.cgi?id=171356
        <rdar://problem/28670085>

        Reviewed by Dean Jackson.

        Unspecified 'wdth' axis values are being normalized because the font is a GX font. However, this
        font assumes no normalization, which means one of the comparisons in the test is bogus.

        * fast/text/variations/advances-expected.txt:
        * fast/text/variations/advances.html:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-04-27  Antti Koivisto  <antti@apple.com>

        Skip css3/viewport-percentage-lengths/vh-auto-size.html on WK1.

        Looks like use of auto-sizing leaves state behind in DRT.

        * platform/mac-wk1/TestExpectations:

2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/buttons-container/buttons-container-buttons-property.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=167371

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webgl/1.0.2/conformance/glsl/misc/shader-with-reserved-words.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170877

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-27  Zalan Bujtas  <zalan@apple.com>

        Use text-shadow to visualize simple line layout coverage.
        https://bugs.webkit.org/show_bug.cgi?id=171379

        Reviewed by Antti Koivisto.

        * fast/inline/simple-line-layout-16bit-content-expected-mismatch.html: Added.
        * fast/inline/simple-line-layout-16bit-content-expected.html: Removed.
        * fast/inline/simple-line-layout-16bit-content.html:

2017-04-27  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] ARIA alertdialogs should be exposed with ROLE_DIALOG
        https://bugs.webkit.org/show_bug.cgi?id=171187

        Reviewed by Chris Fleizach.

        * accessibility/aria-mappings-expected.txt: Updated.
        * accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
        * platform/gtk/accessibility/roles-exposed-expected.txt: Updated.

2017-04-27  Myles C. Maxfield  <mmaxfield@apple.com>

        Make fast/text/complex-small-caps-non-bmp-capitalize.html more robust
        https://bugs.webkit.org/show_bug.cgi?id=171366
        <rdar://problem/30060323>

        Reviewed by Alex Christensen.

        This test needs a font which supports Deseret but doesn't support small caps.
        Geneva is a better choice for such a font.

        * fast/text/complex-small-caps-non-bmp-capitalize-expected.html:
        * fast/text/complex-small-caps-non-bmp-capitalize.html:

2017-04-27  Antti Koivisto  <antti@apple.com>

        Repeated layouts in Mail due to viewport units being used with auto-sizing
        https://bugs.webkit.org/show_bug.cgi?id=171371
        <rdar://problem/28780084>

        Reviewed by Zalan Bujtas.

        * css3/viewport-percentage-lengths/vh-auto-size-expected.html: Added.
        * css3/viewport-percentage-lengths/vh-auto-size.html: Added.

2017-04-27  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Inconsistent exposure of ARIA "button" role with non-false value of aria-haspopup
        https://bugs.webkit.org/show_bug.cgi?id=171204

        Reviewed by Chris Fleizach.

        It turns out that this bug was fixed as a side effect of the changes made
        to fix WebKitGtk bug 171164 (r215821). But we didn't realize it due to the
        lack of an existing layout test covering the mappings for other platforms.
        The test created for the WebKitGtk port was modified and moved to the shared
        tests. Shared expectations are based on the Mac's mappings.

        * accessibility/button-with-aria-haspopup-role-expected.txt: Added.
        * accessibility/button-with-aria-haspopup-role.html: Renamed from LayoutTests/accessibility/gtk/button-with-aria-haspopup-is-not-a-combobox.html.
        * accessibility/gtk/button-with-aria-haspopup-is-not-a-combobox-expected.txt: Removed.
        * platform/gtk/accessibility/button-with-aria-haspopup-role-expected.txt: Added.

2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/local/blob/send-hybrid-blob-using-open-panel.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171353

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-04-27  Frederic Wang  <fwang@igalia.com>

        Fix some tests from platform-tests/cssom-view/cssom-view/
        https://bugs.webkit.org/show_bug.cgi?id=171228

        Reviewed by Youenn Fablet.

        * TestExpectations: Unskip media-query-list-interface.

2017-04-27  Zalan Bujtas  <zalan@apple.com>

        Text gets cut off when bailing out of simple line layout with widows.
        https://bugs.webkit.org/show_bug.cgi?id=171370
        <rdar://problem/31563414>

        Reviewed by Antti Koivisto.

        * fast/multicol/simple-line-layout-widows-when-switching-over-to-normal-line-layout-expected.html: Added.
        * fast/multicol/simple-line-layout-widows-when-switching-over-to-normal-line-layout.html: Added.

2017-04-26  Chris Dumez  <cdumez@apple.com>

        Unreviewed, remove unnecessary expected result in platform/ios-wk2

        * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: Removed.
        * platform/ios/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:

2017-04-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uint8ClampedArray should be treated like an array, not an object
        https://bugs.webkit.org/show_bug.cgi?id=171364
        <rdar://problem/10873037>

        Reviewed by Sam Weinig.

        * inspector/model/remote-object-expected.txt:
        * inspector/model/remote-object.html:
        * platform/mac/inspector/model/remote-object-expected.txt:
        Test a Uint8ClampedArray is treated like an array.

2017-04-26  Saam Barati  <sbarati@apple.com>

        ASSERTION FAILED: inIndex != notFound in JSC::invalidParameterInSourceAppender()
        https://bugs.webkit.org/show_bug.cgi?id=170924
        <rdar://problem/31721052>

        Reviewed by Mark Lam.

        * js/let-syntax-expected.txt:

2017-04-26  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] ARIA buttons which have a popup should be ATK_ROLE_PUSH_BUTTON; not ATK_ROLE_COMBO_BOX
        https://bugs.webkit.org/show_bug.cgi?id=171182

        Reviewed by Chris Fleizach.

        * accessibility/gtk/button-with-aria-haspopup-is-not-a-combobox-expected.txt: Added.
        * accessibility/gtk/button-with-aria-haspopup-is-not-a-combobox.html: Added.

2017-04-26  Tim Horton  <timothy_horton@apple.com>

        Should not drag x-apple-data-detectors links
        https://bugs.webkit.org/show_bug.cgi?id=171352
        <rdar://problem/31309081>

        Reviewed by Beth Dakin.

        * fast/events/do-not-drag-and-drop-data-detectors-link-expected.txt: Added.
        * fast/events/do-not-drag-and-drop-data-detectors-link.html: Added.

2017-04-26  Tim Horton  <timothy_horton@apple.com>

        Revert accidentally smushed commit.

        * TestExpectations:
        * fast/events/do-not-drag-and-drop-data-detectors-link-expected.txt: Removed.
        * fast/events/do-not-drag-and-drop-data-detectors-link.html: Removed.
        * platform/mac/TestExpectations:

2017-04-26  Matt Lewis  <jlewis3@apple.com>

        Re-baseline inspector/dom/getAccessibilityPropertiesForNode.html after r215821
        https://bugs.webkit.org/show_bug.cgi?id=171346

        Unreviewed test gardening.

        * inspector/dom/getAccessibilityPropertiesForNode-expected.txt:

2017-04-26  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Elements with a defined, non-false value for aria-current should expose ATK_STATE_ACTIVE
        https://bugs.webkit.org/show_bug.cgi?id=171163

        Reviewed by Chris Fleizach.

        * accessibility/gtk/aria-current-changed-notification-expected.txt: Added.
        * accessibility/gtk/aria-current-changed-notification.html: Added.
        * accessibility/gtk/aria-current-expected.txt: Added.
        * accessibility/gtk/aria-current.html: Added.

2017-04-26  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/datachannel/bufferedAmountLowThreshold.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170701

        Reviewed by Eric Carlson.

        * platform/mac-wk1/TestExpectations: Removing flaky expectation.
        * webrtc/datachannel/bufferedAmountLowThreshold-expected.txt:
        * webrtc/datachannel/bufferedAmountLowThreshold.html:

2017-04-26  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Restrict WebKit image formats to a known whitelist
        https://bugs.webkit.org/show_bug.cgi?id=170700

        Reviewed by Tim Horton.

        * fast/images/image-formats-support-expected.txt: Added.
        * fast/images/image-formats-support.html: Added.
        * fast/images/resources/100x100-red-psd-renamed.png: Added.
        * fast/images/resources/100x100-red-tga-renamed.png: Added.
        * fast/images/resources/100x100-red.psd: Added.
        * fast/images/resources/100x100-red.tga: Added.

2017-04-26  Matt Lewis  <jlewis3@apple.com>

        Mark swipe/main-frame-pinning-requirement.html as a flaky failure on mac-wk2.
        https://bugs.webkit.org/show_bug.cgi?id=170484

        Reviewed by Alexey Proskuryakov.

        * platform/mac-wk2/TestExpectations:

2017-04-26  Chris Dumez  <cdumez@apple.com>

        Re-sync html/browsers/the-window-object web-platform-tests from upstream
        https://bugs.webkit.org/show_bug.cgi?id=171313

        Reviewed by Alex Christensen.

        * tests-options.json:

2017-04-26  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Implement support for new ARIA 1.1 values of aria-haspopup
        https://bugs.webkit.org/show_bug.cgi?id=171164

        Reviewed by Chris Fleizach.

        In addition to the new test, update xml-roles-exposed.html's expectations
        because the implicit value of aria-haspopup for the combobox role is now
        listbox, and that value should be exposed via an AtkObject attribute.

        * accessibility/gtk/aria-haspopup-expected.txt: Added.
        * accessibility/gtk/aria-haspopup.html: Added.
        * accessibility/gtk/xml-roles-exposed-expected.txt:

2017-04-26  Simon Fraser  <simon.fraser@apple.com>

        http/tests/frame-throttling tests failing on iOS
        https://bugs.webkit.org/show_bug.cgi?id=171314
        rdar://problem/31691134

        Reviewed by Chris Dumez.

        The tests use UIHelper.activateAt(), which in DumpRenderTree dispatches mouse events via EventSender, and in iOS WK2 uses
        UIScriptController to dispatch touch events. The former just use standard hit testing, which works fine.
        The latter go via Frame::qualifyingNodeAtViewportLocation(), which calls ancestorRespondingToClickEvents()
        and does area hit testing, and this fails to find anything clickable inside the <iframe>s.

        Fix by putting a div with an onlick handler inside the iframes, and adjusting the click
        locations.

        * http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html:
        * http/tests/frame-throttling/resources/requestAnimationFrame-frame.html:
        * http/tests/frame-throttling/resources/timer-throttling-frame.html:
        * http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html:

2017-04-26  Matt Lewis  <jlewis3@apple.com>

        Removing Flaky timeout expectation for swipe/main-frame-pinning-requirement.html.
        https://bugs.webkit.org/show_bug.cgi?id=161887

        Reviewed by Tim Horton.

        * platform/mac-wk2/TestExpectations:

2017-04-25  Dean Jackson  <dino@apple.com>

        [Color] Make gradients work with ExtendedColors
        https://bugs.webkit.org/show_bug.cgi?id=171315
        <rdar://problems/31830177>

        Reviewed by Antoine Quint.

        Test for gradients using the color() syntax. Unfortunately,
        due to rounding errors, we can't use a ref test for some
        transparent colors, so comment them out for the moment.
        These can be re-enabled when we can specify a tolerance
        value for image comparison in the testing framework.

        * css3/color/gradients-expected.html: Added.
        * css3/color/gradients.html: Added.

2017-04-26  Zalan Bujtas  <zalan@apple.com>

        Forced page break on :after triggers infinite loop in column balancing
        https://bugs.webkit.org/show_bug.cgi?id=171309
        rdar://problem/26285884

        Reviewed by David Hyatt.

        * fast/multicol/infinite-loop-when-forced-break-expected.txt: Added.
        * fast/multicol/infinite-loop-when-forced-break.html: Added.

2017-04-26  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r215767.

        The LayoutTest for this change is a flaky failure.

        Reverted changeset:

        "Restrict WebKit image formats to a known whitelist"
        https://bugs.webkit.org/show_bug.cgi?id=170700
        http://trac.webkit.org/changeset/215767

2017-04-24  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Remove most of the usage of SizingOperation
        https://bugs.webkit.org/show_bug.cgi?id=171225

        Reviewed by Darin Adler.

        Added a new test case which was working correctly but that was not properly tested before.

        * fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows-expected.txt:
        * fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows.html:

2017-04-25  Joseph Pecoraro  <pecoraro@apple.com>

        [mac-wk1 Debug] LayoutTest http/tests/inspector/network/resource-sizes-network.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170953

        Reviewed by Brian Burg.

        * http/tests/inspector/network/resource-sizes-disk-cache.html:
        * http/tests/inspector/network/resource-sizes-network.html:
        Read the entire data to ensure the load is complete before we notify the frontend.

        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        Unflake these tests, they should be more reliable now.

2017-04-25  Youenn Fablet  <youenn@apple.com>

        fast/mediastream/RTCPeerConnection-icecandidate-event.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=171242

        Reviewed by Alex Christensen.

        * TestExpectations:
        * fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt:
        * fast/mediastream/RTCPeerConnection-icecandidate-event.html: Updating test to be more deterministic.

2017-04-25  Brent Fulgham  <bfulgham@apple.com>

        Relax the event firing ASSERT for Attr changes
        https://bugs.webkit.org/show_bug.cgi?id=171236
        <rdar://problem/30516349>

        Reviewed by Dean Jackson.

        * fast/dom/HTMLLinkElement/event-while-removing-attribute-expected.txt: Added.
        * fast/dom/HTMLLinkElement/event-while-removing-attribute.html: Added.

2017-04-25  Dean Jackson  <dino@apple.com>

        REGRESSION (r214129): fast/media/mq-prefers-reduced-motion.html fails
        https://bugs.webkit.org/show_bug.cgi?id=171303
        <rdar://problem/31434879>

        Reviewed by Brent Fulgham.

        This particular test was calling notifyDone() from within
        a callback triggered by the UIScriptController script, which
        meant that by the time the controller tried to call its callback,
        the test had finished.

        * fast/media/mq-prefers-reduced-motion-matchMedia.html: Make sure
        notifyDone is called after both the callback-like functions have
        triggered.

2017-04-25  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Introduce shorter time-to-live for cookie partition whitelisting
        https://bugs.webkit.org/show_bug.cgi?id=171295
        <rdar://problem/31823818>

        Reviewed by Brent Fulgham.

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
            Changed a TestRunner function name to
            statisticsFireShouldPartitionCookiesHandlerForOneDomain().
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
            Changed a TestRunner function name to
            statisticsFireShouldPartitionCookiesHandlerForOneDomain().

2017-04-25  Commit Queue  <commit-queue@webkit.org>

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

        "It broke JSBench" (Requested by saamyjoon on #webkit).

        Reverted changeset:

        "[ES6]. Implement Annex B.3.3 function hoisting rules for
        eval"
        https://bugs.webkit.org/show_bug.cgi?id=163208
        http://trac.webkit.org/changeset/215476

2017-04-25  Saam Barati  <sbarati@apple.com>

        JSArray::isArrayPrototypeIteratorProtocolFastAndNonObservable is wrong because it does not do the necessary checks on the base object
        https://bugs.webkit.org/show_bug.cgi?id=171150
        <rdar://problem/31771880>

        Reviewed by Sam Weinig.

        * js/sequence-iterator-protocol-2-expected.txt: Added.
        * js/sequence-iterator-protocol-2.html: Added.
        * js/sequence-iterator-protocol-expected.txt: Added.
        * js/sequence-iterator-protocol.html: Added.

2017-04-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/pip-support/pip-support-click.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=165311

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-invalidnonce.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171301

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-04-25  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r215730.

        The LayoutTest for this change is a flaky timeout on mac-wk1
        debug.

        Reverted changeset:

        "Enable expired-only reload policy on Mac and iOS"
        https://bugs.webkit.org/show_bug.cgi?id=171264
        http://trac.webkit.org/changeset/215730

2017-04-25  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Restrict WebKit image formats to a known whitelist
        https://bugs.webkit.org/show_bug.cgi?id=170700

        Reviewed by Tim Horton.

        * fast/images/image-formats-support-expected.txt: Added.
        * fast/images/image-formats-support.html: Added.
        * fast/images/resources/100x100-red-psd-renamed.png: Added.
        * fast/images/resources/100x100-red-tga-renamed.png: Added.
        * fast/images/resources/100x100-red.psd: Added.
        * fast/images/resources/100x100-red.tga: Added.

2017-04-25  Tim Horton  <timothy_horton@apple.com>

        Deduplicate some lines in the toplevel TestExpectations

        * TestExpectations:
        Remove a duplicate line and consolidate another.

2017-04-25  Chris Dumez  <cdumez@apple.com>

        Element.dataset.name incorrectly returns undefined
        https://bugs.webkit.org/show_bug.cgi?id=161454
        <rdar://problem/31818563>

        Reviewed by Mark Lam.

        Add layout test for JS caching bug on DOMStringMap that was fixed as part
        of a large named property getter refactoring in r210667.

        * fast/dom/dataset-caching-bug-expected.txt: Added.
        * fast/dom/dataset-caching-bug.html: Added.

2017-04-25  Myles C. Maxfield  <mmaxfield@apple.com>

        Supplementary Multilingual Plane Complex Scripts Rendered Incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=171272
        <rdar://problem/30966764>

        Reviewed by Zalan Bujtas.

        * fast/text/kaithi-expected.html: Added.
        * fast/text/kaithi.html: Added.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-04-25  Daniel Bates  <dabates@apple.com>

        [Cocoa][Win] Enable of X-Content-Type-Options: nosniff header
        https://bugs.webkit.org/show_bug.cgi?id=136452
        <rdar://problem/23412620>

        Reviewed by Brent Fulgham.

        Unskip nosniff tests on Mac, iOS and Windows and update expected results now that
        we support X-Content-Type-Options: nosniff.

        Merge Blink test from <https://src.chromium.org/viewvc/blink?revision=168570&view=revision>.

        * TestExpectations: Unskip all nosniff tests except imported/w3c/web-platform-tests/fetch/nosniff/importscripts.html.
        We need to fix <https://bugs.webkit.org/show_bug.cgi?id=171248> before we can unskip it.
        When running the nosniff Web Platform Tests (WPT) dump console messages to standard error
        to avoid a difference of console message ordering due to the non-determinism of the WPT
        tests from affecting the matching of the expected result.
        * http/tests/security/contentTypeOptions/nosniff-dynamic-script-blocked-expected.txt: Added.
        * http/tests/security/contentTypeOptions/nosniff-dynamic-script-blocked.html: Copied from LayoutTests/http/tests/security/contentTypeOptions/nosniff-script-blocked.html.
        * http/tests/security/contentTypeOptions/nosniff-script-blocked-expected.txt: Update expected result.
        * http/tests/security/contentTypeOptions/nosniff-script-blocked.html: Substitute the not executable
        MIME type "text/xx-javascript" for "text/x-javascript" as the latter is an acceptable MIME type for
        JavaScript scripts as per the Fetch standard, <https://html.spec.whatwg.org/multipage/scripting.html#javascript-mime-type> (30 March 2017).
        * http/tests/security/contentTypeOptions/nosniff-script-without-content-type-blocked-expected.txt: Update
        expected result.
        * platform/gtk/TestExpectations: Skip the nosniff tests as GTK does not enable ENABLE(NOSNIFF).
        * platform/ios/TestExpectations: Unskip nosniff tests.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.
        * platform/wk2/TestExpectations: Ditto.

2017-04-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/inspector/network/resource-sizes-disk-cache.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170971

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-04-25  Chris Dumez  <cdumez@apple.com>

        Content-Disposition header filename is ignored when 'download' attribute is specified in HTML
        https://bugs.webkit.org/show_bug.cgi?id=171239
        <rdar://problem/31789855>

        Reviewed by Alex Christensen.

        * http/tests/security/anchor-download-allow-sameorigin.html:
        Stop using attachment.php as resource for this download attribute test because attachment.php
        returns a Content-Disposition header with a filename. Given the behavior change in this patch,
        this resource is no longer suitable for testing the download attribute.

        * http/tests/download/anchor-download-attribute-content-disposition-expected.txt: Added.
        * http/tests/download/anchor-download-attribute-content-disposition.html: Added.
        * http/tests/download/resources/content-disposition-pass.php: Added.
        Add layout test coverage.

        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:
        Skip new test on platforms where the download attribute is not supported.

2017-04-25  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline fast/canvas/canvas-crash.html for ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=171238

        Unreviewed test gardening.

        * platform/ios-simulator/fast/canvas/canvas-crash-expected.txt: Added.

2017-04-25  Antti Koivisto  <antti@apple.com>

        Enable expired-only reload policy on Mac and iOS
        https://bugs.webkit.org/show_bug.cgi?id=171264
        <rdar://problem/31807637>

        Reviewed by Andreas Kling.

        * fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html:

        WebKitDisplayImages preference blocks loads, it does not prevent images already in memory cache from displaying.
        Modify the test to clear the memory cache so it still tests what it is supposed to.

2017-04-25  Frederic Wang  <fwang@igalia.com>

        Import W3C tests for the CSSOM View module
        https://bugs.webkit.org/show_bug.cgi?id=171215

        Reviewed by Youenn Fablet.

        * TestExpectations: Skip some completely failing CSSOM View tests.
        * platform/ios-simulator/imported/w3c/web-platform-tests/cssom-view/Screen-pixelDepth-Screen-colorDepth001-actual.txt: Added. Add an expectation for iOS simulator, differing from other platform.
        * platform/ios-simulator/imported/w3c/web-platform-tests/cssom-view/scrolling-quirks-vs-nonquirks-expected.txt: Added. Ditto.

2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
        https://bugs.webkit.org/show_bug.cgi?id=171190

        Reviewed by Saam Barati.

        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:
        Extend to cover method duplicate parameter cases.

2017-04-24  Jiewen Tan  <jiewen_tan@apple.com>

        LayoutTests crypto/subtle/ecdsa-generate-key-sign-verify-p384.html and crypto/subtle/ecdsa-generate-key-sign-verify-p256.html are flaky failures
        https://bugs.webkit.org/show_bug.cgi?id=171059
        <rdar://problem/31734958>

        Reviewed by Brent Fulgham.

        * TestExpectations:
        Remove test expectations.

2017-04-24  Manuel Rego Casasnovas  <rego@igalia.com>

        [selectors4] :focus-within should use the flat tree
        https://bugs.webkit.org/show_bug.cgi?id=170899

        Reviewed by Antti Koivisto.

        * TestExpectations: Remove test that is passing now.

2017-04-24  Nan Wang  <n_wang@apple.com>

        AX: Crash at WebCore::AXObjectCache::characterOffsetForIndex(int, WebCore::AccessibilityObject const*) + 703
        https://bugs.webkit.org/show_bug.cgi?id=171247

        Reviewed by Chris Fleizach.

        * accessibility/mac/input-string-for-range-crash-expected.txt: Added.
        * accessibility/mac/input-string-for-range-crash.html: Added.

2017-04-24  Youenn Fablet  <youenn@apple.com>

        Set defaults video getUserMedia constraints
        https://bugs.webkit.org/show_bug.cgi?id=171127

        Reviewed by Eric Carlson.

        * fast/mediastream/getUserMedia-default-expected.txt: Added.
        * fast/mediastream/getUserMedia-default.html: Added.

2017-04-24  Chris Dumez  <cdumez@apple.com>

        createElementNS() should now throw only InvalidCharacterError, not NamespaceError
        https://bugs.webkit.org/show_bug.cgi?id=171052

        Reviewed by Sam Weinig.

        Updated / rebaselined existing tests to reflect behavior change.

        * fast/dom/DOMImplementation/createDocument-namespace-err-expected.txt:
        * fast/dom/DOMImplementation/createDocumentType-err-expected.txt:
        * fast/dom/DOMImplementation/script-tests/createDocument-namespace-err.js:
        * fast/dom/DOMImplementation/script-tests/createDocumentType-err.js:
        * fast/dom/Document/createAttributeNS-namespace-err-expected.txt:
        * fast/dom/Document/createElementNS-namespace-err-expected.txt:
        * fast/dom/Document/script-tests/createAttributeNS-namespace-err.js:
        * fast/dom/Document/script-tests/createElementNS-namespace-err.js:
        * fast/dom/Element/script-tests/setAttributeNS-namespace-err.js:
        * fast/dom/Element/setAttributeNS-namespace-err-expected.txt:

2017-04-24  Chris Dumez  <cdumez@apple.com>

        REGRESSION (214503): Webkit crash under RenderElement::repaintForPausedImageAnimationsIfNeeded() when scrolling giphy pages
        https://bugs.webkit.org/show_bug.cgi?id=171243
        <rdar://problem/31715572>

        Reviewed by Antti Koivisto.

        Add layout test coverage.

        * fast/images/animated-gif-scrolling-crash-expected.txt: Added.
        * fast/images/animated-gif-scrolling-crash.html: Added.

2017-04-24  Saam Barati  <sbarati@apple.com>

        [mac debug] LayoutTest workers/wasm-long-compile-many.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=171120
        <rdar://problem/31781889>

        Rubber stamped by Mark Lam.

        Make the wasm binary we compile close to 50% smaller.

        * workers/wasm-resources/long-compile-many.js:
        (i.async.run):
        (i.worker.onmessage):
        * workers/wasm-resources/long-compile-worker.js:
        * workers/wasm-resources/long-compile.js:
        (async.run):
        (worker.onmessage):

2017-04-24  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/scrubber-support/scrubber-support-click.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171245

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/language/computed-property-names/class/static/getter-prototype.js
        https://bugs.webkit.org/show_bug.cgi?id=170897

        Reviewed by Saam Barati.

        * js/class-syntax-declaration-expected.txt:
        * js/script-tests/class-syntax-declaration.js:
        Extend tests for static and non-static methods named "constructor" and "prototype".

2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>

        Address some FIXMEs in JavaScript tests for bugs that have been fixed
        https://bugs.webkit.org/show_bug.cgi?id=171191

        Reviewed by JF Bastien.

        * js/dom/custom-constructors-expected.txt:
        * js/dom/script-tests/custom-constructors.js:
        * js/script-tests/keyword-method-names.js:

2017-04-24  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/language/expressions/generators/yield-as-label.js
        https://bugs.webkit.org/show_bug.cgi?id=170979

        Reviewed by Saam Barati.

        * js/object-literal-shorthand-construction-expected.txt:
        * js/script-tests/object-literal-shorthand-construction.js:
        Extend this test to cover object literal shorthand with keywords.

        * js/dom/reserved-words-as-property-expected.txt:
        * js/let-syntax-expected.txt:
        * js/parser-syntax-check-expected.txt:
        Improved error messages.

2017-04-23  Commit Queue  <commit-queue@webkit.org>

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

        Possible unintended commit. This patch was on the wrong bug.
        (Requested by JoePeck on #webkit).

        Reverted changeset:

        "test262: test262/test/language/expressions/generators/yield-
        as-label.js"
        https://bugs.webkit.org/show_bug.cgi?id=170979
        http://trac.webkit.org/changeset/215674

2017-04-23  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/language/expressions/generators/yield-as-label.js
        https://bugs.webkit.org/show_bug.cgi?id=170979

        Reviewed by Saam Barati.

        * js/object-literal-shorthand-construction-expected.txt:
        * js/script-tests/object-literal-shorthand-construction.js:
        Extend this test to cover object literal shorthand with keywords.

        * js/dom/reserved-words-as-property-expected.txt:
        * js/let-syntax-expected.txt:
        * js/parser-syntax-check-expected.txt:
        Improved error messages.

2017-04-21  Zalan Bujtas  <zalan@apple.com>

        REGRESSION(r205374): <li> content inside <ul> should mid-word wrap when word-break: break-word is present.
        https://bugs.webkit.org/show_bug.cgi?id=171108
        <rdar://problem/30271747>

        Reviewed by Dan Bernstein.

        * fast/replaced/ul-li-word-break-break-word-expected.html: Added.
        * fast/replaced/ul-li-word-break-break-word.html: Added.
        * fast/replaced/zero-width-image-force-linebreak-expected.html: Added.
        * fast/replaced/zero-width-image-force-linebreak.html: Added.

2017-04-21  Aaron Chu  <aaron_chu@apple.com>

        AX: FKA: Buttons need a visible focus indicator
        https://bugs.webkit.org/show_bug.cgi?id=171040
        <rdar://problem/30922548>

        Reviewed by Antoine Quint.

        * TestExpectations:
        * media/modern-media-controls/icon-button/icon-button-focus-state-expected.txt: Added.
        * media/modern-media-controls/icon-button/icon-button-focus-state.html: Added.
        * platform/mac/TestExpectations:

2017-04-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/debugger/tail-deleted-frames-this-value.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169119

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-21  Chris Dumez  <cdumez@apple.com>

        Regression(r206240): XMLSerializer.serializeToString() does not properly escape '<' / '>' in attribute values
        https://bugs.webkit.org/show_bug.cgi?id=171132
        <rdar://problem/31426752>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage. This test is passing in both Firefox and Chrome.

        * fast/dom/XMLSerializer-serializeToString-entities-expected.txt: Added.
        * fast/dom/XMLSerializer-serializeToString-entities.html: Added.

2017-04-21  Youenn Fablet  <youenn@apple.com>

        [ios-simulator] LayoutTest webrtc/multi-video.html is a flaky crash
        https://bugs.webkit.org/show_bug.cgi?id=170823
        <rdar://problem/31611583>

        Unreviewed.

        * TestExpectations: Reactivating test.

2017-04-21  Daniel Bates  <dabates@apple.com>

        [iOS] Skip http/tests/security/contentSecurityPolicy/{audio, video}-redirect-allowed2.html
        <rdar://problem/31690952>

        Rubber-stamped by Jer Noble.

        We can enable these tests again once we fix <rdar://problem/25780035>.

        * platform/ios/TestExpectations:

2017-04-21  Per Arne Vollan  <pvollan@apple.com>

        Validate vImage arguments
        https://bugs.webkit.org/show_bug.cgi?id=171109

        Reviewed by Brent Fulgham.

        * fast/canvas/canvas-crash-expected.txt: Added.
        * fast/canvas/canvas-crash.html: Added.

2017-04-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webrtc/datachannel/bufferedAmountLowThreshold.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170701

        Unreviewed test gardening.

        * TestExpectations:

2017-04-21  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement Intl.DateTimeFormat.prototype.formatToParts
        https://bugs.webkit.org/show_bug.cgi?id=169458

        Reviewed by JF Bastien.

        Add tests for formatToParts

        * js/intl-datetimeformat-expected.txt:
        * js/script-tests/intl-datetimeformat.js:

2017-04-21  Timothy Horton  <timothy_horton@apple.com>

        Expose obscured insets to web content (as "safe area insets")
        https://bugs.webkit.org/show_bug.cgi?id=171013
        <rdar://problem/31564652>

        Reviewed by Wenson Hsieh and Dave Hyatt.

        * TestExpectations:
        * fast/css/variables/constants/invalid-constant-name-fallback-expected.html: Added.
        * fast/css/variables/constants/invalid-constant-name-fallback.html: Added.
        * fast/css/variables/constants/ios/safe-area-inset-set-expected.html: Added.
        * fast/css/variables/constants/ios/safe-area-inset-set.html: Added.
        * fast/css/variables/constants/safe-area-inset-cannot-override-expected.html: Added.
        * fast/css/variables/constants/safe-area-inset-cannot-override.html: Added.
        * fast/css/variables/constants/safe-area-inset-zero-expected.html: Added.
        * fast/css/variables/constants/safe-area-inset-zero.html: Added.
        * platform/ios-wk2/TestExpectations:

2017-04-20  Commit Queue  <commit-queue@webkit.org>

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

        Made all tests crash under GuardMalloc (Requested by ap on
        #webkit).

        Reverted changeset:

        "Expose obscured insets to web content (as "safe area
        insets")"
        https://bugs.webkit.org/show_bug.cgi?id=171013
        http://trac.webkit.org/changeset/215597

2017-04-20  Timothy Horton  <timothy_horton@apple.com>

        Expose obscured insets to web content (as "safe area insets")
        https://bugs.webkit.org/show_bug.cgi?id=171013
        <rdar://problem/31564652>

        Reviewed by Wenson Hsieh and Dave Hyatt.

        * TestExpectations:
        * fast/css/variables/constants/invalid-constant-name-fallback-expected.html: Added.
        * fast/css/variables/constants/invalid-constant-name-fallback.html: Added.
        * fast/css/variables/constants/ios/safe-area-inset-set-expected.html: Added.
        * fast/css/variables/constants/ios/safe-area-inset-set.html: Added.
        * fast/css/variables/constants/safe-area-inset-cannot-override-expected.html: Added.
        * fast/css/variables/constants/safe-area-inset-cannot-override.html: Added.
        * fast/css/variables/constants/safe-area-inset-zero-expected.html: Added.
        * fast/css/variables/constants/safe-area-inset-zero.html: Added.
        * platform/ios-wk2/TestExpectations:

2017-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169109

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170921

        Unreviewed test gardening.

        * TestExpectations:

2017-04-20  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add regular expression support to XHR breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=170099
        <rdar://problem/31558082>

        Reviewed by Joseph Pecoraro.

        Update tests and expectations for new XHR breakpoint type.

        * inspector/dom-debugger/xhr-breakpoints-expected.txt:
        * inspector/dom-debugger/xhr-breakpoints.html:

2017-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>

        Inline anchor elements cannot be dragged when starting the drag from a block descendant
        https://bugs.webkit.org/show_bug.cgi?id=171062
        <rdar://problem/31697835>

        Reviewed by Tim Horton.

        Adds a new test on WK1 Mac to verify that link dragging succeeds when the link's anchor element is inline and
        the drag is started from a block element under the link.

        * fast/events/drag-and-drop-link-containing-block-expected.txt: Added.
        * fast/events/drag-and-drop-link-containing-block.html: Added.
        * platform/ios/TestExpectations:
        * platform/mac-wk2/TestExpectations:

        Skip the test on iOS and Mac WK2.

2017-04-20  Aaron Chu  <aaron_chu@apple.com>

        AX: Modern Media Controls Timeline slider should be operable
        https://bugs.webkit.org/show_bug.cgi?id=170250

        Reviewed by Antoine Quint.

        * media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt: Added.
        * media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html: Added.

2017-04-18  Filip Pizlo  <fpizlo@apple.com>

        Optimize SharedArrayBuffer in the DFG+FTL
        https://bugs.webkit.org/show_bug.cgi?id=164108

        Reviewed by Saam Barati.
        
        Add a test of futex performance.

        * workers/sab/cascade_lock-worker.js: Added.
        (onmessage):
        * workers/sab/cascade_lock.html: Added.
        * workers/sab/worker-resources.js:
        (cascadeLockSlow):
        (cascadeLock):
        (cascadeUnlock):

2017-04-20  Jon Lee  <jonlee@apple.com>

        Update pip placard to "picture in picture"
        https://bugs.webkit.org/show_bug.cgi?id=171036
        rdar://problem/30201536

        Reviewed by Antoine Quint.

        * media/modern-media-controls/pip-placard/pip-placard-expected.txt: Updated expected results.
        * media/modern-media-controls/pip-placard/pip-placard.html:

2017-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two crypto/subtle/ecdsa LayoutTests as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=171059

        Unreviewed test gardening.

        * TestExpectations:

2017-04-20  Ryan Haddad  <ryanhaddad@apple.com>

        Mark memory/memory-pressure-simulation.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170629

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-04-20  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Update layout tests expectations after r215556
        https://bugs.webkit.org/show_bug.cgi?id=170942

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2017-04-20  Youenn Fablet  <youenn@apple.com>

        RTCPeerConnection is stopping its backend twice sometimes
        https://bugs.webkit.org/show_bug.cgi?id=171043

        Reviewed by Eric Carlson.

        * webrtc/closing-peerconnection-expected.txt: Added.
        * webrtc/closing-peerconnection.html: Added.

2017-04-20  Joanmarie Diggs  <jdiggs@igalia.com>

        [ATK] Implement support for DPub ARIA roles
        https://bugs.webkit.org/show_bug.cgi?id=170679

        Reviewed by Chris Fleizach.

        Update tests and expectations to reflect the modified WebCore Accessibility
        role mappings, and the corresponding changes for the platforms.

        * accessibility/gtk/xml-roles-exposed-expected.txt:
        * accessibility/gtk/xml-roles-exposed.html:
        * accessibility/roles-exposed.html:
        * inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
        * platform/gtk/TestExpectations:
        * platform/gtk/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2017-04-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170907

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-04-19  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/html/dom/reflection-embedded.html.

        Unreviewed test gardening.

        * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:

2017-04-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/XMLHttpRequest/getallresponseheaders-cl.htm as failing.
        https://bugs.webkit.org/show_bug.cgi?id=171031

        Unreviewed test gardening.

        * TestExpectations:

2017-04-19  Ryan Haddad  <ryanhaddad@apple.com>

        Remove two tests after r215515.
        https://bugs.webkit.org/show_bug.cgi?id=171014

        Unreviewed test gardening.

        * TestExpectations:

2017-04-19  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests after r215515.
        https://bugs.webkit.org/show_bug.cgi?id=171014

        Unreviewed test gardening.

        * TestExpectations:
        * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/ios/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt:
        * platform/ios/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:

2017-04-19  Alex Christensen  <achristensen@webkit.org>

        Parsing large XML strings fails
        https://bugs.webkit.org/show_bug.cgi?id=170999
        <rdar://problem/17336267>

        Reviewed by Brady Eidson.

        * fast/dom/xml-large-expected.txt: Added.
        * fast/dom/xml-large.html: Added.

2017-04-19  Chris Fleizach  <cfleizach@apple.com>

        AX: <hr> should use a different role description than interactive separators
        https://bugs.webkit.org/show_bug.cgi?id=170317
        <rdar://problem/31363024>

        Reviewed by Joanmarie Diggs.

        * accessibility/mac/hr-element-expected.txt:
        * accessibility/mac/hr-element.html:

2017-04-19  JF Bastien  <jfbastien@apple.com>

        Unreviewed, rolling out r215520.

        Broke Debian 8

        Reverted changeset:

        "[INTL] Implement Intl.DateTimeFormat.prototype.formatToParts"
        https://bugs.webkit.org/show_bug.cgi?id=169458
        http://trac.webkit.org/changeset/215520

2017-04-19  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement Intl.DateTimeFormat.prototype.formatToParts
        https://bugs.webkit.org/show_bug.cgi?id=169458

        Reviewed by JF Bastien.

        Add tests for formatToParts

        * js/intl-datetimeformat-expected.txt:
        * js/script-tests/intl-datetimeformat.js:

2017-04-19  Youenn Fablet  <youenn@apple.com>

        Import web-platform-tests/tools
        https://bugs.webkit.org/show_bug.cgi?id=170718

        Reviewed by Alex Christensen.

        * TestExpectations:
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.worker-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt.
        * tests-options.json:

2017-04-19  Antti Koivisto  <antti@apple.com>

        Avoid repaints for invisible animations on tumblr.com/search/aww
        https://bugs.webkit.org/show_bug.cgi?id=170986
        <rdar://problem/28644580>

        Reviewed by Andreas Kling.

        * fast/repaint/mutate-non-visible-expected.txt: Added.
        * fast/repaint/mutate-non-visible.html: Added.

2017-04-18  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Check both origins and cookieHostNames for domain matches in data removal
        https://bugs.webkit.org/show_bug.cgi?id=170763
        <rdar://problem/31573091>

        Reviewed by Alex Christensen.

        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt: Added.
        * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html: Added.

2017-04-18  Dean Jackson  <dino@apple.com>

        Update ANGLE
        https://bugs.webkit.org/show_bug.cgi?id=170941
        <rdar://problem/31633999>

        Reviewed by Alex Christensen.

        * fast/canvas/webgl/fragment-shader-assertion-expected.txt:

2017-04-18  Brent Fulgham  <bfulgham@apple.com>

        Correct handling of isolatedWorld in event handling
        https://bugs.webkit.org/show_bug.cgi?id=65589
        <rdar://problem/24097804>

        Reviewed by Geoffrey Garen.

        This following test cases are from the following Blink change:
        https://src.chromium.org/viewvc/blink?revision=152377&view=revision

        * fast/dom/event-attrs-isolated-world-expected.txt: Added.
        * fast/dom/event-attrs-isolated-world.html: Added.
        * http/tests/security/isolatedWorld/onclick-attribute-expected.txt: Added.
        * http/tests/security/isolatedWorld/onclick-attribute.html: Added.

2017-04-18  Wenson Hsieh  <wenson_hsieh@apple.com>

        [WK2] Cannot select text on nytimes.com when the selection granularity is WKSelectionGranularityCharacter
        https://bugs.webkit.org/show_bug.cgi?id=170968
        <rdar://problem/31692560>

        Reviewed by Dan Bernstein.

        Adds a new layout test checking that text within a node with a click handler can be selected when using
        character selection granularity.

        * editing/selection/character-granularity-select-text-with-click-handler-expected.txt: Added.
        * editing/selection/character-granularity-select-text-with-click-handler.html: Added.

2017-04-18  Joseph Pecoraro  <pecoraro@apple.com>

        [mac-wk1 Debug] LayoutTest http/tests/inspector/network/resource-sizes-network.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170953

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:
        Mark a flakey test in WebKit1.

2017-04-17  Sam Weinig  <sam@webkit.org>

        [WebIDL] Make annotated types first class allowing them to be used in sequences and unions
        https://bugs.webkit.org/show_bug.cgi?id=170926

        Reviewed by Chris Dumez.

        * js/dom/webidl-type-mapping-expected.txt:
        * js/dom/webidl-type-mapping.html:
        Update test to account for testDictionary now being an attribute,
        and test that the annotated type members behave correctly.

2017-04-18  Oleksandr Skachkov  <gskachkov@gmail.com>

        [ES6]. Implement Annex B.3.3 function hoisting rules for eval
        https://bugs.webkit.org/show_bug.cgi?id=163208

        Reviewed by Saam Barati.

        * inspector/runtime/evaluate-CommandLineAPI-expected.txt:
        * inspector/runtime/evaluate-CommandLineAPI.html:
        * js/parser-syntax-check-expected.txt:
        * js/script-tests/parser-syntax-check.js:

2017-04-18  Antti Koivisto  <antti@apple.com>

        Enable optimized layer flushes on iOS
        https://bugs.webkit.org/show_bug.cgi?id=170938
        <rdar://problem/31677395>

        Reviewed by Simon Fraser.

        Add test verifying that tiles get created for touch overflow scrolling.

        * compositing/ios/overflow-scroll-touch-tiles-expected.txt: Added.
        * compositing/ios/overflow-scroll-touch-tiles.html: Added.

2017-04-18  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for "selectors4" tests on mac-wk1.
        https://trac.webkit.org/changeset/215457/webkit

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-18  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Add support for percentage gaps
        https://bugs.webkit.org/show_bug.cgi?id=170764

        Reviewed by Sergio Villar Senin.

        Import tests from Blink.

        * fast/css-grid-layout/grid-gutters-as-percentage-expected.txt: Added.
        * fast/css-grid-layout/grid-gutters-as-percentage.html: Added.
        * fast/css-grid-layout/grid-gutters-get-set-expected.txt:
        * fast/css-grid-layout/grid-gutters-get-set.html:

2017-04-18  Miguel Gomez  <magomez@igalia.com>

        [GTK+] Crash in WebCore::ImageFrame::ImageFrame()
        https://bugs.webkit.org/show_bug.cgi?id=170332

        Reviewed by Carlos Garcia Campos.

        Added a test to ensure that the browser doesn't crash when loading a PNG image which
        reports a wrong number of frames.

        * fast/images/bad-png-missing-fdat-expected.txt: Added.
        * fast/images/bad-png-missing-fdat.html: Added.
        * fast/images/resources/bad-png-missing-fdAT.png: Added.

2017-04-18  Manuel Rego Casasnovas  <rego@igalia.com>

        [selectors4] Import W3C Test Suite
        https://bugs.webkit.org/show_bug.cgi?id=170898

        Reviewed by Youenn Fablet.

        * TestExpectations: Mark a few tests as failure linking to the related bugs.
        * platform/mac-wk1/TestExpectations: Marking some tests that have issues on WK1.

2017-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Add several test expectations.

        * platform/gtk/TestExpectations:

2017-04-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Doesn't show size of compressed content correctly
        https://bugs.webkit.org/show_bug.cgi?id=155112
        <rdar://problem/25006728>

        Reviewed by Alex Christensen and Timothy Hatcher.

        * http/tests/inspector/network/resource-sizes-disk-cache-expected.txt: Added.
        * http/tests/inspector/network/resource-sizes-disk-cache.html: Added.
        * http/tests/inspector/network/resource-sizes-memory-cache-expected.txt: Added.
        * http/tests/inspector/network/resource-sizes-memory-cache.html: Added.
        * http/tests/inspector/network/resource-sizes-network-expected.txt: Added.
        * http/tests/inspector/network/resource-sizes-network.html: Added.
        Test resource sizes under different load conditions.

        * platform/mac/http/tests/inspector/network/resource-sizes-memory-cache-expected.txt: Added.
        * platform/mac/http/tests/inspector/network/resource-sizes-network-expected.txt: Added.
        Older versions of macOS will not have the new metrics, but test their output anyways.

        * http/tests/inspector/network/resources/404.php: Added.
        * http/tests/inspector/network/resources/gzipped-lorem-no-content-length.php: Added.
        * http/tests/inspector/network/resources/gzipped-lorem.php: Added.
        * http/tests/inspector/network/resources/lorem.txt: Added.
        Different resources with fixed sizes (text, gzipped, 404 with fixed response).

        * http/tests/inspector/network/resources/resource-size-test.js: Added.
        (TestPage.registerInitializer.InspectorTest.gracefulExpectEquals):
        (TestPage.registerInitializer.window.addResourceSizeTest):
        (TestPage.registerInitializer):
        Shared test code for resource sizes.

        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:

2017-04-17  Youenn Fablet  <youenn@apple.com>

        Enable video autoplay when getUserMedia is on
        https://bugs.webkit.org/show_bug.cgi?id=170919

        Reviewed by Geoffrey Garen.

        * webrtc/video-autoplay-expected.txt: Added.
        * webrtc/video-autoplay.html: Added.

2017-04-17  Ryan Haddad  <ryanhaddad@apple.com>

        Skip webrtc/multi-video.html.
        https://bugs.webkit.org/show_bug.cgi?id=170823

        Unreviewed test gardening.

        * TestExpectations:

2017-04-17  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/video-mute.html is a flaky failure
        https://bugs.webkit.or
        g/show_bug.cgi?id=170704

        Reviewed by Eric Carlson.

        * webrtc/video-mute.html: Another try at making the test not flaky.

2017-04-17  Tim Horton  <timothy_horton@apple.com>

        Provide a viewport parameter to disable clipping to the safe area
        https://bugs.webkit.org/show_bug.cgi?id=170766
        <rdar://problem/31564634>

        Reviewed by Beth Dakin.

        * tiled-drawing/ios/viewport-clip-to-safe-area-no-gets-margin-tiles-expected.txt: Added.
        * tiled-drawing/ios/viewport-clip-to-safe-area-no-gets-margin-tiles.html: Added.
        * tiled-drawing/ios/viewport-clip-to-safe-area-yes-gets-no-margin-tiles-expected.txt: Added.
        * tiled-drawing/ios/viewport-clip-to-safe-area-yes-gets-no-margin-tiles.html: Added.

2017-04-14  Jiewen Tan  <jiewen_tan@apple.com>

        [WebCrypto] Add support for ECDSA
        https://bugs.webkit.org/show_bug.cgi?id=170789
        <rdar://problem/31588604>

        Reviewed by Brent Fulgham.

        * crypto/subtle/ec-generate-key-malformed-parameters-expected.txt:
        * crypto/subtle/ec-generate-key-malformed-parameters.html:
        * crypto/subtle/ec-import-key-malformed-parameters-expected.txt:
        * crypto/subtle/ec-import-key-malformed-parameters.html:
        * crypto/subtle/ecdh-generate-export-key-pkcs8-p256-expected.txt: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p256-expected.txt.
        * crypto/subtle/ecdh-generate-export-key-pkcs8-p256.html: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p256.html.
        * crypto/subtle/ecdh-generate-export-key-pkcs8-p384-expected.txt: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p384-expected.txt.
        * crypto/subtle/ecdh-generate-export-key-pkcs8-p384.html: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p384.html.
        * crypto/subtle/ecdsa-generate-export-jwk-key-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-export-jwk-key.html: Added.
        * crypto/subtle/ecdsa-generate-export-key-pkcs8-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-export-key-pkcs8.html: Added.
        * crypto/subtle/ecdsa-generate-export-key-raw-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-export-key-raw.html: Added.
        * crypto/subtle/ecdsa-generate-export-key-spki-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-export-key-spki.html: Added.
        * crypto/subtle/ecdsa-generate-key-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-key-sign-verify-p256-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-key-sign-verify-p256.html: Added.
        * crypto/subtle/ecdsa-generate-key-sign-verify-p384-expected.txt: Added.
        * crypto/subtle/ecdsa-generate-key-sign-verify-p384.html: Added.
        * crypto/subtle/ecdsa-generate-key.html: Added.
        * crypto/subtle/ecdsa-import-jwk-private-key-expected.txt: Added.
        * crypto/subtle/ecdsa-import-jwk-private-key.html: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key-alg-256-expected.txt: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key-alg-256.html: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key-alg-384-expected.txt: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key-alg-384.html: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key-expected.txt: Added.
        * crypto/subtle/ecdsa-import-jwk-public-key.html: Added.
        * crypto/subtle/ecdsa-import-key-sign-p256-expected.txt: Added.
        * crypto/subtle/ecdsa-import-key-sign-p256.html: Added.
        * crypto/subtle/ecdsa-import-key-sign-p384-expected.txt: Added.
        * crypto/subtle/ecdsa-import-key-sign-p384.html: Added.
        * crypto/subtle/ecdsa-import-key-verify-p256-expected.txt: Added.
        * crypto/subtle/ecdsa-import-key-verify-p256.html: Added.
        * crypto/subtle/ecdsa-import-key-verify-p384-expected.txt: Added.
        * crypto/subtle/ecdsa-import-key-verify-p384.html: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key-expected.txt: Added.
        * crypto/subtle/ecdsa-import-pkcs8-key.html: Added.
        * crypto/subtle/ecdsa-import-raw-key-expected.txt: Added.
        * crypto/subtle/ecdsa-import-raw-key.html: Added.
        * crypto/subtle/ecdsa-import-spki-key-expected.txt: Added.
        * crypto/subtle/ecdsa-import-spki-key.html: Added.
        * crypto/subtle/ecdsa-verify-malformed-parameters-expected.txt: Added.
        * crypto/subtle/ecdsa-verify-malformed-parameters.html: Added.
        * crypto/workers/subtle/ecdsa-import-key-sign-expected.txt: Added.
        * crypto/workers/subtle/ecdsa-import-key-sign.html: Added.
        * crypto/workers/subtle/ecdsa-import-key-verify-expected.txt: Added.
        * crypto/workers/subtle/ecdsa-import-key-verify.html: Added.
        * crypto/workers/subtle/resources/ecdsa-import-key-sign.js: Added.
        * crypto/workers/subtle/resources/ecdsa-import-key-verify.js: Added.

2017-04-17  Youenn Fablet  <youenn@apple.com>

        LayoutTestwebrtc/audio-replace-track.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170837

        Reviewed by Eric Carlson.

        * webrtc/audio-replace-track.html: Updating the test to be less flaky.

2017-04-17  Youenn Fablet  <youenn@apple.com>

        RTCPeerConnection addTrack does not require a stream parameter
        https://bugs.webkit.org/show_bug.cgi?id=170894

        Reviewed by Alex Christensen.

        * webrtc/video-addTrack-expected.txt: Added.
        * webrtc/video-addTrack.html: Added.

2017-04-16  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/built-ins/Object/prototype/toLocaleString/primitive_this_value.js
        https://bugs.webkit.org/show_bug.cgi?id=170882

        Reviewed by Saam Barati.

        * js/dom/object-prototype-toLocaleString-expected.txt:
        * js/dom/script-tests/object-prototype-toLocaleString.js:
        Test the case of toLocaleString where toString does not exist.

2017-04-16  Chris Dumez  <cdumez@apple.com>

        CMD+R / CMD+Q is considered as user interaction and beforeunload alert is shown
        https://bugs.webkit.org/show_bug.cgi?id=169995
        <rdar://problem/23798897>

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * fast/events/beforeunload-alert-handled-keydown-expected.txt: Added.
        * fast/events/beforeunload-alert-handled-keydown.html: Added.
        * fast/events/beforeunload-alert-unhandled-keydown-expected.txt: Added.
        * fast/events/beforeunload-alert-unhandled-keydown.html: Added.

2017-04-16  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js
        https://bugs.webkit.org/show_bug.cgi?id=170879

        Reviewed by Saam Barati.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2017-04-14  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: WebSockets: messages with non-latin letters are displayed incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=170760

        Reviewed by Joseph Pecoraro.

        Test sending and receiving text and binary (blob and array buffer) data.

        * http/tests/websocket/tests/hybi/inspector/binary-expected.txt: Added.
        * http/tests/websocket/tests/hybi/inspector/binary.html: Added.
        * http/tests/websocket/tests/hybi/inspector/binary_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
        (all_distinct_bytes):
        * http/tests/websocket/tests/hybi/inspector/send-and-receive-expected.txt: Added.
        * http/tests/websocket/tests/hybi/inspector/send-and-receive.html: Added.
        * http/tests/websocket/tests/hybi/inspector/send-and-receive_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):

2017-04-14  Jiewen Tan  <jiewen_tan@apple.com>

        [WebCrypto] Support HKDF
        https://bugs.webkit.org/show_bug.cgi?id=170636
        <rdar://problem/23539827>

        Reviewed by Brent Fulgham.

        * TestExpectations:
        * crypto/subtle/ecdh-import-key-derive-hkdf-key-expected.txt: Added.
        * crypto/subtle/ecdh-import-key-derive-hkdf-key.html: Added.
        * crypto/subtle/hkdf-derive-bits-malformed-parametrs-expected.txt: Added.
        * crypto/subtle/hkdf-derive-bits-malformed-parametrs.html: Added.
        * crypto/subtle/hkdf-import-key-derive-bits-expected.txt: Added.
        * crypto/subtle/hkdf-import-key-derive-bits.html: Added.
        * crypto/subtle/hkdf-import-key-derive-hmac-key-expected.txt: Added.
        * crypto/subtle/hkdf-import-key-derive-hmac-key.html: Added.
        * crypto/subtle/hkdf-import-key-expected.txt: Added.
        * crypto/subtle/hkdf-import-key-malformed-parameters-expected.txt: Added.
        * crypto/subtle/hkdf-import-key-malformed-parameters.html: Added.
        * crypto/subtle/hkdf-import-key.html: Added.
        * crypto/workers/subtle/hkdf-import-key-derive-bits-expected.txt: Added.
        * crypto/workers/subtle/hkdf-import-key-derive-bits.html: Added.
        * crypto/workers/subtle/hkdf-import-key-derive-hmac-key-expected.txt: Added.
        * crypto/workers/subtle/hkdf-import-key-derive-hmac-key.html: Added.
        * crypto/workers/subtle/hkdf-import-key-expected.txt: Added.
        * crypto/workers/subtle/hkdf-import-key.html: Added.
        * crypto/workers/subtle/resources/hkdf-import-key-derive-bits.js: Added.
        * crypto/workers/subtle/resources/hkdf-import-key-derive-hmac-key.js: Added.
        * crypto/workers/subtle/resources/hkdf-import-key.js: Added.

2017-04-14  Ryan Haddad  <ryanhaddad@apple.com>

        Skip workers/wasm-* LayoutTests on ios-simulator.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-04-14  Zalan Bujtas  <zalan@apple.com>

        text-align start / end failure in table cells
        https://bugs.webkit.org/show_bug.cgi?id=141417
        <rdar://problem/31051672>

        Reviewed by Antti Koivisto.

        * fast/table/center-th-when-parent-has-initial-text-align-expected.html: Added.
        * fast/table/center-th-when-parent-has-initial-text-align.html: Added.

2017-04-13  Saam Barati  <sbarati@apple.com>

        WebAssembly: We should be able to postMessage a JSWebAssemblyModule
        https://bugs.webkit.org/show_bug.cgi?id=170573

        Reviewed by Filip Pizlo.

        * storage/indexeddb/resources/wasm-exceptions.js: Added.
        (const._fail):
        (const.isNotA.assert.isNotA):
        (const):
        (switch.typeof):
        (Builder):
        (Builder.prototype.setChecked):
        (Builder.prototype.setPreamble):
        (Builder.prototype._functionIndexSpaceKeyHash):
        (Builder.prototype._registerFunctionToIndexSpace):
        (Builder.prototype._getFunctionFromIndexSpace):
        (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
        (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e):
        (Builder.prototype._registerSectionBuilders.this.Unknown):
        (prepareDatabase):
        (testDatabase):
        * storage/indexeddb/wasm-exceptions-expected.txt: Added.
        * storage/indexeddb/wasm-exceptions.html: Added.
        * workers/wasm-hashset: Added.
        * workers/wasm-hashset-expected.txt: Added.
        * workers/wasm-hashset-many-expected.txt: Added.
        * workers/wasm-hashset-many.html: Added.
        * workers/wasm-hashset.html: Added.
        * workers/wasm-hashset/many-test.js: Added.
        (reallyDone):
        (console.log):
        (console.error):
        (console.assert):
        (i.worker.onmessage):
        (Module.print):
        (Module.printErr):
        (Module.canvas):
        (Module.setStatus):
        (Module):
        (setValue):
        (getValue):
        (allocate):
        (getMemory):
        (Pointer_stringify):
        (AsciiToString):
        (stringToAscii):
        (UTF8ArrayToString):
        (UTF8ToString):
        (stringToUTF8Array):
        (stringToUTF8):
        (lengthBytesUTF8):
        (demangle):
        (demangleAll):
        (stackTrace):
        (alignUp):
        (updateGlobalBuffer):
        (updateGlobalBufferViews):
        (abortOnCannotGrowMemory):
        (enlargeMemory):
        (getTotalMemory):
        (callRuntimeCallbacks):
        (preRun):
        (ensureInitRuntime):
        (preMain):
        (exitRuntime):
        (postRun):
        (addOnPreRun):
        (addOnInit):
        (addOnPreMain):
        (addOnExit):
        (addOnPostRun):
        (intArrayFromString):
        (intArrayToString):
        (writeStringToMemory):
        (writeArrayToMemory):
        (writeAsciiToMemory):
        (Math.string_appeared_here):
        (addRunDependency):
        (removeRunDependency):
        (integrateWasmJS.asm2wasmImports.string_appeared_here):
        (integrateWasmJS.lookupImport):
        (integrateWasmJS.mergeMemory):
        (integrateWasmJS.fixImports):
        (integrateWasmJS.getBinary):
        (integrateWasmJS.doJustAsm):
        (integrateWasmJS.receiveInstance):
        (integrateWasmJS.):
        (integrateWasmJS.doNativeWasm):
        (integrateWasmJS.doWasmPolyfill):
        (integrateWasmJS.Module.string_appeared_here):
        (integrateWasmJS):
        (___setErrNo):
        (__ZSt18uncaught_exceptionv):
        (EXCEPTIONS.deAdjust):
        (EXCEPTIONS.addRef):
        (EXCEPTIONS.decRef):
        (EXCEPTIONS.clearRef):
        (___cxa_find_matching_catch):
        (___gxx_personality_v0):
        (___lock):
        (_emscripten_memcpy_big):
        (_gettimeofday):
        (_abort):
        (SYSCALLS):
        (SYSCALLS.get getStr):
        (SYSCALLS.get64):
        (SYSCALLS.getZero):
        (try.___syscall146.printChar):
        (___syscall146):
        (___syscall54):
        (___unlock):
        (___syscall6):
        (invoke_ii):
        (invoke_iiii):
        (invoke_v):
        (_malloc.Module.string_appeared_here):
        (getTempRet0.Module.string_appeared_here):
        (_free.Module.string_appeared_here):
        (_main.Module.string_appeared_here):
        (setTempRet0.Module.string_appeared_here):
        (establishStackSpace.Module.string_appeared_here):
        (stackSave.Module.string_appeared_here):
        (_memset.Module.string_appeared_here):
        (_sbrk.Module.string_appeared_here):
        (_emscripten_get_global_libc.Module.string_appeared_here):
        (_memcpy.Module.string_appeared_here):
        (___errno_location.Module.string_appeared_here):
        (setThrew.Module.string_appeared_here):
        (_fflush.Module.string_appeared_here):
        (stackAlloc.Module.string_appeared_here):
        (stackRestore.Module.string_appeared_here):
        (_llvm_bswap_i32.Module.string_appeared_here):
        (runPostSets.Module.string_appeared_here):
        (dynCall_ii.Module.string_appeared_here):
        (dynCall_iiii.Module.string_appeared_here):
        (dynCall_v.Module.string_appeared_here):
        (else.applyMemoryInitializer):
        (else):
        (else.useRequest):
        (ExitStatus):
        (dependenciesFulfilled):
        (Module.string_appeared_here.Module.callMain.callMain.pad):
        (Module.string_appeared_here.Module.callMain):
        (run.doRun):
        (run):
        (exit):
        * workers/wasm-hashset/many-worker.js: Added.
        (console.log):
        (console.error):
        (console.assert):
        (Module.print):
        (Module.printErr):
        (Module.canvas):
        (Module.setStatus):
        (Module):
        (setValue):
        (getValue):
        (allocate):
        (getMemory):
        (Pointer_stringify):
        (AsciiToString):
        (stringToAscii):
        (UTF8ArrayToString):
        (UTF8ToString):
        (stringToUTF8Array):
        (stringToUTF8):
        (lengthBytesUTF8):
        (demangle):
        (demangleAll):
        (stackTrace):
        (alignUp):
        (updateGlobalBuffer):
        (updateGlobalBufferViews):
        (abortOnCannotGrowMemory):
        (enlargeMemory):
        (getTotalMemory):
        (callRuntimeCallbacks):
        (preRun):
        (ensureInitRuntime):
        (preMain):
        (exitRuntime):
        (postRun):
        (addOnPreRun):
        (addOnInit):
        (addOnPreMain):
        (addOnExit):
        (addOnPostRun):
        (intArrayFromString):
        (intArrayToString):
        (writeStringToMemory):
        (writeArrayToMemory):
        (writeAsciiToMemory):
        (Math.string_appeared_here):
        (addRunDependency):
        (removeRunDependency):
        (integrateWasmJS.asm2wasmImports.string_appeared_here):
        (integrateWasmJS.lookupImport):
        (integrateWasmJS.mergeMemory):
        (integrateWasmJS.fixImports):
        (integrateWasmJS.getBinary):
        (integrateWasmJS.doJustAsm):
        (integrateWasmJS.receiveInstance):
        (integrateWasmJS.doNativeWasm):
        (integrateWasmJS.doWasmPolyfill):
        (integrateWasmJS.Module.string_appeared_here):
        (integrateWasmJS):
        (___setErrNo):
        (__ZSt18uncaught_exceptionv):
        (EXCEPTIONS.deAdjust):
        (EXCEPTIONS.addRef):
        (EXCEPTIONS.decRef):
        (EXCEPTIONS.clearRef):
        (___cxa_find_matching_catch):
        (___gxx_personality_v0):
        (___lock):
        (_emscripten_memcpy_big):
        (_gettimeofday):
        (_abort):
        (SYSCALLS):
        (SYSCALLS.get getStr):
        (SYSCALLS.get64):
        (SYSCALLS.getZero):
        (try.___syscall146.printChar):
        (___syscall146):
        (___syscall54):
        (___unlock):
        (___syscall6):
        (invoke_ii):
        (invoke_iiii):
        (invoke_v):
        (_malloc.Module.string_appeared_here):
        (getTempRet0.Module.string_appeared_here):
        (_free.Module.string_appeared_here):
        (_main.Module.string_appeared_here):
        (setTempRet0.Module.string_appeared_here):
        (establishStackSpace.Module.string_appeared_here):
        (stackSave.Module.string_appeared_here):
        (_memset.Module.string_appeared_here):
        (_sbrk.Module.string_appeared_here):
        (_emscripten_get_global_libc.Module.string_appeared_here):
        (_memcpy.Module.string_appeared_here):
        (___errno_location.Module.string_appeared_here):
        (setThrew.Module.string_appeared_here):
        (_fflush.Module.string_appeared_here):
        (stackAlloc.Module.string_appeared_here):
        (stackRestore.Module.string_appeared_here):
        (_llvm_bswap_i32.Module.string_appeared_here):
        (runPostSets.Module.string_appeared_here):
        (dynCall_ii.Module.string_appeared_here):
        (dynCall_iiii.Module.string_appeared_here):
        (dynCall_v.Module.string_appeared_here):
        (else.applyMemoryInitializer):
        (else):
        (else.useRequest):
        (ExitStatus):
        (dependenciesFulfilled):
        (Module.string_appeared_here.Module.callMain.callMain.pad):
        (Module.string_appeared_here.Module.callMain):
        (run.doRun):
        (run):
        (exit):
        * workers/wasm-hashset/test.js: Added.
        (reallyDone):
        (console.log):
        (console.error):
        (console.assert):
        (Module.print):
        (Module.printErr):
        (Module.canvas):
        (Module.setStatus):
        (Module):
        (setValue):
        (getValue):
        (allocate):
        (getMemory):
        (Pointer_stringify):
        (AsciiToString):
        (stringToAscii):
        (UTF8ArrayToString):
        (UTF8ToString):
        (stringToUTF8Array):
        (stringToUTF8):
        (lengthBytesUTF8):
        (demangle):
        (demangleAll):
        (stackTrace):
        (alignUp):
        (updateGlobalBuffer):
        (updateGlobalBufferViews):
        (abortOnCannotGrowMemory):
        (enlargeMemory):
        (getTotalMemory):
        (callRuntimeCallbacks):
        (preRun):
        (ensureInitRuntime):
        (preMain):
        (exitRuntime):
        (postRun):
        (addOnPreRun):
        (addOnInit):
        (addOnPreMain):
        (addOnExit):
        (addOnPostRun):
        (intArrayFromString):
        (intArrayToString):
        (writeStringToMemory):
        (writeArrayToMemory):
        (writeAsciiToMemory):
        (Math.string_appeared_here):
        (addRunDependency):
        (removeRunDependency):
        (integrateWasmJS.asm2wasmImports.string_appeared_here):
        (integrateWasmJS.lookupImport):
        (integrateWasmJS.mergeMemory):
        (integrateWasmJS.fixImports):
        (integrateWasmJS.getBinary):
        (integrateWasmJS.doJustAsm):
        (integrateWasmJS.receiveInstance):
        (integrateWasmJS.doNativeWasm):
        (integrateWasmJS.doWasmPolyfill):
        (integrateWasmJS.Module.string_appeared_here):
        (integrateWasmJS):
        (___setErrNo):
        (__ZSt18uncaught_exceptionv):
        (EXCEPTIONS.deAdjust):
        (EXCEPTIONS.addRef):
        (EXCEPTIONS.decRef):
        (EXCEPTIONS.clearRef):
        (___cxa_find_matching_catch):
        (___gxx_personality_v0):
        (___lock):
        (_emscripten_memcpy_big):
        (_gettimeofday):
        (_abort):
        (SYSCALLS):
        (SYSCALLS.get getStr):
        (SYSCALLS.get64):
        (SYSCALLS.getZero):
        (try.___syscall146.printChar):
        (___syscall146):
        (___syscall54):
        (___unlock):
        (___syscall6):
        (invoke_ii):
        (invoke_iiii):
        (invoke_v):
        (_malloc.Module.string_appeared_here):
        (getTempRet0.Module.string_appeared_here):
        (_free.Module.string_appeared_here):
        (_main.Module.string_appeared_here):
        (setTempRet0.Module.string_appeared_here):
        (establishStackSpace.Module.string_appeared_here):
        (stackSave.Module.string_appeared_here):
        (_memset.Module.string_appeared_here):
        (_sbrk.Module.string_appeared_here):
        (_emscripten_get_global_libc.Module.string_appeared_here):
        (_memcpy.Module.string_appeared_here):
        (___errno_location.Module.string_appeared_here):
        (setThrew.Module.string_appeared_here):
        (_fflush.Module.string_appeared_here):
        (stackAlloc.Module.string_appeared_here):
        (stackRestore.Module.string_appeared_here):
        (_llvm_bswap_i32.Module.string_appeared_here):
        (runPostSets.Module.string_appeared_here):
        (dynCall_ii.Module.string_appeared_here):
        (dynCall_iiii.Module.string_appeared_here):
        (dynCall_v.Module.string_appeared_here):
        (else.applyMemoryInitializer):
        (else):
        (else.useRequest):
        (ExitStatus):
        (dependenciesFulfilled):
        (Module.string_appeared_here.Module.callMain.callMain.pad):
        (Module.string_appeared_here.Module.callMain):
        (run.doRun):
        (run):
        (exit):
        * workers/wasm-hashset/worker.js: Added.
        (console.log):
        (console.error):
        (console.assert):
        (Module.print):
        (Module.printErr):
        (Module.canvas):
        (Module.setStatus):
        (Module):
        (setValue):
        (getValue):
        (allocate):
        (getMemory):
        (Pointer_stringify):
        (AsciiToString):
        (stringToAscii):
        (UTF8ArrayToString):
        (UTF8ToString):
        (stringToUTF8Array):
        (stringToUTF8):
        (lengthBytesUTF8):
        (demangle):
        (demangleAll):
        (stackTrace):
        (alignUp):
        (updateGlobalBuffer):
        (updateGlobalBufferViews):
        (abortOnCannotGrowMemory):
        (enlargeMemory):
        (getTotalMemory):
        (callRuntimeCallbacks):
        (preRun):
        (ensureInitRuntime):
        (preMain):
        (exitRuntime):
        (postRun):
        (addOnPreRun):
        (addOnInit):
        (addOnPreMain):
        (addOnExit):
        (addOnPostRun):
        (intArrayFromString):
        (intArrayToString):
        (writeStringToMemory):
        (writeArrayToMemory):
        (writeAsciiToMemory):
        (Math.string_appeared_here):
        (addRunDependency):
        (removeRunDependency):
        (integrateWasmJS.asm2wasmImports.string_appeared_here):
        (integrateWasmJS.lookupImport):
        (integrateWasmJS.mergeMemory):
        (integrateWasmJS.fixImports):
        (integrateWasmJS.getBinary):
        (integrateWasmJS.doJustAsm):
        (integrateWasmJS.receiveInstance):
        (integrateWasmJS.):
        (integrateWasmJS.doNativeWasm):
        (integrateWasmJS.doWasmPolyfill):
        (integrateWasmJS.Module.string_appeared_here):
        (integrateWasmJS):
        (___setErrNo):
        (__ZSt18uncaught_exceptionv):
        (EXCEPTIONS.deAdjust):
        (EXCEPTIONS.addRef):
        (EXCEPTIONS.decRef):
        (EXCEPTIONS.clearRef):
        (___cxa_find_matching_catch):
        (___gxx_personality_v0):
        (___lock):
        (_emscripten_memcpy_big):
        (_gettimeofday):
        (_abort):
        (SYSCALLS):
        (SYSCALLS.get getStr):
        (SYSCALLS.get64):
        (SYSCALLS.getZero):
        (try.___syscall146.printChar):
        (___syscall146):
        (___syscall54):
        (___unlock):
        (___syscall6):
        (invoke_ii):
        (invoke_iiii):
        (invoke_v):
        (_malloc.Module.string_appeared_here):
        (getTempRet0.Module.string_appeared_here):
        (_free.Module.string_appeared_here):
        (_main.Module.string_appeared_here):
        (setTempRet0.Module.string_appeared_here):
        (establishStackSpace.Module.string_appeared_here):
        (stackSave.Module.string_appeared_here):
        (_memset.Module.string_appeared_here):
        (_sbrk.Module.string_appeared_here):
        (_emscripten_get_global_libc.Module.string_appeared_here):
        (_memcpy.Module.string_appeared_here):
        (___errno_location.Module.string_appeared_here):
        (setThrew.Module.string_appeared_here):
        (_fflush.Module.string_appeared_here):
        (stackAlloc.Module.string_appeared_here):
        (stackRestore.Module.string_appeared_here):
        (_llvm_bswap_i32.Module.string_appeared_here):
        (runPostSets.Module.string_appeared_here):
        (dynCall_ii.Module.string_appeared_here):
        (dynCall_iiii.Module.string_appeared_here):
        (dynCall_v.Module.string_appeared_here):
        (else.applyMemoryInitializer):
        (else):
        (else.useRequest):
        (ExitStatus):
        (dependenciesFulfilled):
        (Module.string_appeared_here.Module.callMain.callMain.pad):
        (Module.string_appeared_here.Module.callMain):
        (run.doRun):
        (run):
        (exit):
        * workers/wasm-long-compile-expected.txt: Added.
        * workers/wasm-long-compile-many-expected.txt: Added.
        * workers/wasm-long-compile-many.html: Added.
        * workers/wasm-long-compile.html: Added.
        * workers/wasm-resources: Added.
        * workers/wasm-resources/long-compile-many.js: Added.
        (done):
        (i.async.run):
        (i.worker.onmessage):
        * workers/wasm-resources/long-compile-worker.js: Added.
        (const._fail):
        (const.isNotA.assert.isNotA):
        (const):
        (switch.typeof):
        (Builder):
        (Builder.prototype.setChecked):
        (Builder.prototype.setPreamble):
        (Builder.prototype._functionIndexSpaceKeyHash):
        (Builder.prototype._registerFunctionToIndexSpace):
        (Builder.prototype._getFunctionFromIndexSpace):
        (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
        (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e):
        (Builder.prototype._registerSectionBuilders.this.Unknown):
        * workers/wasm-resources/long-compile.js: Added.
        (done):
        (async.run):
        (worker.onmessage):

2017-04-13  Dean Jackson  <dino@apple.com>

        Large negative animation-delays may not work depending on machine uptime
        https://bugs.webkit.org/show_bug.cgi?id=166962
        <rdar://problem/30091526>

        Reviewed by Tim Horton.

        * animations/large-negative-delay-expected.txt: Added.
        * animations/large-negative-delay.html: Added.

2017-04-13  Andy VanWagoner  <thetalecrafter@gmail.com>

        Change Intl prototypes to plain objects
        https://bugs.webkit.org/show_bug.cgi?id=168178

        Reviewed by JF Bastien.

        * js/intl-collator-expected.txt:
        * js/intl-datetimeformat-expected.txt:
        * js/intl-numberformat-expected.txt:
        * js/script-tests/intl-collator.js:
        * js/script-tests/intl-datetimeformat.js:
        * js/script-tests/intl-numberformat.js:

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/mediacapturefromelement/CanvasCaptureMediaStream-request-frame-events.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=169719

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-04-13  Antti Koivisto  <antti@apple.com>

        Don't invalidate composition for style changes in non-composited layers
        https://bugs.webkit.org/show_bug.cgi?id=170805
        <rdar://problem/31606185>

        Reviewed by Simon Fraser.

        * compositing/updates/animation-non-composited-expected.txt: Added.
        * compositing/updates/animation-non-composited.html: Added.

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webrtc/video-mute.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170704

        Unreviewed test gardening.

        * TestExpectations:

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/media-controls-timeline-updates-when-hovered.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=165553

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/track/track-cue-rendering-rtl.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170831

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/sampling-profiler/named-function-expression.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170830

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Add ios-simulator baseline for imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html.

        Unreviewed test gardening.

        * platform/ios-simulator/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Added.

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/inspector/network/resource-request-headers.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170702

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/volume-support/volume-support-click.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=164229

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-13  Chris Dumez  <cdumez@apple.com>

        LayoutTest svg/animations/animated-svg-image-outside-viewport-paused.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170745

        Reviewed by Tim Horton.

        Test was relying on a setTimeout(30) and was flaky. Now use shouldBecomeEqual() to make the
        test more robust.

        * svg/animations/animated-svg-image-outside-viewport-paused-expected.txt:
        * svg/animations/animated-svg-image-outside-viewport-paused.html:

2017-04-13  Youenn Fablet  <youenn@apple.com>

        Remove RTCSignalingState::Closed
        https://bugs.webkit.org/show_bug.cgi?id=170811

        Reviewed by Eric Carlson.

        * webrtc/connection-state.html:

2017-04-13  Jonathan Bedard  <jbedard@apple.com>

        Remove compositing/masks/solid-color-masked.html expectation
        https://bugs.webkit.org/show_bug.cgi?id=168054

        Unreviewed test gardening.

        * platform/ios/TestExpectations: Remove compositing/masks/solid-color-masked.html.

2017-04-13  Youenn Fablet  <youenn@apple.com>

        Add some more WebRTC tests
        https://bugs.webkit.org/show_bug.cgi?id=170796

        Reviewed by Eric Carlson.

        * webrtc/multi-video-expected.txt: Added.
        * webrtc/multi-video.html: Added.
        * webrtc/video-with-data-channel-expected.txt: Added.
        * webrtc/video-with-data-channel.html: Added.

2017-04-13  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Implement cloneArrayBuffer in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=170008

        Reviewed by Youenn Fablet.

        Added test to check cloneArrayBuffer behaviour. 

        * streams/clone-array-buffer-expected.txt: Added.
        * streams/clone-array-buffer.html: Added.

2017-04-13  Youenn Fablet  <youenn@apple.com>

        onnegotiationneeded should only be called once
        https://bugs.webkit.org/show_bug.cgi?id=170785

        Reviewed by Alex Christensen.

        * webrtc/negotiatedneeded-event-addStream.html:

2017-04-13  Dave Hyatt  <hyatt@apple.com>

        Rendering flexbox children across columns
        https://bugs.webkit.org/show_bug.cgi?id=164166
        <rdar://problem/29055587>

        Reviewed by Zalan Bujtas.

        * fast/multicol/flexbox-rows-expected.html: Added.
        * fast/multicol/flexbox-rows.html: Added.

2017-04-13  Antti Koivisto  <antti@apple.com>

        Try to unflake a test.

        * http/tests/cache/disk-cache/disk-cache-media-small.html:

2017-04-12  Brady Eidson  <beidson@apple.com>

        QuotaExceededError when saving to localStorage in private mode.
        https://bugs.webkit.org/show_bug.cgi?id=157010

        Reviewed by Alex Christensen.

        * platform/mac-wk2/TestExpectations:
        * storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt:
        * storage/domstorage/localstorage/private-browsing-affects-storage.html:
        * storage/domstorage/localstorage/resources/private-browsing-1.html: Added.
        * storage/domstorage/localstorage/resources/private-browsing-2.html: Added.
        * storage/domstorage/localstorage/resources/private-browsing-3.html: Added.
        * storage/domstorage/localstorage/resources/private-browsing-storage-2.html: Added.
        * storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt: Removed.
        * storage/domstorage/sessionstorage/private-browsing-affects-storage.html: Removed.

2017-04-12  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/built-ins/NativeErrors/EvalError/proto.js
        https://bugs.webkit.org/show_bug.cgi?id=170668

        Reviewed by Keith Miller.

        * ietestcenter/Javascript/15.2.3.2-2-12-expected.txt:
        * ietestcenter/Javascript/15.2.3.2-2-13-expected.txt:
        * ietestcenter/Javascript/15.2.3.2-2-14-expected.txt:
        * ietestcenter/Javascript/15.2.3.2-2-15-expected.txt:
        * ietestcenter/Javascript/15.2.3.2-2-16-expected.txt:
        * ietestcenter/Javascript/15.2.3.2-2-17-expected.txt:
        These tests are now out of date.

2017-04-12  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/language/literals/regexp/u-dec-esc.js
        https://bugs.webkit.org/show_bug.cgi?id=170687

        Reviewed by Michael Saboff.

        * js/regexp-unicode-expected.txt:
        * js/script-tests/regexp-unicode.js:
        Extend test to test invalid backreferences.

2017-04-12  Jonathan Bedard  <jbedard@apple.com>

        Move expectation for compositing/iframes/iframe-size-from-zero.htm to top level

        Unreviewed test gardening.

        * TestExpectations: Marked compositing/iframes/iframe-size-from-zero.html as flaky.
        * platform/ios-wk1/TestExpectations: Move test expectation to top level.
        * platform/mac-wk1/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.
        * platform/wk2/TestExpectations: Ditto.

2017-04-11  Dean Jackson  <dino@apple.com>

        canvas/2d.gradient.* LayoutTests failing
        https://bugs.webkit.org/show_bug.cgi?id=170757
        <rdar://problem/31177990>

        Reviewed by Antoine Quint.

        Add a fudge factor to the gradient tests, since we can
        now produce noisy (nicer looking) gradients. There might
        be 1 or 2 bits of difference per pixel.

        * canvas/philip/tests.js:
        (_assertPixelWithGradientNoise):
        * canvas/philip/tests/2d.gradient.linear.transform.1.html:
        * canvas/philip/tests/2d.gradient.linear.transform.2.html:
        * canvas/philip/tests/2d.gradient.linear.transform.3.html:
        * canvas/philip/tests/2d.gradient.radial.cone.bottom.html:
        * canvas/philip/tests/2d.gradient.radial.cone.cylinder.html:
        * canvas/philip/tests/2d.gradient.radial.cone.front.html:
        * canvas/philip/tests/2d.gradient.radial.cone.shape1.html:
        * canvas/philip/tests/2d.gradient.radial.cone.top.html:
        * canvas/philip/tests/2d.gradient.radial.inside1.html:
        * canvas/philip/tests/2d.gradient.radial.inside2.html:
        * canvas/philip/tests/2d.gradient.radial.inside3.html:
        * canvas/philip/tests/2d.gradient.radial.outside1.html:
        * canvas/philip/tests/2d.gradient.radial.outside2.html:
        * canvas/philip/tests/2d.gradient.radial.outside3.html:
        * canvas/philip/tests/2d.gradient.radial.touch2.html:
        * fast/canvas/script-tests/canvas-gradient-on-compositing.js:
        * fast/canvas/canvas-gradient-on-compositing-expected.html:

2017-04-12  Myles C. Maxfield  <mmaxfield@apple.com>

        Well-known variations should clamp to the values listed in the @font-face block
        https://bugs.webkit.org/show_bug.cgi?id=169260

        Reviewed by Dean Jackson.

        * fast/text/variations/font-face-clamp-expected.html: Added.
        * fast/text/variations/font-face-clamp.html: Added.

2017-04-12  Jonathan Bedard  <jbedard@apple.com>

        Remove two passing canvas tests from ios expectations

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-04-12  Youenn Fablet  <youenn@apple.com>

        REGRESSION: LayoutTest webrtc/negotiatedneeded-event-addStream.html is frequently crashing
        https://bugs.webkit.org/show_bug.cgi?id=170754
        <rdar://problem/31573169>

        Unreviewed.

        * TestExpectations: Marking test as crashing.

2017-04-12  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Replaced elements don't properly resolve percentage heights
        https://bugs.webkit.org/show_bug.cgi?id=159670

        Reviewed by Darin Adler.

        The issue was fixed in r213149 (bug #168657), but the Blink test was not imported.
        This patch only adds the test to avoid regressions in the future.

        * fast/css-grid-layout/grid-item-with-percent-height-replaced-element-expected.txt: Added.
        * fast/css-grid-layout/grid-item-with-percent-height-replaced-element.html: Added.

2017-04-10  Antti Koivisto  <antti@apple.com>

        Cache small media resources in disk cache
        https://bugs.webkit.org/show_bug.cgi?id=170676
        <rdar://problem/31532649>

        Reviewed by Andreas Kling.

        * http/tests/cache/disk-cache/disk-cache-media-small-expected.txt: Added.
        * http/tests/cache/disk-cache/disk-cache-media-small.html: Added.

2017-04-12  Per Arne Vollan  <pvollan@apple.com>

        Implement stroke-color CSS property.
        https://bugs.webkit.org/show_bug.cgi?id=169352

        Reviewed by Jon Lee.

        * fast/css/stroke-color-expected.html: Added.
        * fast/css/stroke-color-fallback-expected.html: Added.
        * fast/css/stroke-color-fallback.html: Added.
        * fast/css/stroke-color.html: Added.
        * fast/css/visited-link-stroke-color-expected.html: Added.
        * fast/css/visited-link-stroke-color.html: Added.

2017-04-11  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/video-mute.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170704

        Reviewed by Eric Carlson.

        * webrtc/video-mute.html: Trying to make it less flaky.

2017-04-11  Youenn Fablet  <youenn@apple.com>

        [WK1] Add captureStream test with webrtc
        https://bugs.webkit.org/show_bug.cgi?id=170746

        Reviewed by Eric Carlson.

        * platform/mac-wk1/TestExpectations: Activating this new test in WK1.
        * webrtc/captureCanvas-webrtc-expected.txt: Added.
        * webrtc/captureCanvas-webrtc.html: Added.

2017-04-11  Youenn Fablet  <youenn@apple.com>

        Migrating webrtc tests to latest API
        https://bugs.webkit.org/show_bug.cgi?id=170709

        Reviewed by Eric Carlson.

        * webrtc/audio-peer-connection-webaudio.html:
        * webrtc/libwebrtc/descriptionGetters.html:
        * webrtc/negotiatedneeded-event-addStream.html:
        * webrtc/peer-connection-audio-mute.html:
        * webrtc/peer-connection-audio-mute2.html:
        * webrtc/peer-connection-remote-audio-mute.html:
        * webrtc/peer-connection-remote-audio-mute2.html:
        * webrtc/release-after-getting-track.html:
        * webrtc/video-disabled-black.html:
        * webrtc/video-mute.html:
        * webrtc/video-remote-mute.html:
        * webrtc/video-with-receiver.html:
        * webrtc/video.html:

2017-04-11  Youenn Fablet  <youenn@apple.com>

        Activate WebRTC data channel tests for WK1
        https://bugs.webkit.org/show_bug.cgi?id=170710

        Reviewed by Eric Carlson.

        * platform/mac-wk1/TestExpectations:

2017-04-11  Youenn Fablet  <youenn@apple.com>

        MediaStream id should be equal to msid
        https://bugs.webkit.org/show_bug.cgi?id=170712

        Reviewed by Eric Carlson.

        Removing no longer needed/Adding needed calls to useMockRTCPeerConnectionFactory.

        * fast/mediastream/RTCPeerConnection-inspect-answer.html:
        * fast/mediastream/RTCPeerConnection-inspect-offer.html:
        * fast/mediastream/RTCPeerConnection-legacy-stream-based-api.html:
        * fast/mediastream/RTCPeerConnection-media-setup-single-dialog.html:
        * fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html:
        * fast/mediastream/RTCPeerConnection-setLocalDescription-offer.html:
        * fast/mediastream/RTCPeerConnection-setRemoteDescription-offer.html:
        * webrtc/audio-peer-connection-webaudio.html:
        * webrtc/audio-replace-track.html:
        * webrtc/connection-state.html:
        * webrtc/datachannel/basic.html:
        * webrtc/datachannel/bufferedAmountLowThreshold.html:
        * webrtc/datachannel/datachannel-gc.html:
        * webrtc/datachannel/datachannel-stats.html:
        * webrtc/datachannel/filter-ice-candidate.html:
        * webrtc/ephemeral-certificates-and-cnames.html:
        * webrtc/libwebrtc/descriptionGetters.html:
        * webrtc/negotiatedneeded-event-addStream.html:
        * webrtc/no-port-zero-in-upd-candidates.html:
        * webrtc/peer-connection-audio-mute.html:
        * webrtc/peer-connection-audio-mute2.html:
        * webrtc/peer-connection-remote-audio-mute.html:
        * webrtc/peer-connection-remote-audio-mute2.html:
        * webrtc/release-after-getting-track.html:
        * webrtc/video-disabled-black.html:
        * webrtc/video-getParameters.html:
        * webrtc/video-mediastreamtrack-stats.html:
        * webrtc/video-mute.html:
        * webrtc/video-remote-mute.html:
        * webrtc/video-replace-track-to-null.html:
        * webrtc/video-replace-track.html:
        * webrtc/video-stats.html:
        * webrtc/video-with-receiver.html:
        * webrtc/video.html:

2017-04-11  Chris Fleizach  <cfleizach@apple.com>

        AX: Web article navigation does not work (article rotor for Facebook, Twitter, Messages etc.)
        https://bugs.webkit.org/show_bug.cgi?id=170330
        <rdar://problem/31366105>

        Reviewed by Joanmarie Diggs.

        * accessibility/mac/search-predicate-article-expected.txt:
        * accessibility/mac/search-predicate-article.html:

2017-04-11  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/annexB/language/comments/multi-line-html-close.js
        https://bugs.webkit.org/show_bug.cgi?id=170648

        Reviewed by Keith Miller.

        * js/parser-xml-close-comment-expected.txt:
        * js/script-tests/parser-xml-close-comment.js:
        Update test coverage for JavaScript HTML comments.

2017-04-11  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/built-ins/Array/S15.4.3_A2.2.js
        https://bugs.webkit.org/show_bug.cgi?id=170652

        Reviewed by Michael Saboff.

        * ietestcenter/Javascript/15.2.3.3-4-186-expected.txt:
        * ietestcenter/Javascript/15.2.3.3-4-191-expected.txt:
        * ietestcenter/Javascript/15.2.3.3-4-194-expected.txt:
        * ietestcenter/Javascript/15.2.3.3-4-201-expected.txt:
        * ietestcenter/Javascript/15.3.3.2-1-expected.txt:
        * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.3/S15.4.3_A2.2-expected.txt:
        * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A3_T2-expected.txt:
        These tests expected the opposite, they are now out of date.

2017-04-11  Yoav Weiss  <yoav@yoav.ws>

        [link preload] Double downloads of preloaded content when it's in MemoryCache
        https://bugs.webkit.org/show_bug.cgi?id=170122

        Reviewed by Antti Koivisto.

        * TestExpectations: Removed flakiness label from the header preload charset test.
        * fast/loader/cache-encoding-expected.txt: Changed expectation.
        * fast/loader/cache-encoding.html: Modified behavior to stick with the first decoded string.
        * http/tests/preload/preload-encoding-expected.txt: Changed expectation.
        * http/tests/preload/preload-encoding.html: Modified behavior to stick with the first decoded string.
        * imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-01-expected.txt: This test refers to the same file
        twice and expects different decoding for it each time. This is the behavior that we modified, and therefore the test expectation is changed as well.

2017-04-11  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Fix fast/css-grid-layout/grid-simplified-layout-positioned.html
        https://bugs.webkit.org/show_bug.cgi?id=167538

        Reviewed by Darin Adler.

        fast/css-grid-layout/grid-simplified-layout-positioned.html was flacky
        as the caret was not always painted in the test runner.
        The test was checking for a crash in simplified layout (see bug #163450)
        and has nothing to do with the caret or "autofocus" behavior.
        "autofocus" was needed to get the crash, so this change modifies
        the test to blur the element, so the caret is not painted anymore.

        * fast/css-grid-layout/grid-simplified-layout-positioned-expected.html:
        Don't focus the input element.
        * fast/css-grid-layout/grid-simplified-layout-positioned.html: Blur
        the input element to avoid showing the caret.
        * platform/mac-wk2/TestExpectations: Remove file from expectations.

2017-04-10  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, test expectations update

        * platform/wk2/TestExpectations:

2017-04-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two newly imported web-platform-tests as failing.

        Unreviewed test gardening.

        * TestExpectations:

2017-04-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/volume-slider/volume-slider-value.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=167475

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>

        REGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid-drop-targets-receive-file-drop.html failing
        https://bugs.webkit.org/show_bug.cgi?id=170677
        <rdar://problem/31512633>

        Reviewed by Tim Horton.

        Turn enableDragDestinationActionLoad on in these two LayoutTests via WKTR options.

        * fast/events/drag-to-navigate.html:
        * fast/events/only-valid-drop-targets-receive-file-drop.html:

2017-04-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/volume-up-support/volume-up-support.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170682

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-10  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html after r215131.

        Unreviewed test gardening.

        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-04-10  Andreas Kling  <akling@apple.com>

        Don't generate extra scrolling tiles for non-visible pages.
        https://bugs.webkit.org/show_bug.cgi?id=167213
        <rdar://problem/30105774>

        Reviewed by Antti Koivisto.

        * TestExpectations:
        * compositing/tiling/non-visible-window-tile-coverage-expected.txt: Added.
        * compositing/tiling/non-visible-window-tile-coverage.html: Added.
        * platform/mac-wk2/TestExpectations:

2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started to fail in the bots after r214426
        https://bugs.webkit.org/show_bug.cgi?id=170667

        Reviewed by Žan Doberšek.

        Unskip then test that is passing now.

        * platform/gtk/TestExpectations:

2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Mark several tests as failing/timing out.

        * platform/gtk/TestExpectations:

2017-04-10  Miguel Gomez  <magomez@igalia.com>

        REGRESSION(r205841): [GTK] Test fast/images/animated-png.html is failing since r205841
        https://bugs.webkit.org/show_bug.cgi?id=168425

        Reviewed by Said Abou-Hallawa.

        Adjusted expectation for fast/images/animated-png.html. It must pass now.

        * platform/gtk/TestExpectations:

2017-04-09  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: tabbing in Styles sidebar is broken when additional ":" and ";" are in the property value
        https://bugs.webkit.org/show_bug.cgi?id=170184

        Reviewed by Matt Baker.

        * inspector/unit-tests/text-utilities-expected.txt: Added.
        * inspector/unit-tests/text-utilities.html: Added.

2017-04-09  Youenn Fablet  <youenn@apple.com>

        Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
        https://bugs.webkit.org/show_bug.cgi?id=170647

        Reviewed by Sam Weinig.

        * TestExpectations:
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-expected.txt: Added.
        * platform/mac/TestExpectations:
        * tests-options.json:

2017-04-09  Joseph Pecoraro  <pecoraro@apple.com>

        test262: test262/test/annexB/language/literals/regexp/identity-escape.js
        https://bugs.webkit.org/show_bug.cgi?id=170651

        Reviewed by Saam Barati.

        * js/regexp-no-extensions-expected.txt:
        * js/script-tests/regexp-no-extensions.js:
        Update existing test for these edge cases.

2017-04-08  Myles C. Maxfield  <mmaxfield@apple.com>

        [Variation Fonts] Width values of GX fonts are not mapped correctly
        https://bugs.webkit.org/show_bug.cgi?id=170367

        Reviewed by Simon Fraser.

        * fast/text/variations/font-selection-properties-expected.html:
        * fast/text/variations/gx-width-expected.html: Added.
        * fast/text/variations/gx-width.html: Added.

2017-04-08  Said Abou-Hallawa  <sabouhallawa@apple.com>

        A synchronous DecodingOptions should be compatible with any asynchronous sizeForDrawing DecodingOptions
        https://bugs.webkit.org/show_bug.cgi?id=170577

        Reviewed by Simon Fraser.

        * fast/images/async-image-background-image-repeated-expected.html: Added.
        * fast/images/async-image-background-image-repeated.html: Added.

2017-04-08  Simon Fraser  <simon.fraser@apple.com>

        Unprefix CSS cursor values grab and grabbing
        https://bugs.webkit.org/show_bug.cgi?id=170543

        Reviewed by Jon Lee.

        Enhanced the cursor test to check round-tripping of all values.

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

2017-04-08  Youenn Fablet  <youenn@apple.com>

        WebRTC tests gardening
        https://bugs.webkit.org/show_bug.cgi?id=170508

        Reviewed by Eric Carlson.

        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-04-08  Youenn Fablet  <youenn@apple.com>

        MediaStreamTrack id should be preserved by PeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=170624

        Reviewed by Eric Carlson.

        * webrtc/video.html:

2017-04-07  Chris Dumez  <cdumez@apple.com>

        Unreviewed, update 2 media tests after r215120 so they work on iOS.

        Setting the volume is a no-op on iOS so mute the video instead.

        * media/video-restricted-invisible-autoplay-allowed-when-visible.html:
        * media/video-restricted-invisible-autoplay-not-allowed.html:

2017-04-07  Yuichiro Kikura  <y.kikura@gmail.com>

        WebGPU: implement ComputeCommandEncoder and related components    
        https://bugs.webkit.org/show_bug.cgi?id=170444

        Reviewed by Alex Christensen.

        Added a test case to ensure ComputeCommandEncoder is dispatched successfully

        * fast/canvas/webgpu/webgpu-dispatch-expected.txt: Added.
        * fast/canvas/webgpu/webgpu-dispatch.html: Added.

2017-04-07  Zalan Bujtas  <zalan@apple.com>

        Simple line layout: FlowContents::segmentIndexForRunSlow skips empty runs.
        https://bugs.webkit.org/show_bug.cgi?id=170552

        Reviewed by Antti Koivisto.

        * fast/text/simple-line-layout-hover-over-subsequent-linebreaks-expected.txt: Added.
        * fast/text/simple-line-layout-hover-over-subsequent-linebreaks.html: Added.

2017-04-07  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=168540

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-07  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/codemirror/prettyprinting-css.html as a flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=170615

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-07  Chris Dumez  <cdumez@apple.com>

        Audible autoplay videos should not get paused when outside the viewport
        https://bugs.webkit.org/show_bug.cgi?id=170610
        <rdar://problem/31505984>

        Reviewed by Eric Carlson.

        Add layout test coverage.

        * media/video-restricted-invisible-autoplay-allowed-if-audible-expected.txt: Added.
        * media/video-restricted-invisible-autoplay-allowed-if-audible.html: Copied from LayoutTests/media/video-restricted-invisible-autoplay-not-allowed.html.
        * media/video-restricted-invisible-autoplay-allowed-when-visible.html:
        * media/video-restricted-invisible-autoplay-not-allowed.html:

2017-04-07  Chris Dumez  <cdumez@apple.com>

        Throttle / Align DOM Timers in cross-origin iframes to 30fps
        https://bugs.webkit.org/show_bug.cgi?id=170613
        <rdar://problem/31506444>

        Reviewed by Simon Fraser.

        Add layout test coverage.

        * http/tests/frame-throttling/resources/timer-throttling-frame.html: Added.
        * http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe-expected.txt: Added.
        * http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html: Added.

2017-04-07  Brent Fulgham  <bfulgham@apple.com>

        Rebaseline additional tests after r215096.
        https://bugs.webkit.org/show_bug.cgi?id=170561
        <rdar://problem/7415154>

        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block-expected.txt:
        * http/tests/security/no-popup-from-sandbox-top-expected.txt:
        * http/tests/xmlhttprequest/origin-exact-matching-expected.txt:

2017-04-07  Brent Fulgham  <bfulgham@apple.com>

        WebKit should percent encode single quotes in query strings
        https://bugs.webkit.org/show_bug.cgi?id=170561
        <rdar://problem/7415154>

        Reviewed by Alex Christensen.

        Rebaseline tests after change.

        * fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame-expected.txt:
        * fast/frames/xss-auditor-handles-file-urls-expected.txt:
        * http/tests/security/xssAuditor/base-href-control-char-expected.txt:
        * http/tests/security/xssAuditor/base-href-expected.txt:
        * http/tests/security/xssAuditor/base-href-null-char-expected.txt:
        * http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
        * http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
        * http/tests/security/xssAuditor/form-action-expected.txt:
        * http/tests/security/xssAuditor/formaction-on-button-expected.txt:
        * http/tests/security/xssAuditor/formaction-on-input-expected.txt:
        * http/tests/security/xssAuditor/frameset-injection-expected.txt:
        * http/tests/security/xssAuditor/full-block-base-href-expected.txt:
        * http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
        * http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
        * http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
        * http/tests/security/xssAuditor/iframe-injection-expected.txt:
        * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
        * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-expected.txt:
        * http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
        * http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
        * http/tests/security/xssAuditor/object-embed-tag-expected.txt:
        * http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
        * http/tests/security/xssAuditor/object-tag-expected.txt:
        * http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
        * http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
        * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
        * http/tests/security/xssAuditor/svg-animate-expected.txt:
        * http/tests/security/xssAuditor/svg-script-tag-expected.txt:
        * http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
        * http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:

2017-04-07  Youenn Fablet  <youenn@apple.com>

        Improve some WebRTC flaky tests
        https://bugs.webkit.org/show_bug.cgi?id=170584

        Reviewed by Alex Christensen.

        * webrtc/libwebrtc/descriptionGetters.html:
        * webrtc/video-replace-track-to-null.html:

2017-04-07  Zalan Bujtas  <zalan@apple.com>

        Text insertion cursor disappears after pressing enter
        https://bugs.webkit.org/show_bug.cgi?id=169291
        <rdar://problem/30899611>

        Reviewed by Tim Horton.

        * editing/simple-line-layout-caret-is-gone-expected.txt: Added.
        * editing/simple-line-layout-caret-is-gone.html: Added.

2017-04-06  Myles C. Maxfield  <mmaxfield@apple.com>

        Make FontWithFeatures test font pass OTS
        https://bugs.webkit.org/show_bug.cgi?id=169788

        Reviewed by Tim Horton.

        Updated font to the one which passes the tests.

        * css3/resources/FontWithFeatures.otf:

2017-04-06  Jiewen Tan  <jiewen_tan@apple.com>

        LayoutTest crypto/subtle/aes-ctr-encrypt-malformed-parameters.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=170571

        Unreviewed.

        * crypto/subtle/aes-ctr-encrypt-malformed-parameters-expected.txt:
        * crypto/subtle/aes-ctr-encrypt-malformed-parameters.html:

2017-04-06  Wenson Hsieh  <wenson_hsieh@apple.com>

        Scroll offset jumps after a programmatic scroll in an overflow container with scroll snapping
        https://bugs.webkit.org/show_bug.cgi?id=170560
        <rdar://problem/31484693>

        Reviewed by Tim Horton.

        Add a test verifying that programmatically changing the scroll offset of an overflow container does not cause the
        scroll offset to jump back to the last active snap position. See WebCore ChangeLog for more details.

        * css3/scroll-snap/scroll-snap-programmatic-overflow-scroll-expected.txt: Added.
        * css3/scroll-snap/scroll-snap-programmatic-overflow-scroll.html: Added.

2017-04-05  Simon Fraser  <simon.fraser@apple.com>

        Throttle requestAnimationFrame in cross-origin iframes to 30fps
        https://bugs.webkit.org/show_bug.cgi?id=170534

        Reviewed by Dan Bates.

        * http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe-expected.txt: Added.
        * http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html: Added.
        * http/tests/frame-throttling/resources/requestAnimationFrame-frame.html: Added.

2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r215041.

        The LayoutTest for this change is failing on ios-simulator.

        Reverted changeset:

        "Rendering flexbox children across columns"
        https://bugs.webkit.org/show_bug.cgi?id=164166
        http://trac.webkit.org/changeset/215041

2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r215046.

        This change broke internal builds.

        Reverted changeset:

        "WebRTC tests gardening"
        https://bugs.webkit.org/show_bug.cgi?id=170508
        http://trac.webkit.org/changeset/215046

2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>

        Skip a test that was accidentally enabled with r214982.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-04-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Show all headers in the Request Headers section of the Resource details sidebar
        https://bugs.webkit.org/show_bug.cgi?id=16531
        <rdar://problem/5712895>

        Reviewed by Timothy Hatcher.

        * http/tests/inspector/network/resource-request-headers-expected.txt: Added.
        * http/tests/inspector/network/resource-request-headers.html: Added.
        * http/tests/inspector/network/resources/basic-auth.php: Added.
        Test coverage for Cookie and Basic Authentication headers.

        * platform/mac/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:
        Mark the test as expected to fail on WebKit1 CFNetwork based platforms,
        and ElCapitan which uses the legacy non-NSURLSession loading path.

2017-04-06  Youenn Fablet  <youenn@apple.com>

        LayoutTest fast/mediastream/getUserMedia-webaudio.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=167513

        Reviewed by Eric Carlson.

        * fast/mediastream/getUserMedia-webaudio.html: Removing unecessary flaky check.

2017-04-06  Zalan Bujtas  <zalan@apple.com>

        Simple line layout: Hittest always returns the first renderer in the block.
        https://bugs.webkit.org/show_bug.cgi?id=170520
        <rdar://problem/30979175>

        Reviewed by Antti Koivisto.

        * fast/dom/Document/CaretRangeFromPoint/simple-line-layout-hittest-with-caret-range-from-point-expected.html: Added.
        * fast/dom/Document/CaretRangeFromPoint/simple-line-layout-hittest-with-caret-range-from-point.html: Added.

2017-03-31  Jiewen Tan  <jiewen_tan@apple.com>

        [WebCrypto] Add support for AES-CTR
        https://bugs.webkit.org/show_bug.cgi?id=169761
        <rdar://problem/31331321>

        Reviewed by Brent Fulgham.

        * crypto/subtle/aes-ctr-encrypt-malformed-parameters-expected.txt: Added.
        * crypto/subtle/aes-ctr-encrypt-malformed-parameters.html: Added.
        * crypto/subtle/aes-ctr-generate-export-key-jwk-length-128-expected.txt: Added.
        * crypto/subtle/aes-ctr-generate-export-key-jwk-length-128.html: Added.
        * crypto/subtle/aes-ctr-generate-export-key-jwk-length-192-expected.txt: Added.
        * crypto/subtle/aes-ctr-generate-export-key-jwk-length-192.html: Added.
        * crypto/subtle/aes-ctr-generate-export-key-jwk-length-256-expected.txt: Added.
        * crypto/subtle/aes-ctr-generate-export-key-jwk-length-256.html: Added.
        * crypto/subtle/aes-ctr-generate-export-raw-key-expected.txt: Added.
        * crypto/subtle/aes-ctr-generate-export-raw-key.html: Added.
        * crypto/subtle/aes-ctr-generate-key-encrypt-decrypt-expected.txt: Added.
        * crypto/subtle/aes-ctr-generate-key-encrypt-decrypt.html: Added.
        * crypto/subtle/aes-ctr-generate-key-expected.txt: Added.
        * crypto/subtle/aes-ctr-generate-key.html: Added.
        * crypto/subtle/aes-ctr-import-jwk-key-length-128-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-jwk-key-length-128.html: Added.
        * crypto/subtle/aes-ctr-import-jwk-key-length-192-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-jwk-key-length-192.html: Added.
        * crypto/subtle/aes-ctr-import-jwk-key-length-256-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-jwk-key-length-256.html: Added.
        * crypto/subtle/aes-ctr-import-key-decrypt-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-key-decrypt.html: Added.
        * crypto/subtle/aes-ctr-import-key-encrypt-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-key-encrypt.html: Added.
        * crypto/subtle/aes-ctr-import-key-unwrap-jwk-key-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-key-unwrap-jwk-key.html: Added.
        * crypto/subtle/aes-ctr-import-key-unwrap-raw-key-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-key-unwrap-raw-key.html: Added.
        * crypto/subtle/aes-ctr-import-key-wrap-jwk-key-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-key-wrap-jwk-key.html: Added.
        * crypto/subtle/aes-ctr-import-key-wrap-raw-key-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-key-wrap-raw-key.html: Added.
        * crypto/subtle/aes-ctr-import-raw-key-expected.txt: Added.
        * crypto/subtle/aes-ctr-import-raw-key.html: Added.
        * crypto/subtle/aes-generate-key-malformed-parameters-expected.txt:
        * crypto/subtle/aes-generate-key-malformed-parameters.html:
        * crypto/subtle/aes-import-key-malformed-parameters-expected.txt:
        * crypto/subtle/aes-import-key-malformed-parameters.html:
        * crypto/workers/subtle/aes-ctr-import-key-decrypt-expected.txt: Added.
        * crypto/workers/subtle/aes-ctr-import-key-decrypt.html: Added.
        * crypto/workers/subtle/aes-ctr-import-key-encrypt-expected.txt: Added.
        * crypto/workers/subtle/aes-ctr-import-key-encrypt.html: Added.
        * crypto/workers/subtle/aes-ctr-import-key-unwrap-key-expected.txt: Added.
        * crypto/workers/subtle/aes-ctr-import-key-unwrap-key.html: Added.
        * crypto/workers/subtle/aes-ctr-import-key-wrap-key-expected.txt: Added.
        * crypto/workers/subtle/aes-ctr-import-key-wrap-key.html: Added.
        * crypto/workers/subtle/resources/aes-ctr-import-key-decrypt.js: Added.
        * crypto/workers/subtle/resources/aes-ctr-import-key-encrypt.js: Added.
        * crypto/workers/subtle/resources/aes-ctr-import-key-unwrap-key.js: Added.
        * crypto/workers/subtle/resources/aes-ctr-import-key-wrap-key.js: Added.

2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/codemirror/prettyprinting-css-rules.html as flaky on release.
        https://bugs.webkit.org/show_bug.cgi?id=153460

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-06  Youenn Fablet  <youenn@apple.com>

        WebRTC tests gardening
        https://bugs.webkit.org/show_bug.cgi?id=170508

        Reviewed by Eric Carlson.

        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:

2017-04-06  Antti Koivisto  <antti@apple.com>

        Implement testing mode for disk cache
        https://bugs.webkit.org/show_bug.cgi?id=170547

        Reviewed by Andreas Kling.

        Enable a few disabled tests to see how it goes.

        * platform/mac-wk2/TestExpectations:

2017-04-06  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Implement ReadableStreamBYOBRequest respondWithNewView()
        https://bugs.webkit.org/show_bug.cgi?id=170339

        Reviewed by Youenn Fablet.

        Added new tests addressing respondWithNewView() behaviour.

        * streams/readable-stream-byob-request-expected.txt: Updated.
        * streams/readable-stream-byob-request.js: Added new tests.

2017-04-06  Dave Hyatt  <hyatt@apple.com>

        Rendering flexbox children across columns
        https://bugs.webkit.org/show_bug.cgi?id=164166
        <rdar://problem/29055587>

        Reviewed by Zalan Bujtas.

        * fast/multicol/flexbox-rows-expected.html: Added.
        * fast/multicol/flexbox-rows.html: Added.

2017-04-05  Simon Fraser  <simon.fraser@apple.com>

        Set lastHandledUserGestureTimestamp on all ancestor documents, not just the top document
        https://bugs.webkit.org/show_bug.cgi?id=170479

        Reviewed by Sam Weinig.

        * fast/frames/user-gesture-timestamp-propagation-expected.txt: Added.
        * fast/frames/user-gesture-timestamp-propagation.html: Added.
        * platform/ios/TestExpectations:

2017-04-05  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Host application should be able to mute and unmute media streams
        https://bugs.webkit.org/show_bug.cgi?id=170519
        <rdar://problem/31174326>

        Reviewed by Youenn Fablet.

        * fast/mediastream/MediaStream-page-muted-expected.txt:
        * fast/mediastream/MediaStream-page-muted.html:

2017-04-05  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Implement the place-items shorthand
        https://bugs.webkit.org/show_bug.cgi?id=168847

        Reviewed by David Hyatt.

        Regression tests for the new place-content alignment shorthand.

        * css3/parse-place-items.html: Added.

2017-04-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [WebRTC][OpenWebRTC] Add support for SDP BUNDLE ("a:group:BUNDLE" and "a=bundle-only" lines)
        https://bugs.webkit.org/show_bug.cgi?id=170157

        Reviewed by Alejandro G. Castro.

        The test fast/mediastream/RTCPeerConnection-inspect-offer-bundlePolicy-bundle-only.html
        is used to check that we generate the "a=bundle-only" lines on the "m=" sections
        according to the bundlePolicy. The 3 possible values of bundlePolicy are tested.
        To properly test bundlePolicy:"balanced" we generate 5 extra tracks (6 in total)
        for each one of the audio media type and video media type.

        * TestExpectations: Set RTCPeerConnection-inspect-offer-bundlePolicy-bundle-only.html
        as failing in the general TestExpectations, because the libwebrtc backend currently
        doesn't generate the expected a=bundle-only lines.
        On the GTK+ port TestExpectations file this is overriden, and the test is marked to pass.
        The whole fast/mediastream directory is already overriden to pass.
        * fast/mediastream/RTCPeerConnection-inspect-offer-bundlePolicy-bundle-only-expected.txt: Added.
        * fast/mediastream/RTCPeerConnection-inspect-offer-bundlePolicy-bundle-only.html: Added.
        * fast/mediastream/resources/sdp-utils.js:
        (printComparableSessionDescription): Validate the a=group:BUNDLE line to contain the required MID identifiers.
        * platform/gtk/fast/mediastream/RTCPeerConnection-inspect-answer-expected.txt: Added. Rebaseline with the expected a=group:BUNDLE line.
        * platform/gtk/fast/mediastream/RTCPeerConnection-inspect-offer-expected.txt: Added. Rebaseline with the expected a=group:BUNDLE line.

2017-04-05  Jer Noble  <jer.noble@apple.com>

        [MSE] Seeks to currentTime=0 will fail if currentTime is already 0.
        https://bugs.webkit.org/show_bug.cgi?id=170510

        Reviewed by Eric Carlson.

        * media/media-source/media-source-unnecessary-seek-seeked-expected.txt: Added.
        * media/media-source/media-source-unnecessary-seek-seeked.html: Added.

2017-04-05  Matt Baker  <mattbaker@apple.com>

        Web Inspector: XHR breakpoints should be global
        https://bugs.webkit.org/show_bug.cgi?id=170033

        Reviewed by Joseph Pecoraro..

        * inspector/dom-debugger/xhr-breakpoints.html:
        Update for XHRBreakpoint constructor change.

2017-04-05  Chris Dumez  <cdumez@apple.com>

        <input type="range"> changing to disabled while active breaks all pointer events
        https://bugs.webkit.org/show_bug.cgi?id=170447
        <rdar://problem/31442875>

        Reviewed by Geoffrey Garen.

        Add layout test coverage.

        * fast/forms/range/disabled-while-dragging-expected.txt: Added.
        * fast/forms/range/disabled-while-dragging.html: Added.

2017-04-05  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed, rebasing crypto/subtle/rsa-import-key-malformed-parameters.html
        <rdar://problem/31322400>

        * crypto/subtle/rsa-import-key-malformed-parameters-expected.txt:
        * crypto/subtle/rsa-import-key-malformed-parameters.html:

2017-04-05  Youenn Fablet  <youenn@apple.com>

        Deprecate and remove URL.createObjectURL(mediastream)
        https://bugs.webkit.org/show_bug.cgi?id=167518
        <rdar://problem/31149607>

        Reviewed by Eric Carlson.

        * fast/mediacapturefromelement/CanvasCaptureMediaStream-2d-events.html:
        * fast/mediacapturefromelement/CanvasCaptureMediaStream-request-frame-events.html:
        * fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html:
        * fast/mediastream/MediaStream-video-element-displays-buffer-expected.txt:
        * fast/mediastream/MediaStream-video-element-displays-buffer.html:
        * fast/mediastream/MediaStream-video-element-expected.txt:
        * fast/mediastream/MediaStream-video-element-track-stop-expected.txt:
        * fast/mediastream/MediaStream-video-element-track-stop.html:
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt:
        * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html:
        * fast/mediastream/MediaStream-video-element.html:
        * fast/mediastream/resources/getUserMedia-helper.js:
        (setupVideoElementWithStream):

2017-04-05  Javier Fernandez  <jfernandez@igalia.com>

        [GTK] Unreviewed tests gardening
        https://bugs.webkit.org/show_bug.cgi?id=170497

        Unreviewed test gardening. Rebaseline tests after r214712.

        * platform/gtk/fast/multicol/table-vertical-align-expected.txt:


2017-04-04  Alexey Proskuryakov  <ap@apple.com>

        Mark imported/w3c/web-platform-tests/fetch/api/response/response-trailer.html as flaky
        for https://bugs.webkit.org/show_bug.cgi?id=170493

        * platform/mac/TestExpectations:

2017-04-04  Youenn Fablet  <youenn@apple.com>

        Canvas is tainted when painting a video with MediaStreamTrack
        https://bugs.webkit.org/show_bug.cgi?id=170486

        Reviewed by Eric Carlson.

        * http/tests/media/media-stream/getusermedia-with-canvas-expected.txt: Added.
        * http/tests/media/media-stream/getusermedia-with-canvas.html: Added.
        * http/tests/media/media-stream/resources/getUserMedia-helper.js: Added.
        (reject):
        (getUserMedia):
        (defaultRejectOrCatch):
        (setupVideoElementWithStream):

2017-04-04  Youenn Fablet  <youenn@apple.com>

        [Mac] Add back web audio support for getUserMedia MediaStreamTrack
        https://bugs.webkit.org/show_bug.cgi?id=170482

        Reviewed by Eric Carlson.

        * TestExpectations:

2017-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/images/slower-animation-than-decoding-image.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=168390

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/images/reset-image-animation.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170177

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/airplay-button/airplay-button.html as flaky on mac-wk1 Release.
        https://bugs.webkit.org/show_bug.cgi?id=168409

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-04  Brent Fulgham  <bfulgham@apple.com>

        Do not assert when CharacterData representing an Attr fires events
        https://bugs.webkit.org/show_bug.cgi?id=170454
        <rdar://problem/30979320>

        Reviewed by Ryosuke Niwa.

        * fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt: Added.
        * fast/dom/no-assert-for-malformed-js-url-attribute.html: Added.

2017-04-04  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/libwebrtc/descriptionGetters.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=169481

        Reviewed by Eric Carlson.

        * platform/mac-wk2/TestExpectations: Removing flaky expectation.
        * webrtc/datachannel/basic.html:

2017-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Add back results that were accidentally removed with r214848.
        https://bugs.webkit.org/show_bug.cgi?id=169301

        Unreviewed test gardening.

        * platform/mac/fast/text/international/synthesized-italic-vertical-latin-expected.png: Added.
        * platform/mac/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Added.

2017-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170456

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-04-04  Youenn Fablet  <youenn@apple.com>

        webrtc/peer-connection-audio-mute.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=170451

        Reviewed by Eric Carlson.

        * TestExpectations: Removed flaky expectation for webrtc/peer-connection-audio-mute.html.
        * webrtc/peer-connection-remote-audio-mute.html: Added timer to ensure setting enable propagates.
        Decreasing time spent at detecting hum or not.
        * webrtc/peer-connection-remote-audio-mute2.html: Ditto (but keeping flakiness expectation for now).

2017-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/images/animated-gif-webkit-transform.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170410

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2017-04-03  Alexey Proskuryakov  <ap@apple.com>

        Re-adding flaky timeout expectation for http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html

        This test still times out, most of the time.

        * platform/wk2/TestExpectations:

2017-04-03  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Adapt place-content alignment shorthand to the new baseline syntax
        https://bugs.webkit.org/show_bug.cgi?id=170340

        Reviewed by David Hyatt.

        Added additional test cases to evaluate the new baseline-alignment syntax.

        * css3/parse-place-content-expected.txt:
        * css3/parse-place-content.html:

2017-04-03  Nan Wang  <n_wang@apple.com>

        AX: Expose link children when doing search predication on iOS
        https://bugs.webkit.org/show_bug.cgi?id=170424
        <rdar://problem/31413335>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/ios-search-predicate-link-children-expected.txt: Added.
        * accessibility/ios-simulator/ios-search-predicate-link-children.html: Added.

2017-04-03  Dave Hyatt  <hyatt@apple.com>

        Japanese fonts in vertical text should support synthesized italics
        https://bugs.webkit.org/show_bug.cgi?id=169301

        Reviewed by Simon Fraser.

        * fast/text/international/synthesized-italic-vertical-expected.html:
        * fast/text/international/synthesized-italic-vertical.html:
        * platform/mac/fast/text/international/synthesized-italic-vertical-latin-expected.png: Removed.
        * platform/mac/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Removed.

2017-04-03  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r206744): CSS background-image in style attribute ignored when using createHTMLDocument method of DOM parsing
        https://bugs.webkit.org/show_bug.cgi?id=170285
        <rdar://problem/31378543>

        Reviewed by Andy Estes.

        Add layout test coverage.

        * fast/images/background-image-relative-url-changes-document-expected.html: Added.
        * fast/images/background-image-relative-url-changes-document.html: Added.

2017-04-03  John Wilander  <wilander@apple.com>

        Remove timeout expectations after bug fix
        https://bugs.webkit.org/show_bug.cgi?id=168262

        Unreviewed test gardening.

        Remove timeout expectations after bug fix in
        https://bugs.webkit.org/show_bug.cgi?id=170400

        * platform/wk2/TestExpectations:
            Remove expected timeout for the first five test cases
            under http/tests/loading/resourceLoadStatistics/.

2017-04-03  Antti Koivisto  <antti@apple.com>

        REGRESSION (r207669): FileMaker Pro Help pages do not render correctly
        https://bugs.webkit.org/show_bug.cgi?id=170402
        <rdar://problem/31004344>

        Reviewed by Simon Fraser.

        * fast/css/document-stylesheets-dynamic-expected.html: Added.
        * fast/css/document-stylesheets-dynamic.html: Added.

2017-04-03  Jeremy Jones  <jeremyj@apple.com>

        LayoutTest pointer-lock/mouse-event-delivery.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=167965

        Reviewed by Jon Lee.

        Wait for wheel event before doing next step of test. The wheel event is delivered asynchronously and
        can therefore be delivered later than expected by the test. This is already done for the first one,
        do this for the second one also.

        * platform/mac-wk2/TestExpectations:
        * pointer-lock/mouse-event-delivery.html:

2017-04-01  Simon Fraser  <simon.fraser@apple.com>

        Clean up touch event handler registration when moving nodes between documents
        https://bugs.webkit.org/show_bug.cgi?id=170384
        rdar://problem/30816694

        Reviewed by Chris Dumez.

        Tests for moving nodes with various listener/handler combinations between documents.

        * fast/events/touch/ios/gesture-node-move-between-documents-expected.txt: Added.
        * fast/events/touch/ios/gesture-node-move-between-documents.html: Added.
        * fast/events/touch/ios/overflow-node-move-between-documents-expected.txt: Added.
        * fast/events/touch/ios/overflow-node-move-between-documents.html: Added.
        * fast/events/touch/ios/slider-node-move-between-documents-expected.txt: Added.
        * fast/events/touch/ios/slider-node-move-between-documents.html: Added.
        * fast/events/touch/ios/touch-node-move-between-documents-expected.txt: Added.
        * fast/events/touch/ios/touch-node-move-between-documents.html: Added.

2017-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] URI Fragment is lost after redirect
        https://bugs.webkit.org/show_bug.cgi?id=170058

        Reviewed by Michael Catanzaro.

        Add tests to check we correctly handle fragment identifiers on server redirections.

        * http/tests/navigation/redirect-preserves-fragment-expected.txt: Added.
        * http/tests/navigation/redirect-preserves-fragment.html: Added.
        * http/tests/navigation/redirect-to-fragment-expected.txt: Added.
        * http/tests/navigation/redirect-to-fragment.html: Added.
        * http/tests/navigation/redirect-to-fragment2-expected.txt: Added.
        * http/tests/navigation/redirect-to-fragment2.html: Added.
        * http/tests/navigation/resources/redirect-preserves-fragment.php: Added.
        * http/tests/navigation/resources/redirect-to-fragment.php: Added.
        * http/tests/navigation/resources/redirect-to-fragment2.php: Added.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2017-04-03  Youenn Fablet  <youenn@apple.com>

        captureStream is getting black frames with webgl canvas
        https://bugs.webkit.org/show_bug.cgi?id=170325

        Reviewed by Dean Jackson.

        * fast/mediastream/captureStream/canvas3d-expected.txt: Added.
        * fast/mediastream/captureStream/canvas3d.html: Added.

2017-04-03  Per Arne Vollan  <pvollan@apple.com>

        Implement stroke-miterlimit.
        https://bugs.webkit.org/show_bug.cgi?id=169078

        Reviewed by Dean Jackson.

        * fast/css/stroke-miterlimit-default-expected.html: Added.
        * fast/css/stroke-miterlimit-default.html: Added.
        * fast/css/stroke-miterlimit-large-expected-mismatch.html: Added.
        * fast/css/stroke-miterlimit-large.html: Added.
        * fast/css/stroke-miterlimit-zero-expected-mismatch.html: Added.
        * fast/css/stroke-miterlimit-zero.html: Added.

2017-04-02  Alexey Proskuryakov  <ap@apple.com>

        Remove accidentally added DumpJSConsoleLogInStdErr from http/tests/fetch/fetch-in-worker-crash.html expectation.

        * TestExpectations:

2017-04-02  Alexey Proskuryakov  <ap@apple.com>

        Build fix for
        Add missing text styles
        https://bugs.webkit.org/show_bug.cgi?id=170295

        * platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:

2017-04-02  Alexey Proskuryakov  <ap@apple.com>

        Fix lint errors.

        * TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2017-04-02  Alexey Proskuryakov  <ap@apple.com>

        Mark http/tests/fetch/fetch-in-worker-crash.html and imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html as flaky.

        For https://bugs.webkit.org/show_bug.cgi?id=170395
        rdar://problem/30975761, rdar://problem/31394017

        * TestExpectations:

2017-04-01  Per Arne Vollan  <pvollan@apple.com>

        Add test for expected fallback behavior between stroke-width and -webkit-text-stroke-width.
        https://bugs.webkit.org/show_bug.cgi?id=169466

        Reviewed by Jon Lee.

        Now that we have added support for stroke-width, we should have a test for expected fallback behavior between
        stroke-width and -webkit-text-stroke-width. Currently, stroke-width is always preferred, also when inherited,
        and when -webkit-text-stroke-width is declared inline. When stroke-width is not specified, we fall back to
        -webkit-text-stroke-width.

        * fast/css/stroke-width-fallback-expected.html: Added.
        * fast/css/stroke-width-fallback.html: Added.

2017-04-01  Jon Lee  <jonlee@apple.com>

        Add missing text styles
        https://bugs.webkit.org/show_bug.cgi?id=170295
        rdar://problem/30219503

        Reviewed by Dean Jackson.

        * platform/ios/ios/fast/text/opticalFontWithTextStyle.html: Update test to include title0 and title4.

2017-04-01  Chris Dumez  <cdumez@apple.com>

        We should pause silent WebAudio rendering in background tabs
        https://bugs.webkit.org/show_bug.cgi?id=170299
        <rdar://problem/31289132>

        Reviewed by Eric Carlson.

        Add layout test coverage.

        * webaudio/silent-audio-interrupted-in-background-expected.txt: Added.
        * webaudio/silent-audio-interrupted-in-background.html: Added.

2017-04-01  Alexey Proskuryakov  <ap@apple.com>

        Rolling back http://trac.webkit.org/r214663 - memory corruption

        * streams/readable-stream-byob-request-expected.txt:
        * streams/readable-stream-byob-request.js:
        (self.importScripts.test): Deleted.

2017-03-31  Zalan Bujtas  <zalan@apple.com>

        <table>: Including <caption>, <thead> or <tbody> causes clipping across page breaks
        https://bugs.webkit.org/show_bug.cgi?id=170348
        <rdar://problem/24727151>

        Reviewed by David Hyatt.

        * fast/multicol/table-section-page-break-expected.html: Added.
        * fast/multicol/table-section-page-break.html: Added.

2017-03-31  Chris Dumez  <cdumez@apple.com>

        LayoutTest fast/images/animated-gif-restored-from-bfcache.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=162510
        <rdar://problem/31380650>

        Reviewed by Alexey Proskuryakov.

        The test restores a page from PageCache and wants to check that an animated
        GIF is properly animating. To do so, it store the data of the current image
        frame, and then checks in a 100ms timer that the current image frame is
        different. This is flaky by nature since the image only has 10 frames and
        you therefore have a 1/10 chance that the new frame will be the same as the
        previous one, even if the image is properly animating.

        To address the problem, do a setInterval instead of a setTimeout and check
        until the frame becomes different.

        * fast/images/animated-gif-restored-from-bfcache.html:
        * platform/mac/TestExpectations:

2017-03-31  Wenson Hsieh  <wenson_hsieh@apple.com>

        [WK2] Tapping away to dismiss the selection does not update the selected DOM range using character granularity
        https://bugs.webkit.org/show_bug.cgi?id=170328
        <rdar://problem/30904558>

        Reviewed by Tim Horton.

        Adds a new layout test verifying that when a user taps away to clear the current selection in character
        granularity selection mode, the selected DOM range in the web process does not fall out of sync with UIKit's
        selection views, which are dismissed.

        * editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt: Added.
        * editing/selection/character-granularity-selected-range-after-dismissing-selection.html: Added.

2017-03-31  Youenn Fablet  <youenn@apple.com>

        Add a test to ensure webrtc generated certificates and names are ephemeral
        https://bugs.webkit.org/show_bug.cgi?id=170225

        Reviewed by Jon Lee.

        * webrtc/ephemeral-certificates-and-cnames-expected.txt: Added.
        * webrtc/ephemeral-certificates-and-cnames.html: Added.

2017-03-31  Wenson Hsieh  <wenson_hsieh@apple.com>

        [WK2] Tapping editable text inside of a range selection no longer changes the selection to a caret
        https://bugs.webkit.org/show_bug.cgi?id=170327
        <rdar://problem/31363816>

        Reviewed by Tim Horton.

        Adds a new WK2 interaction test for iOS verifying that tapping a selection in editable content sets the selection
        to a caret, rather than maintaining the range selection. This test is disabled in OpenSource, since it relies on
        synthetic touch events.

        * TestExpectations:
        * editing/selection/caret-after-tap-in-editable-selection-expected.txt: Added.
        * editing/selection/caret-after-tap-in-editable-selection.html: Added.

2017-03-31  Alexey Proskuryakov  <ap@apple.com>

        Mark fast/mediastream/MediaStream-page-muted.html as flaky for
        https://bugs.webkit.org/show_bug.cgi?id=170355

        * TestExpectations:

2017-03-31  Alexey Proskuryakov  <ap@apple.com>

        Correction for the previous change - this is an image failure.

        * platform/mac-wk2/TestExpectations:

2017-03-31  Alexey Proskuryakov  <ap@apple.com>

        Mark fast/images/animated-image-different-dest-size.html as flaky for
        https://bugs.webkit.org/show_bug.cgi?id=170203

        * platform/mac-wk2/TestExpectations:

2017-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests.

        Also rebaseline fast/css/getComputedStyle/computed-style-font-family.html after r214394, it also requires variation
        fonts.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Added.

2017-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline several tests after r214546.

        GTK+ port doesn't support variation fonts. Also mark canvas/philip/tests/2d.pattern.animated.gif.html as failing
        after r214503.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/text/font-selection-font-loading-api-parse-expected.txt: Added.
        * platform/gtk/fast/text/font-stretch-parse-expected.txt: Added.
        * platform/gtk/fast/text/font-style-parse-expected.txt: Added.
        * platform/gtk/fast/text/font-weight-parse-expected.txt: Added.

2017-03-31  Romain Bellessort  <romain.bellessort@crf.canon.fr>

        [Readable Streams API] Implement cloneArrayBuffer in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=170008

        Reviewed by Youenn Fablet.

        Added test to check cloneArrayBuffer behaviour. 

        * streams/readable-stream-byob-request.js:

2017-03-31  Oleksandr Skachkov  <gskachkov@gmail.com>

        String.prototype.replace incorrectly applies "special replacement parameters" when passed a function
        https://bugs.webkit.org/show_bug.cgi?id=170151

        Reviewed by Saam Barati.

        * js/script-tests/string_replace_function.js: Added.
        * js/script-tests/string_replace_regexp.js: Renamed from LayoutTests/js/script-tests/string_replace.js.
        * js/string_replace_function-expected.txt: Added.
        * js/string_replace_function.html: Copied from LayoutTests/js/string_replace.html.
        * js/string_replace_regexp-expected.txt: Renamed from LayoutTests/js/string_replace-expected.txt.
        * js/string_replace_regexp.html: Renamed from LayoutTests/js/string_replace.html.

2017-03-31  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Update W3C Test Suite
        https://bugs.webkit.org/show_bug.cgi?id=170170

        Reviewed by Youenn Fablet.

        Update path to tests in TestExpectations as the CSS Grid Layout suite
        is now under web-platform-tests.

        * TestExpectations:

2017-03-31  Antoine Quint  <graouts@apple.com>

        [mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=168409
        <rdar://problem/30799198>

        Unreviewed. Capture new logging events.

        * media/modern-media-controls/airplay-button/airplay-button.html:

2017-03-30  Matt Baker  <mattbaker@apple.com>

        Unreviewed. Update test expectations after https://bugs.webkit.org/show_bug.cgi?id=170279.

        * inspector/css/getAllStyleSheets-expected.txt:

2017-03-30  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline js/dom/global-constructors-attributes.html.

        Unreviewed test gardening.

        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-03-30  Simon Fraser  <simon.fraser@apple.com>

        Rename a touch event function, and new touch region test results
        https://bugs.webkit.org/show_bug.cgi?id=170309
        rdar://problem/31329520

        Reviewed by Chris Dumez.

        A code change in WebKitAdditions progresses this test result.

        * fast/events/touch/ios/touch-event-regions/iframes-expected.txt:

2017-03-30  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION (r213764): Background image from sprite sheet incorrectly scaled
        https://bugs.webkit.org/show_bug.cgi?id=169547

        Reviewed by Simon Fraser.

        * fast/images/async-image-background-image.html:
        * fast/images/resources/sprite-sheet-red-green-blue.png: Added.
        * fast/images/sprite-sheet-image-draw-expected.html: Added.
        * fast/images/sprite-sheet-image-draw.html: Added.

2017-03-30  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Assertion failure in InspectorStyleProperty::setRawTextFromStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=170279
        <rdar://problem/30200492>

        Reviewed by David Hyatt.

        * inspector/css/getAllStyleSheets.html:
        Add stylesheet with an "unparsed" property having no final semicolon.

2017-03-30  Youenn Fablet  <youenn@apple.com>

        Clean up RTCDataChannel
        https://bugs.webkit.org/show_bug.cgi?id=169732

        Reviewed by Chris Dumez.

        * webrtc/datachannel/bufferedAmountLowThreshold-expected.txt: Added.
        * webrtc/datachannel/bufferedAmountLowThreshold.html: Added.

2017-03-30  Chris Dumez  <cdumez@apple.com>

        svg/animations/animations-paused-in-background-page.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=170290

        Reviewed by Simon Fraser.

        Fix shouldBecomeEqual() check in the test which was wrong and was passing by chance
        due to a race.

        * svg/animations/animations-paused-in-background-page-expected.txt:
        * svg/animations/animations-paused-in-background-page.html:

2017-03-30  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Adapt content-alignment properties to the new baseline syntax
        https://bugs.webkit.org/show_bug.cgi?id=170262

        Reviewed by David Hyatt.

        Added new cases to the alignment properties parsing tests so that we can verify the new
        baseline-alignment syntax is parsed as expected.
        Additionally, I modified the tests so that they use the testharness format.

        * css3/parse-align-content-expected.txt:
        * css3/parse-align-content.html:
        * css3/parse-justify-content-expected.txt:
        * css3/parse-justify-content.html:

2017-03-30  James Craig  <jcraig@apple.com>

        AX: Expose a new AXSubrole for explicit ARIA "group" role
        https://bugs.webkit.org/show_bug.cgi?id=169810
        <rdar://problem/31039693>

        Reviewed by Chris Fleizach.

        * accessibility/list-detection2-expected.txt:
        * accessibility/list-detection2.html:
        * accessibility/roles-computedRoleString.html:
        * inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
        * inspector/dom/highlightFrame-expected.txt:
        * inspector/dom/highlightSelector-expected.txt:
        * platform/mac/accessibility/roles-computedRoleString-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2017-03-30  Youenn Fablet  <youenn@apple.com>

        webrtc/video-stats.html and webrtc/video-replace-track.html are flaky
        https://bugs.webkit.org/show_bug.cgi?id=170294

        Unreviewed.

        * TestExpectations: Marking these tests as flaky.

2017-03-30  Eric Carlson  <eric.carlson@apple.com>

        [Crash] WebCore::AudioBuffer::AudioBuffer don't checking illegal value
        https://bugs.webkit.org/show_bug.cgi?id=169956

        Reviewed by Youenn Fablet.

        * webaudio/audiobuffer-crash-expected.txt: Added.
        * webaudio/audiobuffer-crash.html: Added.

2017-03-30  Simon Fraser  <simon.fraser@apple.com>

        Add some tests that dump the touch event regions with various content configurations
        https://bugs.webkit.org/show_bug.cgi?id=170216

        Followup: add missing results files, and tweak iframes.html to show that regions fail to
        take iframe borders into account.

        * fast/events/touch/ios/touch-event-regions/active-passive-nesting-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/columns-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/complex-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/document-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/iframes-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/iframes.html:
        * fast/events/touch/ios/touch-event-regions/overflow-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/range-sliders-expected.txt: Added.

2017-03-30  Per Arne Vollan  <pvollan@apple.com>

        [mac-wk1 debug] LayoutTest media/track/track-cue-rendering-with-padding.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=170188

        Reviewed by Eric Carlson.

        The textTrackDisplayElement call will fail and throw an exception if the text track display element
        has not yet been added to the text track container element. We wait until it has been added.

        * media/track/track-cue-rendering-with-padding.html:

2017-03-30  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Invalid placard icon is not visible for short video
        https://bugs.webkit.org/show_bug.cgi?id=170277
        <rdar://problem/31327955>

        Reviewed by Eric Carlson.

        Add a new test to check that we correctly hide the invalid icon only when
        there is no space left to display it.

        * media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics-expected.txt: Added.
        * media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics.html: Added.

2017-03-27  Sergio Villar Senin  <svillar@igalia.com>

        [css-grid] Clamp the number of autorepeat tracks
        https://bugs.webkit.org/show_bug.cgi?id=170120

        Reviewed by Manuel Rego Casasnovas.

        Added a new test to check the clamping of grid tracks. It's mostly all JavaScript in order
        to allow us to run several test cases over a small number of grids in a single file quite
        fast. The other option was to statically (CSS) create several huge grids, something that
        could potentially be very expensive in terms of memory and CPU leading to timeouts.

        * fast/css-grid-layout/grid-auto-repeat-huge-grid-expected.txt: Added.
        * fast/css-grid-layout/grid-auto-repeat-huge-grid.html: Added.

2017-03-30  Antoine Quint  <graouts@apple.com>

        [mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=168409
        <rdar://problem/30799198>

        Unreviewed. Add logging related to visibility since document.visibility = hidden would cause the
        requestAnimationFrame() call to suspend the ScriptedAnimationController.

        * media/modern-media-controls/airplay-button/airplay-button.html:

2017-03-30  Per Arne Vollan  <pvollan@apple.com>

        REGRESSION(~r212322): LayoutTest media/track/track-cue-container-rendering-position.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=168660

        Reviewed Eric Carlson.

        The textTrackDisplayElement call will fail and throw an exception if the text track display element
        has not yet been added to the text track container element. We wait until it has been added.

        * media/track/track-cue-container-rendering-position.html:

2017-03-29  Ryosuke Niwa  <rniwa@webkit.org>

        Disconnecting a HTMLObjectElement does not always unload its content document
        https://bugs.webkit.org/show_bug.cgi?id=169606

        Reviewed by Andy Estes.

        Add a regression test.

        * fast/dom/removing-focused-object-element-expected.txt: Added.
        * fast/dom/removing-focused-object-element.html: Added.

2017-03-29  Simon Fraser  <simon.fraser@apple.com>

        Add some tests that dump the touch event regions with various content configurations
        https://bugs.webkit.org/show_bug.cgi?id=170216

        Reviewed by Dean Jackson.

        Tests for touch event regions. Some of these are modeled after tests in tiled-drawing/scrolling/non-fast-region/.

        * fast/events/touch/ios/touch-event-regions/resources/touch-regions-helper.js: Added.
        * fast/events/touch/ios/touch-event-regions/active-passive-nesting-expected.html: Added.
        * fast/events/touch/ios/touch-event-regions/active-passive-nesting.html: Added.
        * fast/events/touch/ios/touch-event-regions/columns-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/columns.html: Added.
        * fast/events/touch/ios/touch-event-regions/complex-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/complex.html: Added.
        * fast/events/touch/ios/touch-event-regions/document-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/document.html: Added.
        * fast/events/touch/ios/touch-event-regions/iframes-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/iframes.html: Added.
        * fast/events/touch/ios/touch-event-regions/overflow-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/overflow.html: Added.
        * fast/events/touch/ios/touch-event-regions/range-sliders-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions/range-sliders.html: Added.

2017-03-28  Simon Fraser  <simon.fraser@apple.com>

        Make it possible to dump touch event regions for testing
        https://bugs.webkit.org/show_bug.cgi?id=170209
        <rdar://problem/31309258>

        Reviewed by Tim Horton.

        Simple test that dumps the regions.

        * fast/events/touch/ios/touch-event-regions-expected.txt: Added.
        * fast/events/touch/ios/touch-event-regions.html: Added.

2017-03-29  Zalan Bujtas  <zalan@apple.com>

        RenderBlockFlow::addFloatsToNewParent should check if float is already added to the object list.
        https://bugs.webkit.org/show_bug.cgi?id=170259
        <rdar://problem/31300584>

        Reviewed by Simon Fraser.

        * fast/block/float/placing-multiple-floats-crash-expected.txt: Added.
        * fast/block/float/placing-multiple-floats-crash.html: Added.

2017-03-29  Tim Horton  <timothy_horton@apple.com>

        Swipe gesture tests don't work on macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=161675
        <rdar://problem/23379930>

        Reviewed by Darin Adler.

        * platform/mac-wk2/TestExpectations:
        * swipe/basic-cached-back-swipe-expected.txt:
        * swipe/basic-cached-back-swipe.html:
        * swipe/main-frame-pinning-requirement-expected.txt:
        * swipe/main-frame-pinning-requirement.html:
        * swipe/pushState-cached-back-swipe-expected.txt:
        * swipe/pushState-cached-back-swipe.html:
        * swipe/pushState-programmatic-back-while-swiping-crash-expected.txt:
        * swipe/pushState-programmatic-back-while-swiping-crash.html:
        * swipe/resources/swipe-test.js:
        (measuredDurationShouldBeLessThan):
        (startSwipeGesture):
        (completeSwipeGesture):
        (playEventStream):
        (eventQueue.enqueueScrollEvent): Deleted.
        (eventQueue.enqueueSwipeEvent): Deleted.
        (eventQueue.hasPendingEvents): Deleted.
        (eventQueue.callAfterEventDispatch): Deleted.
        (eventQueue._processEventQueue): Deleted.
        (eventQueue._processEventQueueSoon): Deleted.
        * swipe/swipe-start-hysteresis-failures-expected.txt: Removed.
        * swipe/swipe-start-hysteresis-failures.html: Removed.

2017-03-29  Myles C. Maxfield  <mmaxfield@apple.com>

        Try to normalize variation ranges
        https://bugs.webkit.org/show_bug.cgi?id=170119

        Reviewed by Simon Fraser.

        * fast/text/variations/font-selection-properties-expected.html:

2017-03-29  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/media/modern-media-controls/time-labels-support/long-time.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=169677

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2017-03-29  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Adapt self-alignment properties to the new baseline syntax
        https://bugs.webkit.org/show_bug.cgi?id=170235

        Reviewed by David Hyatt.

        Added new cases to the alignment properties parsing tests so that we can verify the new
        baseline-alignment syntax is parsed as expected.
        Additionally, I modified the tests so that they use the testharness format.

        * css3/parse-align-items-expected.txt:
        * css3/parse-align-items.html:
        * css3/parse-align-self-expected.txt:
        * css3/parse-align-self.html:
        * css3/resources/alignment-parsing-utils-th.js:
        (checkValues):
        * fast/css/parse-justify-items-expected.txt:
        * fast/css/parse-justify-items.html:
        * fast/css/parse-justify-self-expected.txt:
        * fast/css/parse-justify-self.html:
        * fast/css/resources/alignment-parsing-utils-th.js: Copied from LayoutTests/css3/resources/alignment-parsing-utils-th.js.
        (checkValues):
        (checkBadValues):
        (checkInitialValues):
        (checkInheritValues):
        (checkLegacyValues):
        (checkSupportedValues):

2017-03-29  Chris Dumez  <cdumez@apple.com>

        Animated SVG images are not paused in pages loaded in the background
        https://bugs.webkit.org/show_bug.cgi?id=170043
        <rdar://problem/31234412>

        Reviewed by Simon Fraser.

        Extend layout test coverage.

        * svg/animations/animations-paused-in-background-page-expected.txt: Added.
        * svg/animations/animations-paused-in-background-page-iframe-expected.txt: Added.
        * svg/animations/animations-paused-in-background-page-iframe.html: Added.
        * svg/animations/animations-paused-in-background-page.html: Added.
        * svg/animations/resources/iframe-with-animated-svg-image.html: Added.

2017-03-29  Myles C. Maxfield  <mmaxfield@apple.com>

        Post-commit test gardening after r214546
        https://bugs.webkit.org/show_bug.cgi?id=169518

        Unreviewed.

        * platform/mac-elcapitan/fast/text/font-selection-font-loading-api-parse-expected.txt:
        * platform/mac-elcapitan/fast/text/font-style-parse-expected.txt:

2017-03-29  Myles C. Maxfield  <mmaxfield@apple.com>

        Post-commit test gardening after r214546
        https://bugs.webkit.org/show_bug.cgi?id=169518

        Unreviewed.

        * platform/mac-elcapitan/fast/text/font-selection-font-loading-api-parse-expected.txt:
        * platform/mac-elcapitan/fast/text/font-style-parse-expected.txt:

2017-03-29  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/events/before-unload-adopt-subframe-to-outside.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170130

        Unreviewed test gardening.

        * TestExpectations:

2017-03-29  Myles C. Maxfield  <mmaxfield@apple.com>

        Variation fonts: Make sure that feature detection and preprocessor macros are right
        https://bugs.webkit.org/show_bug.cgi?id=169518

        Reviewed by Simon Fraser.

        Create platform-specific results for mac-elcapitan which doesn't support variation fonts.

        * fast/text/font-variations-feature-detection-expected.html: Added.
        * fast/text/font-variations-feature-detection.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt:
        * platform/mac-elcapitan/fast/text/font-selection-font-loading-api-parse-expected.txt: Added.
        * platform/mac-elcapitan/fast/text/font-stretch-parse-expected.txt: Added.
        * platform/mac-elcapitan/fast/text/font-style-parse-expected.txt: Added.
        * platform/mac-elcapitan/fast/text/font-weight-parse-expected.txt: Added.
        * platform/mac/TestExpectations:

2017-03-29  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Controls bar may disappear while captions menu is visible (redux)
        https://bugs.webkit.org/show_bug.cgi?id=170239
        <rdar://problem/31320685>

        Reviewed by Dean Jackson.

        We extend an existing test to cover the case where we would hide the controls bar while the tracks panel
        is up by mousing out of the media. We also add a new test where we check that clicking over the controls
        bar to dismiss the tracks panel does not hide the controls bar. Finally, we make a small change to an
        existing test to listen to "transitionend" event on the tracks panel specifically since with this patch
        the controls bar would disappear and trigger a similar event when disappearing as the tracks panel is dismissed.

        * media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt: Added.
        * media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html: Added.
        * media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt:
        * media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html:
        * media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html:

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/workers/worker-close-more.html as a flaky timeout.
        https://bugs.webkit.org/show_bug.cgi?id=169838

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-03-29  Youenn Fablet  <youenn@apple.com>

        Move DTMF WebRTC extension behind its own compile flag
        https://bugs.webkit.org/show_bug.cgi?id=170226

        Reviewed by Eric Carlson.

        * TestExpectations:
        * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:

2017-03-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK][OWR] Rebaseline fast/mediastream/RTCPeerConnection-addIceCandidate.html after r214527
        https://bugs.webkit.org/show_bug.cgi?id=170192

        Unreviewed test gardening.

        * platform/gtk/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:

2017-03-29  Youenn Fablet  <youenn@apple.com>

        Add test for differentiating camera versus canvas stream
        https://bugs.webkit.org/show_bug.cgi?id=169698
        <rdar://problem/31076026>

        Reviewed by Eric Carlson.

        * fast/mediastream/captureStream/canvas2d.html:

2017-03-28  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [WebRTC] Update test RTCPeerConnection-overloaded-operations-params.html after r214441
        https://bugs.webkit.org/show_bug.cgi?id=170223

        Reviewed by Youenn Fablet.

        After r214441 the arguments of addIceCandidate() are nullable.

        * fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt:
        * fast/mediastream/RTCPeerConnection-overloaded-operations-params.html:
        * platform/gtk/fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt: Removed. The expected result was the same than the general one.

2017-03-29  Antoine Quint  <graouts@apple.com>

        [mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
        https://bugs.webkit.org/show_bug.cgi?id=168409
        <rdar://problem/30799198>

        Reviewed by Dean Jackson.

        Opt into ScriptedAnimationController logging.

        * media/modern-media-controls/airplay-button/airplay-button-expected.txt:
        * media/modern-media-controls/airplay-button/airplay-button.html:

2017-03-28  Youenn Fablet  <youenn@apple.com>

        [WebRTC] After r214441 addIceCandidate no longer accepts an RTCIceCandidateInit dictionary
        https://bugs.webkit.org/show_bug.cgi?id=170192

        Reviewed by Jon Lee.

        * fast/mediastream/RTCIceCandidate-expected.txt:
        * fast/mediastream/RTCIceCandidate.html: Removing no longer valid tests.
        * fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
        * fast/mediastream/RTCPeerConnection-addIceCandidate.html: Adding more tests to cover null/undefined cases.
        Ensuring sdpMid has a valid value.
        * fast/mediastream/resources/promise-utils.js: Improving error logging.

2017-03-27  Brent Fulgham  <bfulgham@apple.com>

        Only attach Attributes to a given element one time
        https://bugs.webkit.org/show_bug.cgi?id=170125
        <rdar://problem/31279676>

        Reviewed by Chris Dumez.

        * fast/dom/Attr/make-unique-element-data-while-replacing-attr-expected.txt: Rebaselined.
        * fast/dom/Attr/make-unique-element-data-while-replacing-attr.html: Add check before setting new value.
        * fast/dom/Attr/only-attach-attr-once-expected.txt: Added.
        * fast/dom/Attr/only-attach-attr-once.html: Added.

2017-03-28  Youenn Fablet  <youenn@apple.com>

        Stop RTCDataChannel when closing page
        https://bugs.webkit.org/show_bug.cgi?id=170166

        Reviewed by Eric Carlson.

        * webrtc/datachannel/datachannel-gc-expected.txt: Added.
        * webrtc/datachannel/datachannel-gc.html: Added.

2017-03-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Ranges for variation font properties are not enforced
        https://bugs.webkit.org/show_bug.cgi?id=169979

        Reviewed by David Hyatt.

        * fast/text/font-selection-font-face-parse-expected.txt:
        * fast/text/font-selection-font-face-parse.html:
        * fast/text/font-selection-font-loading-api-parse-expected.txt:
        * fast/text/font-selection-font-loading-api-parse.html:
        * fast/text/font-style-parse-expected.txt:
        * fast/text/font-style-parse.html:
        * fast/text/variations/font-loading-api-parse-ranges-expected.txt:
        * fast/text/variations/font-loading-api-parse-ranges.html:
        * fast/text/variations/out-of-bounds-selection-properties-expected.txt: Added.
        * fast/text/variations/out-of-bounds-selection-properties.html: Added.
        * platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt:

2017-03-28  Andy Estes  <aestes@apple.com>

        [iOS] Crash in -[WebPreviewLoader failed] when running http/tests/multipart/policy-ignore-crash.php
        https://bugs.webkit.org/show_bug.cgi?id=170197
        <rdar://problem/30314067>

        Reviewed by Brady Eidson.

        * platform/ios/TestExpectations: Unskipped http/tests/multipart/policy-ignore-crash.php.
        * platform/ios/http/tests/multipart/policy-ignore-crash-expected.txt: Added an iOS-specific result.

2017-03-28  Chris Dumez  <cdumez@apple.com>

        Animated SVG images are not paused when outside viewport
        https://bugs.webkit.org/show_bug.cgi?id=170155
        <rdar://problem/31288893>

        Reviewed by Antti Koivisto.

        Add layout test coverage.

        * platform/mac-wk1/TestExpectations:
        * svg/animations/animated-svg-image-outside-viewport-paused-expected.txt: Added.
        * svg/animations/animated-svg-image-outside-viewport-paused.html: Added.
        * svg/animations/animated-svg-image-removed-from-document-paused-expected.txt: Added.
        * svg/animations/animated-svg-image-removed-from-document-paused.html: Added.
        * svg/animations/resources/smilAnimation.svg: Added.

2017-03-28  Antti Koivisto  <antti@apple.com>

        Missing render tree position invalidation when tearing down renderers for display:contents subtree
        https://bugs.webkit.org/show_bug.cgi?id=170199
        <rdar://problem/31260856>

        Reviewed by Zalan Bujtas.

        * fast/shadow-dom/slot-renderer-teardown-expected.txt: Added.
        * fast/shadow-dom/slot-renderer-teardown.html: Added.

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r214485.

        This change caused LayoutTest crashes.

        Reverted changeset:

        "Stop RTCDataChannel when closing page"
        https://bugs.webkit.org/show_bug.cgi?id=170166
        http://trac.webkit.org/changeset/214485

2017-03-28  Brian Burg  <bburg@apple.com>

        Web Inspector: Add "Disable Caches" option that only applies to the inspected page while Web Inspector is open
        https://bugs.webkit.org/show_bug.cgi?id=169865
        <rdar://problem/31250573>

        Reviewed by Joseph Pecoraro.

        Add tests that verify the new command works as expected when it disables resource caching.
        I also manually verified that the override setting is cleared when Web Inspector disconnects.
        This is not easy to check in a layout test since we rely on the Web Inspector to tell whether
        a load happened or not.

        * http/tests/inspector/network/set-resource-caching-disabled-disk-cache-expected.txt: Added.
        * http/tests/inspector/network/set-resource-caching-disabled-disk-cache.html: Added.
        * http/tests/inspector/network/set-resource-caching-disabled-memory-cache-expected.txt: Added.
        * http/tests/inspector/network/set-resource-caching-disabled-memory-cache.html: Added.

2017-03-28  Youenn Fablet  <youenn@apple.com>

        Update LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate.html to get more coverage
        https://bugs.webkit.org/show_bug.cgi?id=170194

        Reviewed by Chris Dumez.

        * fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
        * fast/mediastream/RTCPeerConnection-addIceCandidate.html: Making test more robust to failures to get more coverage.

2017-03-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Inspecting a Main Resource that is JS/JSON does not format / syntax highlight it properly
        https://bugs.webkit.org/show_bug.cgi?id=166862
        <rdar://problem/29835977>

        Reviewed by Brian Burg.

        * http/tests/inspector/network/resource-mime-type-expected.txt: Added.
        * http/tests/inspector/network/resource-mime-type.html: Added.
        Test resource mime types for different resources.

        * http/tests/inspector/network/resources/json.php: Added.
        * http/tests/inspector/network/resources/script.js: Added.
        * http/tests/inspector/network/resources/script.txt: Added.
        * http/tests/inspector/network/resources/stylesheet.css: Added.
        * http/tests/inspector/network/resources/stylesheet.txt: Added.
        * http/tests/resources/square20.jpg: Added.
        Resources for various requests and different mime types.

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/xmlhttprequest/simple-cross-origin-progress-events.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=168132

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two fast/scrolling/ios/touch-scroll tests as failing.
        https://bugs.webkit.org/show_bug.cgi?id=170153

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Remove failure expectation for media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-03-28  Youenn Fablet  <youenn@apple.com>

        Stop RTCDataChannel when closing page
        https://bugs.webkit.org/show_bug.cgi?id=170166

        Reviewed by Eric Carlson.

        * webrtc/datachannel/datachannel-gc-expected.txt: Added.
        * webrtc/datachannel/datachannel-gc.html: Added.

2017-03-28  Antoine Quint  <graouts@apple.com>

        REGRESSION (r214386): [ios-simulator] LayoutTest media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=170180

        Unreviewed. Restore a value that was mistakenly changed in the fix for webkit.org/b/169962.

        * media/modern-media-controls/media-controller/media-controller-scale-factor-audio-expected.txt:
        * media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html:

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/history/ios/history-scroll-restoration.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169558

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html as failing on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=170180

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2017-03-28  Youenn Fablet  <youenn@apple.com>

        LayoutTest webrtc/video-getParameters.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=170148

        Unreviewed.

        * TestExpectations: Marking webrtc/video-getParameters.html as failing.

2017-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webrtc/video-replace-track-to-null.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170178

        Unreviewed test gardening.

        * TestExpectations:

2017-03-28  Jonathan Bedard  <jbedard@apple.com>

        Moved gardened ios-simulator tests to ios folders
        <rdar://problem/30948691>

        Unreviewed test re-organization.

        Moving ios-simulator test expectations to share as many expectations
        as possible with on-device testing.

        * platform/ios: Moved from platform/ios-simulator.
        * platform/ios-device: Added.
        * platform/ios-device-wk1: Added.
        * platform/ios-device-wk2: Added.
        * platform/ios-simulator: Moved to platform/ios.
        * platform/ios-simulator-wk1: Moved to platform/ios-wk1.
        * platform/ios-simulator-wk2: Moved to platform/ios-wk2.
        * platform/ios-wk1: Moved from platform/ios-simulator-wk1.
        * platform/ios-wk2: Moved from platform/ios-simulator-wk2.

2017-03-28  Yoav Weiss  <yoav@yoav.ws>

        Add a warning for unused link preloads.
        https://bugs.webkit.org/show_bug.cgi?id=165670

        Reviewed by Youenn Fablet.

        * TestExpectations: Added a "Failure Pass" for the flaky charset header test.
        * http/tests/preload/download_resources-expected.txt:
        * http/tests/preload/download_resources.html: Added references to preloaded resources.
        * http/tests/preload/onerror_event-expected.txt:
        * http/tests/preload/onerror_event.html: Added references to preloaded resources.
        * http/tests/preload/onload_event-expected.txt:
        * http/tests/preload/onload_event.html: Added references to preloaded resources.
        * http/tests/preload/single_download_preload.html: Deflaked.
        * http/tests/preload/single_download_preload_headers.php: Removed the charset to avoid double download bug.
        * http/tests/preload/single_download_preload_headers_charset-expected.txt: Added.
        * http/tests/preload/single_download_preload_headers_charset.php: Flaky test showing the double download bug when charset is declared.
        * http/tests/preload/unused_preload_warning-expected.txt: Added.
        * http/tests/preload/unused_preload_warning.html: Added.

2017-03-28  Antoine Quint  <graouts@apple.com>

        REGRESSION: Double-clicking the captions button while the captions popover is open prevents the popover from being opened again
        https://bugs.webkit.org/show_bug.cgi?id=170171
        <rdar://problem/31095500>

        Reviewed by Dean Jackson.

        Adding a new test that runs the steps to reproduce the issue, and rebaselining an existing one now that
        the "presented" property returns false immediately after calling hide() on the panel.

        * media/modern-media-controls/tracks-panel/tracks-panel-hide-expected.txt:
        * media/modern-media-controls/tracks-panel/tracks-panel-hide.html:
        * media/modern-media-controls/tracks-support/tracks-support-show-panel-then-double-click-on-tracks-button-expected.txt: Added.
        * media/modern-media-controls/tracks-support/tracks-support-show-panel-then-double-click-on-tracks-button.html: Added.

2017-03-28  Aaron Chu  <aaron_chu@apple.com>

        AX: Media controls should be able to be re-activated after faded away
        https://bugs.webkit.org/show_bug.cgi?id=170048
        <rdar://problem/30157179>

        Reviewed by Antoine Quint.

        * media/modern-media-controls/media-controls/media-controls-appear-when-focus-expected.txt: Added.
        * media/modern-media-controls/media-controls/media-controls-appear-when-focus.html: Added.

2017-03-28  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Improve media documents across macOS, iPhone and iPad
        https://bugs.webkit.org/show_bug.cgi?id=169145
        <rdar://problem/17048858>

        Reviewed by Dean Jackson.

        We add new tests for media documents and related features that cover the following cases:
        
            - checking <video> with only audio tracks does not show the fullscreen button
            - checking <video> with only audio tracks does not show the picture-in-picture button
            - checking the size used in media documents for audio and video across macOS, iPhone and iPad

        * media/modern-media-controls/fullscreen-support/fullscreen-support-disabled-video-with-audio-tracks-only-expected.txt: Added.
        * media/modern-media-controls/fullscreen-support/fullscreen-support-disabled-video-with-audio-tracks-only.html: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-audio-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-audio-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-audio-mac-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-audio-mac-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-video-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-video-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-video-mac-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-video-mac-sizing.html: Added.
        * media/modern-media-controls/pip-support/pip-support-disabled-video-with-audio-tracks-only-expected.txt: Added.
        * media/modern-media-controls/pip-support/pip-support-disabled-video-with-audio-tracks-only.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-03-27  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION(213764): Large images should not be decoded asynchronously when they are drawn on a canvas
        https://bugs.webkit.org/show_bug.cgi?id=169771

        Reviewed by Simon Fraser.

        * fast/images/animated-image-different-dest-size-expected.html: Added.
        * fast/images/animated-image-different-dest-size.html: Added.
        This test crashes without this patch.

        * fast/images/animated-image-loop-count.html:
        Clear the memory cache so the test can be not flaky. Running it with -repeat-each was failing.

        * fast/images/async-image-background-image-expected.html: Added.
        * fast/images/async-image-background-image.html: Added.
        Ensures the background image can be drawn asynchronously if it is large.

        * fast/images/async-image-canvas-draw-image-expected.html: Added.
        * fast/images/async-image-canvas-draw-image.html: Added.
        Ensures the image is drawn synchronously on the canvas regardless of its size.

        * fast/images/ordered-animated-image-frames.html:
        Clear the memory cache so the test can be not flaky. Running it with -repeat-each was failing.

        * fast/images/reset-image-animation-expected.txt:
        * fast/images/reset-image-animation.html:
        Change how the steps of the test are ordered so the test can be not flaky.
        Running it with -repeat-each was failing.

        * fast/images/resources/red-green-blue-900-300.png: Added.

2017-03-27  Youenn Fablet  <youenn@apple.com>

        addIceCandidate should not throw if passed null or undefined
        https://bugs.webkit.org/show_bug.cgi?id=170118

        Reviewed by Eric Carlson.

        Updating test to log addIceCandidate rejection.

        * webrtc/datachannel/basic.html:
        * webrtc/routines.js:
        (iceCallback1):
        (iceCallback2):
        (onAddIceCandidateError):

2017-03-27  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline svg/css/getComputedStyle-basic.xhtml for macOS.

        Unreviewed test gardening.

        * platform/mac-elcapitan/svg/css/getComputedStyle-basic-expected.txt: Added.
        * platform/mac/svg/css/getComputedStyle-basic-expected.txt: Added.

2017-03-27  Antti Koivisto  <antti@apple.com>

        Loading in-body stylesheets should not block rendering of elements before them
        https://bugs.webkit.org/show_bug.cgi?id=169345

        Reviewed by Simon Fraser.

        * http/tests/incremental/resources/delayed-css.php: Added.
        * http/tests/incremental/stylesheet-body-incremental-rendering-expected.html: Added.
        * http/tests/incremental/stylesheet-body-incremental-rendering.html: Added.

2017-03-27  Myles C. Maxfield  <mmaxfield@apple.com>

        Test variation font ranges in the CSS Font Loading API
        https://bugs.webkit.org/show_bug.cgi?id=170022

        Reviewed by Dean Jackson.

        * fast/text/variations/font-loading-api-parse-ranges-expected.txt: Added.
        * fast/text/variations/font-loading-api-parse-ranges.html: Added.

2017-03-27  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r214411.

        Two of the LayoutTests for this change time out on ios-
        simulator.

        Reverted changeset:

        "[Modern Media Controls] Improve media documents across macOS,
        iPhone and iPad"
        https://bugs.webkit.org/show_bug.cgi?id=169145
        http://trac.webkit.org/changeset/214411

2017-03-27  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Clicking on the tracks button when the tracks panel is up in a media document pauses the video
        https://bugs.webkit.org/show_bug.cgi?id=168517
        <rdar://problem/30577636>

        Reviewed by Dean Jackson.

        * media/video-click-dblckick-standalone.html: We disable modern-media-controls here since we know that this test won't pass with them on.

2017-03-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/time-label/time-label-white-space-nowrap.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169679

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-03-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/dom-debugger/dom-breakpoints.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=170127

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-03-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/time-label/time-label.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=169678

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2017-03-27  Ryan Haddad  <ryanhaddad@apple.com>

        Marking two modern-media-controls tests as timeouts.
        https://bugs.webkit.org/show_bug.cgi?id=170123

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2017-03-27  Youenn Fablet  <youenn@apple.com>

        Tighten RTCDatachannel creation and parameter getters
        https://bugs.webkit.org/show_bug.cgi?id=170081

        Reviewed by Eric Carlson.

        * webrtc/datachannel/basic-expected.txt:
        * webrtc/datachannel/basic.html:

2017-03-27  Youenn Fablet  <youenn@apple.com>

        Add support for RTCRtpReceiver/RTCRtpSender getParameters
        https://bugs.webkit.org/show_bug.cgi?id=170057

        Reviewed by Alex Christensen.

        * webrtc/video-getParameters-expected.txt: Added.
        * webrtc/video-getParameters.html: Added.

2017-03-27  Myles C. Maxfield  <mmaxfield@apple.com>

        font variation properties don't need to accept numbers
        https://bugs.webkit.org/show_bug.cgi?id=169357

        Reviewed by Antti Koivisto.

        * fast/text/font-selection-font-face-parse-expected.txt:
        * fast/text/font-selection-font-face-parse.html:
        * fast/text/font-selection-font-loading-api-parse-expected.txt:
        * fast/text/font-selection-font-loading-api-parse.html:
        * fast/text/font-stretch-parse-expected.txt:
        * fast/text/font-stretch-parse.html:
        * fast/text/font-style-parse-expected.txt:
        * fast/text/font-style-parse.html:
        * fast/text/variations/font-selection-properties.html:
        * platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt:

2017-03-27  Myles C. Maxfield  <mmaxfield@apple.com>

        Implement format specifier for variation fonts
        https://bugs.webkit.org/show_bug.cgi?id=169327

        Reviewed by Simon Fraser.

        * fast/text/variations/font-face-format-expected.html: Added.
        * fast/text/variations/font-face-format.html: Added.

2017-03-27  Myles C. Maxfield  <mmaxfield@apple.com>

        Make sure animation works for font-weight, font-stretch, and font-style
        https://bugs.webkit.org/show_bug.cgi?id=169683

        Reviewed by Simon Fraser.

        * animations/font-variations/font-stretch-expected.txt: Added.
        * animations/font-variations/font-stretch.html: Added.
        * animations/font-variations/font-style-expected.txt: Added.
        * animations/font-variations/font-style.html: Added.
        * animations/font-variations/font-weight-expected.txt: Added.
        * animations/font-variations/font-weight.html: Added.
        * animations/resources/animation-test-helpers.js:
        (compareFontStyle):
        (getPropertyValue):
        (comparePropertyValue):

2017-03-27  Alex Christensen  <achristensen@webkit.org>

        Make WebSockets work in network process
        https://bugs.webkit.org/show_bug.cgi?id=169930

        Reviewed by Youenn Fablet.

        * http/tests/websocket/tests/hybi/network-process-crash-error-expected.txt: Added.
        * http/tests/websocket/tests/hybi/network-process-crash-error.html: Added.
        * http/tests/websocket/tests/hybi/slow-reply_wsh.py: Added.
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
        * platform/ios-simulator-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:

2017-03-27  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Improve media documents across macOS, iPhone and iPad
        https://bugs.webkit.org/show_bug.cgi?id=169145
        <rdar://problem/17048858>

        Reviewed by Dean Jackson.

        We add new tests for media documents and related features that cover the following cases:
        
            - checking <video> with only audio tracks does not show the fullscreen button
            - checking <video> with only audio tracks does not show the picture-in-picture button
            - checking the size used in media documents for audio and video across macOS, iPhone and iPad

        * media/modern-media-controls/fullscreen-support/fullscreen-support-disabled-video-with-audio-tracks-only-expected.txt: Added.
        * media/modern-media-controls/fullscreen-support/fullscreen-support-disabled-video-with-audio-tracks-only.html: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-audio-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/ipad/media-document-video-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-audio-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-audio-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-audio-mac-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-audio-mac-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-video-ios-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-video-ios-sizing.html: Added.
        * media/modern-media-controls/media-documents/media-document-video-mac-sizing-expected.txt: Added.
        * media/modern-media-controls/media-documents/media-document-video-mac-sizing.html: Added.
        * media/modern-media-controls/pip-support/pip-support-disabled-video-with-audio-tracks-only-expected.txt: Added.
        * media/modern-media-controls/pip-support/pip-support-disabled-video-with-audio-tracks-only.html: Added.
        * platform/ios-simulator/TestExpectations:
        * platform/mac/TestExpectations:

2017-03-25  Aaron Chu  <aaron_chu@apple.com>

        AX: Media controls are unlabeled
        https://bugs.webkit.org/show_bug.cgi?id=169947
        <rdar://problem/30153323>

        Reviewed by Antoine Quint.

        * media/modern-media-controls/airplay-button/airplay-button-expected.txt:
        * media/modern-media-controls/airplay-button/airplay-button.html:
        * media/modern-media-controls/forward-button/forward-button-expected.txt:
        * media/modern-media-controls/forward-button/forward-button.html:
        * media/modern-media-controls/fullscreen-button/fullscreen-button-expected.txt:
        * media/modern-media-controls/fullscreen-button/fullscreen-button.html:
        * media/modern-media-controls/icon-button/icon-button-expected.txt:
        * media/modern-media-controls/icon-button/icon-button.html:
        * media/modern-media-controls/icon-service/icon-service-expected.txt:
        * media/modern-media-controls/icon-service/icon-service.html:
        * media/modern-media-controls/mute-button/mute-button-expected.txt:
        * media/modern-media-controls/mute-button/mute-button.html:
        * media/modern-media-controls/pip-button/pip-button-expected.txt:
        * media/modern-media-controls/pip-button/pip-button.html:
        * media/modern-media-controls/play-pause-button/play-pause-button-expected.txt:
        * media/modern-media-controls/play-pause-button/play-pause-button.html:
        * media/modern-media-controls/rewind-button/rewind-button-expected.txt:
        * media/modern-media-controls/rewind-button/rewind-button.html:
        * media/modern-media-controls/skip-back-button/skip-back-button-expected.txt:
        * media/modern-media-controls/skip-back-button/skip-back-button.html:
        * media/modern-media-controls/start-button/start-button-expected.txt:
        * media/modern-media-controls/start-button/start-button.html:
        * media/modern-media-controls/tracks-button/tracks-button-expected.txt:
        * media/modern-media-controls/tracks-button/tracks-button.html:

2017-03-25  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Update expectations of several tests.

        * platform/gtk/TestExpectations:

2017-03-25  Myles C. Maxfield  <mmaxfield@apple.com>

        Post-commit test fix after r214394
        https://bugs.webkit.org/show_bug.cgi?id=170083

        Unreviewed.

        * fast/text/variations/optical-sizing.html:

2017-03-24  Myles C. Maxfield  <mmaxfield@apple.com>

        Add font-optical-sizing to CSSComputedStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=170083

        Reviewed by Joseph Pecoraro.

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-font-family-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * fast/css/getComputedStyle/resources/property-names.js:
        * fast/text/variations/optical-sizing-expected.txt:
        * fast/text/variations/optical-sizing.html:
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-expected.txt: Added.
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Added.
        * platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.

2017-03-24  Ryan Haddad  <ryanhaddad@apple.com>

        Consolidate TestExpectations for media/restore-from-page-cache.html.

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2017-03-24  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r214361.

        This change caused flakiness in http/tests/preload tests.

        Reverted changeset:

        "Add a warning for unused link preloads."
        https://bugs.webkit.org/show_bug.cgi?id=165670
        http://trac.webkit.org/changeset/214361

2017-03-24  Antoine Quint  <graouts@webkit.org>

        [Modern Media Controls] Remove placard icon if height is compressed
        https://bugs.webkit.org/show_bug.cgi?id=167935
        <rdar://problem/30397128>

        Reviewed by Dean Jackson.

        We add a new test to check that the various designed constraints to toggle display of a placard's
        icon, title and description are honored. Also, due to the old layout() method now being called
        "commit()", we refactor a relevant test.

        * media/modern-media-controls/layout-node/node-made-dirty-during-commit-expected.txt: Added.
        * media/modern-media-controls/layout-node/node-made-dirty-during-commit.html: Added.
        * media/modern-media-controls/media-controls/media-controls-placard-compressed-metrics-expected.txt: Added.
        * media/modern-media-controls/media-controls/media-controls-placard-compressed-metrics.html: Added.

2017-03-24  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] "ideal" constraints passed to getUserMedia should affect fitness score
        https://bugs.webkit.org/show_bug.cgi?id=170056

        Reviewed by Youenn Fablet.

        * fast/mediastream/MediaStream-video-element-displays-buffer-expected.txt:
        * fast/mediastream/MediaStream-video-element-displays-buffer.html:
        * fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt:
        * fast/mediastream/apply-constraints-advanced-expected.txt:
        * fast/mediastream/apply-constraints-advanced.html:
        * fast/mediastream/apply-constraints-video-expected.txt:
        * fast/mediastream/apply-constraints-video.html:

2017-03-24  Dean Jackson  <dino@apple.com>

        Serialization of custom props in longhand should be "" not value of shorthand
        https://bugs.webkit.org/show_bug.cgi?id=167699
        <rdar://problem/30324200>

        Reviewed by Sam Weinig.

        * fast/css/variables/rule-property-get-expected.html:
        * fast/css/variables/rule-property-get.html:

2017-03-24  Antoine Quint  <graouts@webkit.org>

        [Modern Media Controls] Captions don't move with the appearance of the inline controls
        https://bugs.webkit.org/show_bug.cgi?id=170051
        <rdar://problem/30754428>

        Reviewed by Dean Jackson.

        Add a new test, which would have previously failed, where we check that we account for the controls bar height
        when showing captions with the controls bar visible.

        * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt: Added.
        * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html: Added.

2017-03-24  Brent Fulgham  <bfulgham@apple.com>

        Handle recursive calls to ProcessingInstruction::checkStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=169982
        <rdar://problem/31083051>

        Reviewed by Antti Koivisto.

        * fast/dom/beforeload/image-removed-during-before-load-expected.txt: Copied from LayoutTests/fast/dom/beforeload/image-removed-during-before-load-expected.txt.
        * fast/dom/beforeload/image-removed-during-before-load.html: Copied from LayoutTests/fast/dom/beforeload/image-removed-during-before-load.html.
        * fast/dom/beforeload/recursive-css-pi-before-load-expected.txt: Copied from LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load-expected.txt.
        * fast/dom/beforeload/recursive-css-pi-before-load.html: Copied from LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load.html.
        * fast/dom/beforeload/recursive-link-before-load-expected.txt: Copied from LayoutTests/fast/dom/beforeload/recursive-link-before-load-expected.txt.
        * fast/dom/beforeload/recursive-link-before-load.html: Copied from LayoutTests/fast/dom/beforeload/recursive-link-before-load.html.
        * fast/dom/beforeload/recursive-xsl-pi-before-load-expected.txt: Copied from LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load-expected.txt.
        * fast/dom/beforeload/recursive-xsl-pi-before-load.html: Copied from LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load.html.
        * fast/dom/beforeload/resources/content.xhtml: Copied from LayoutTests/fast/dom/beforeload/resources/content.xhtml.
        * fast/dom/beforeload/resources/pass.css: Copied from LayoutTests/fast/dom/beforeload/resources/pass.css.
        * fast/dom/beforeload/resources/test.xsl: Copied from LayoutTests/fast/dom/beforeload/resources/test.xsl.

2017-03-24  Brady Eidson  <beidson@apple.com>

        A null compound index value crashes the Databases process.
        <rdar://problem/30499831> and https://bugs.webkit.org/show_bug.cgi?id=170000

        Reviewed by Alex Christensen.

        * storage/indexeddb/modern/resources/single-entry-index-invalid-key-crash.js: Added.
        * storage/indexeddb/modern/single-entry-index-invalid-key-crash-expected.txt: Added.
        * storage/indexeddb/modern/single-entry-index-invalid-key-crash-private-expected.txt: Added.
        * storage/indexeddb/modern/single-entry-index-invalid-key-crash-private.html: Added.
        * storage/indexeddb/modern/single-entry-index-invalid-key-crash.html: Added.

2017-03-24  Ryan Haddad  <ryanhaddad@apple.com>

        Skip svg/animations/animations-paused-when-inserted-in-hidden-document* tests on ios-simulator.
        https://bugs.webkit.org/show_bug.cgi?id=170068

        Unreviewed test gardening.

        * platform/ios-simulator/TestExpectations:

2017-03-24  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r214360.

        This change caused 20+ LayoutTest failures.

        Reverted changeset:

        "Handle recursive calls to
        ProcessingInstruction::checkStyleSheet"
        https://bugs.webkit.org/show_bug.cgi?id=169982
        http://trac.webkit.org/changeset/214360

2017-03-24  Youenn Fablet  <youenn@apple.com>

        Add support for qpSum in WebRTC stats
        https://bugs.webkit.org/show_bug.cgi?id=170060

        Reviewed by Eric Carlson.

        * webrtc/video-stats.html:

2017-03-24  Daniel Bates  <dabates@apple.com>

        Prevent new navigations during document unload
        https://bugs.webkit.org/show_bug.cgi?id=169934
        <rdar://problem/31247584>

        Reviewed by Chris Dumez.

        Add a test to ensure that we do not cause an assertion fail when calling setTimeout
        after starting a navigation from an onunload event handler.

        * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail-expected.txt: Added.
        * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: Added.

2017-03-24  Myles C. Maxfield  <mmaxfield@apple.com>

        Implement font-optical-sizing
        https://bugs.webkit.org/show_bug.cgi?id=168895

        Reviewed by Dean Jackson.

        * fast/text/variations/optical-sizing-expected.txt: Added.
        * fast/text/variations/optical-sizing.html: Added.

2017-03-24  Yoav Weiss  <yoav@yoav.ws>

        Add a warning for unused link preloads.
        https://bugs.webkit.org/show_bug.cgi?id=165670

        Reviewed by Youenn Fablet.

        This adds a test for the unused preload warning, and adapts some of the other preload tests,
        to avoid warnings.

        * http/tests/preload/download_resources-expected.txt: Changed.
        * http/tests/preload/download_resources.html: Added references to preloaded resources.
        * http/tests/preload/onerrer_event-expected.txt: Changed.
        * http/tests/preload/onerror_event.html: Added references to preloaded resources.
        * http/tests/preload/onload_event.html: Added references to preloaded resources.
        * http/tests/preload/resources/single_download_preload.html: Deflaked.
        * http/tests/preload/unused_preload_warning-expected.txt: Added.
        * http/tests/preload/unused_preload_warning.html: Added.

2017-03-24  Brent Fulgham  <bfulgham@apple.com>

        Handle recursive calls to ProcessingInstruction::checkStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=169982
        <rdar://problem/31083051>

        Reviewed by Antti Koivisto.

        * fast/dom/beforeload/image-removed-during-before-load-expected.txt: Added.
        * fast/dom/beforeload/image-removed-during-before-load.html: Added.
        * fast/dom/beforeload/recursive-css-pi-before-load-expected.txt: Added.
        * fast/dom/beforeload/recursive-css-pi-before-load.html: Added.
        * fast/dom/beforeload/recursive-link-before-load-expected.txt: Added.
        * fast/dom/beforeload/recursive-link-before-load.html: Added.
        * fast/dom/beforeload/recursive-xsl-pi-before-load-expected.txt: Added.
        * fast/dom/beforeload/recursive-xsl-pi-before-load.html: Added.
        * fast/dom/beforeload/resources/content.xhtml: Added.
        * fast/dom/beforeload/resources/pass.css: Added.
        * fast/dom/beforeload/resources/test.xsl: Added.

2017-03-24  Myles C. Maxfield  <mmaxfield@apple.com>

        font-style needs a new CSSValue to make CSSRule.cssText work correctly
        https://bugs.webkit.org/show_bug.cgi?id=169258

        Reviewed by David Hyatt.

        Update tests' expected results.

        * fast/text/font-selection-font-face-parse-expected.txt:
        * fast/text/font-selection-font-face-parse.html:
        * fast/text/font-style-parse-expected.txt:
        * fast/text/font-style-parse.html:
        * platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

2017-03-24  Youenn Fablet  <youenn@apple.com>

        Add libwebrtc backend support for RTCRtpSender::replaceTrack
        https://bugs.webkit.org/show_bug.cgi?id=169841

        Reviewed by Alex Christensen.

        * webrtc/audio-replace-track-expected.txt: Added.
        * webrtc/audio-replace-track.html: Added.
        * webrtc/video-replace-track-expected.txt: Added.
        * webrtc/video-replace-track.html: Added.
        * webrtc/video-replace-track-to-null-expected.txt: Added.
        * webrtc/video-replace-track-to-null.html: Added.

2017-03-24  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for media/restore-from-page-cache.html.

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Mark webrtc/video-stats.html as failing.

        * platform/gtk/TestExpectations:

2017-03-24  Youenn Fablet  <youenn@apple.com>

        Add support for DataChannel and MediaStreamTrack stats
        https://bugs.webkit.org/show_bug.cgi?id=170031

        Reviewed by Eric Carlson.

        * webrtc/datachannel/datachannel-stats-expected.txt: Added.
        * webrtc/datachannel/datachannel-stats.html: Added.
        * webrtc/video-mediastreamtrack-stats-expected.txt: Added.
        * webrtc/video-mediastreamtrack-stats.html: Added.

2017-03-24  Chris Dumez  <cdumez@apple.com>

        Extend svg/animations/animations-paused-disconnected-iframe.html
        https://bugs.webkit.org/show_bug.cgi?id=170035

        Reviewed by Andreas Kling.

        Extend svg/animations/animations-paused-disconnected-iframe.html to cover more things.

        * svg/animations/animations-paused-disconnected-iframe-expected.txt:
        * svg/animations/animations-paused-disconnected-iframe.html:

2017-03-24  Youenn Fablet  <youenn@apple.com>

        Fix framesEncoded/framesDecoded RTC stats
        https://bugs.webkit.org/show_bug.cgi?id=170024

        Reviewed by Eric Carlson.

        * webrtc/video-stats-expected.txt: Added.
        * webrtc/video-stats.html: Added.

2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Mark media/video-load-require-user-gesture.html as failing after r214338.

        * platform/gtk/TestExpectations:

2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline http/tests/inspector/network/fetch-response-body.html/xhr-response-body.html after r214338.

        We are now getting the right application/json for a file data.json. The soup network backend tries to gess the
        mime type from the extension when sniffing is not allowed and the mime type is not known. See bug
        webkit.org/b/168299, that was added actually to fix these tests, but at that time we also failed to guess the
        mime type and returned application/octet-stream.

        * platform/gtk/TestExpectations:
        * platform/gtk/http/tests/inspector/network/fetch-response-body-expected.txt: Added.
        * platform/gtk/http/tests/inspector/network/xhr-response-body-expected.txt: Added.

2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK+ gardening. Rebaseline fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download.html after r214338.

        We are now getting a MIME type for otf files.

        * platform/gtk/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-expected.txt: Added.

2017-03-24  Per Arne Vollan  <pvollan@apple.com>

        Text stroke is sometimes clipped on video captions.
        https://bugs.webkit.org/show_bug.cgi?id=170006

        Reviewed by Eric Carlson.

        * media/track/track-css-stroke-cues-expected.txt:
        * media/track/track-css-stroke-cues.html:

2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
        https://bugs.webkit.org/show_bug.cgi?id=170001

        Reviewed by Michael Catanzaro.

        Remove platform specific expectations of two test because now we do the same as other wk2 ports.

        * platform/gtk/TestExpectations:

2017-03-23  Antti Koivisto  <antti@apple.com>

        Revert r213712, caused iPad PLT regression
        https://bugs.webkit.org/show_bug.cgi?id=170040

        Unreviewed.

        * http/tests/incremental/stylesheet-body-incremental-rendering-expected.html: Removed.
        * http/tests/incremental/stylesheet-body-incremental-rendering.html: Removed.

2017-03-23  Chris Dumez  <cdumez@apple.com>

        SVG animations are not paused when their <svg> element is removed from the document
        https://bugs.webkit.org/show_bug.cgi?id=170030
        <rdar://problem/31230252>

        Reviewed by Dean Jackson.

        Add layout test coverage.

        * svg/animations/animations-paused-when-removed-from-document-expected.txt: Added.
        * svg/animations/animations-paused-when-removed-from-document.html: Added.

2017-03-22  Myles C. Maxfield  <mmaxfield@apple.com>

        font shorthand should accept variation values
        https://bugs.webkit.org/show_bug.cgi?id=168998

        Reviewed by Simon Fraser.

        * fast/text/font-style-parse-expected.txt:
        * fast/text/font-style-parse.html:
        * fast/text/font-weight-parse-expected.txt:
        * fast/text/font-weight-parse.html:

2017-03-23  Chris Dumez  <cdumez@apple.com>

        SVG animations are not paused when inserted into a hidden page
        https://bugs.webkit.org/show_bug.cgi?id=170026
        <rdar://problem/31228704>

        Reviewed by Andreas Kling.

        Add layout test coverage.

        * svg/animations/animations-paused-when-inserted-in-hidden-document-expected.txt: Added.
        * svg/animations/animations-paused-when-inserted-in-hidden-document.html: Added.
        * svg/animations/animations-paused-when-inserted-in-hidden-document2-expected.txt: Added.
        * svg/animations/animations-paused-when-inserted-in-hidden-document2.html: Added.

== Rolled over to ChangeLog-2017-03-23 ==
