2018-04-27  Simon Fraser  <simon.fraser@apple.com>

        Implement color-filter for text stroke
        https://bugs.webkit.org/show_bug.cgi?id=185098

        Reviewed by Alan Bujtas.

        * css3/color-filters/color-filter-text-stroke-expected.html: Added.
        * css3/color-filters/color-filter-text-stroke.html: Added.

2018-04-27  Simon Fraser  <simon.fraser@apple.com>

        Implement animation for color-filter
        https://bugs.webkit.org/show_bug.cgi?id=185092
        rdar://problem/39773810

        Reviewed by Tim Horton.
        
        Fix the testing to recognize unprefixed filter, and color-filter.
        
        Add a color-filter animation test.

        * animations/resources/animation-test-helpers.js:
        (getPropertyValue):
        (comparePropertyValue):
        * css3/color-filters/color-filter-animation-expected.txt: Added.
        * css3/color-filters/color-filter-animation.html: Added.

2018-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for fast/loader/submit-form-while-parsing-2.html.
        https://bugs.webkit.org/show_bug.cgi?id=184051

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-04-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/wpt/resource-timing/rt-resources-per-worker.html as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=180260

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-04-27  Nan Wang  <n_wang@apple.com>

        AX: Accessibility needs to know which part of the content view is visible on iOS
        https://bugs.webkit.org/show_bug.cgi?id=185085
        <rdar://problem/39801363>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/unobscured-content-rect-expected.txt: Added.
        * accessibility/ios-simulator/unobscured-content-rect.html: Added.
        * platform/ios-wk1/TestExpectations:

2018-04-27  Christopher Reid  <chris.reid@sony.com>

        URL::appendEncodedHostName is using the deprecated uidna_IDNToASCII function
        https://bugs.webkit.org/show_bug.cgi?id=184836

        Reviewed by Alex Christensen.

        Verify that setting the host or hostname of URL objects will use IDNA2008.

        * fast/url/url-hostname-encoding-expected.txt: Added.
        * fast/url/url-hostname-encoding.html: Added.

2018-04-27  Youenn Fablet  <youenn@apple.com>

        Use NetworkLoadChecker for XHR/fetch loads
        https://bugs.webkit.org/show_bug.cgi?id=184741

        Reviewed by Chris Dumez.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * platform/mac-wk1/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt: Added.
        * platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/late-upload-events-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub-expected.txt: Added.
        * platform/win/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt: Added.
        * platform/win/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt: Added.
        * platform/win/http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt: Added.
        * platform/win/http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt: Added.
        * platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/late-upload-events-expected.txt: Added.
        * platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-expected.txt: Added.
        * platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub-expected.txt: Added.

2018-04-27  Simon Fraser  <simon.fraser@apple.com>

        Make color-filter transform gradient colors
        https://bugs.webkit.org/show_bug.cgi?id=185080

        Reviewed by Zalan Bujtas.

        * css3/color-filters/color-filter-gradients-expected.html: Added.
        * css3/color-filters/color-filter-gradients.html: Added.

2018-04-27  Simon Fraser  <simon.fraser@apple.com>

        Disable color-filter tests on Windows for now
        https://bugs.webkit.org/show_bug.cgi?id=185076

        The experimental feature for color-filter is off by default, and Windows WebKit API
        would have to change to enable it, so just skip the tests for now.

        * platform/win/TestExpectations:

2018-04-26  Simon Fraser  <simon.fraser@apple.com>

        Fix color-filter to apply to text decorations
        https://bugs.webkit.org/show_bug.cgi?id=185068
        <rdar://problem/39782136>

        Reviewed by Alan Bujtas.

        * css3/color-filters/color-filter-text-decoration-shadow-expected.html: Added.
        * css3/color-filters/color-filter-text-decoration-shadow.html: Added.
        * css3/color-filters/color-filter-text-shadow-expected.html: Added.
        * css3/color-filters/color-filter-text-shadow.html: Added.

2018-04-27  Per Arne Vollan  <pvollan@apple.com>

        Mark CSS color filters tests as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=185075

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-04-27  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode
        https://bugs.webkit.org/show_bug.cgi?id=185050
        <rdar://problem/39624038>

        Reviewed by Tim Horton.

        Add a new layout test to check that:
        • By default (with no `min-device-width` override), shrink-to-fit and expanded minimum layout sizes takes effect.
        • `min-device-width` can be used to bail out of shrink-to-fit and viewport behaviors.
        • A large `min-device-width` can be used to make extra zoom mode viewport heuristics even more aggressive.

        * TestExpectations:
        * fast/viewport/extrazoom/viewport-change-min-device-width.html: Added.
        * resources/ui-helper.js:
        (window.UIHelper.zoomScale):
        (window.UIHelper):

2018-04-27  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Mark a few new test failures

        Unreviewed gardening.
        * platform/gtk/TestExpectations: Related to r230817

2018-04-26  Simon Fraser  <simon.fraser@apple.com>

        Implement rendering support for the color-filter CSS property
        https://bugs.webkit.org/show_bug.cgi?id=185047
        rdar://problem/39664967

        Reviewed by Tim Horton.
        
        Tests for color-filter rendering.

        * css3/color-filters/color-filter-backgrounds-borders-expected.html: Added.
        * css3/color-filters/color-filter-backgrounds-borders.html: Added.
        * css3/color-filters/color-filter-box-shadow-expected.html: Added.
        * css3/color-filters/color-filter-box-shadow.html: Added.
        * css3/color-filters/color-filter-brightness-expected.html: Added.
        * css3/color-filters/color-filter-brightness.html: Added.
        * css3/color-filters/color-filter-color-property-expected.html: Added.
        * css3/color-filters/color-filter-color-property-list-item-expected.html: Added.
        * css3/color-filters/color-filter-color-property-list-item.html: Added.
        * css3/color-filters/color-filter-color-property.html: Added.
        * css3/color-filters/color-filter-color-text-decorations-expected.html: Added.
        * css3/color-filters/color-filter-color-text-decorations.html: Added.
        * css3/color-filters/color-filter-column-rule-expected.html: Added.
        * css3/color-filters/color-filter-column-rule.html: Added.
        * css3/color-filters/color-filter-contrast-expected.html: Added.
        * css3/color-filters/color-filter-contrast.html: Added.
        * css3/color-filters/color-filter-current-color-expected.html: Added.
        * css3/color-filters/color-filter-current-color.html: Added.
        * css3/color-filters/color-filter-filter-list-expected.html: Added.
        * css3/color-filters/color-filter-filter-list.html: Added.
        * css3/color-filters/color-filter-grayscale-expected.html: Added.
        * css3/color-filters/color-filter-grayscale.html: Added.
        * css3/color-filters/color-filter-hue-rotate-expected.html: Added.
        * css3/color-filters/color-filter-hue-rotate.html: Added.
        * css3/color-filters/color-filter-inherits-expected.html: Added.
        * css3/color-filters/color-filter-inherits.html: Added.
        * css3/color-filters/color-filter-invert-expected.html: Added.
        * css3/color-filters/color-filter-invert.html: Added.
        * css3/color-filters/color-filter-opacity-expected.html: Added.
        * css3/color-filters/color-filter-opacity.html: Added.
        * css3/color-filters/color-filter-outline-expected.html: Added.
        * css3/color-filters/color-filter-outline.html: Added.
        * css3/color-filters/color-filter-saturate-expected.html: Added.
        * css3/color-filters/color-filter-saturate.html: Added.
        * css3/color-filters/color-filter-sepia-expected.html: Added.
        * css3/color-filters/color-filter-sepia.html: Added.
        * css3/color-filters/color-filter-text-emphasis-expected.html: Added.
        * css3/color-filters/color-filter-text-emphasis.html: Added.

2018-04-26  Brent Fulgham  <bfulgham@apple.com>

        Show punycode if URL contains Latin small letter o with dot below character
        https://bugs.webkit.org/show_bug.cgi?id=185051
        <rdar://problem/39459297>

        Reviewed by David Kilzer.

        * fast/url/host-expected.txt:
        * fast/url/host.html:

2018-04-26  Sihui Liu  <sihui_liu@apple.com>

        [iOS] LayoutTest http/tests/quicklook/hide-referer-on-navigation.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=184825
        <rdar://problem/38924997>

        Reviewed by Geoffrey Garen.

        Policy decisions are made asynchronously now, so we need to set the async flag of this test. 

        * http/tests/quicklook/hide-referer-on-navigation.html:

2018-04-25  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/workers/worker-importScripts-banned-mimetype.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184800

        Unreviewed test gardening.

        * TestExpectations:

2018-04-26  Youenn Fablet  <youenn@apple.com>

        CORS preflight checker should add a console message when preflight load is blocked
        https://bugs.webkit.org/show_bug.cgi?id=185021

        Reviewed by Chris Dumez.

        * TestExpectations: Skipping console JS logging for some WPT tests to keep them consistent between WK1 and WK2.
        * http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt: Removed.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt: Removed.
        * platform/mac-wk1/imported/w3c/web-platform-tests/cors/request-headers-expected.txt: Removed.
        * platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt: Removed.
        * platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt: Removed.
        * platform/win/imported/w3c/web-platform-tests/cors/request-headers-expected.txt: Removed.

2018-04-26  Youenn Fablet  <youenn@apple.com>

        Make cross origin redirection error messages consistent between SubresourceLoader and NetworkLoadChecker
        https://bugs.webkit.org/show_bug.cgi?id=185023

        Reviewed by Chris Dumez.

        * http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt:
        * platform/mac-wk1/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Removed.
        * platform/mac-wk1/http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt: Removed.
        * platform/mac-wk1/http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt: Removed.
        * platform/win/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Removed.
        * platform/win/http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt: Removed.
        * platform/win/http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt: Removed.

2018-04-25  Megan Gardner  <megan_gardner@apple.com>

        Activate selection when interacting with editable content
        https://bugs.webkit.org/show_bug.cgi?id=185017

        Reviewed by Tim Horton.
        
        Fixed double-tap-on-editable-and-noneditable test, as it was not actually written correctly.
        Should actually double tap on correct content and check for the correct output now.
        Added two more tests to make sure that selections really are happening in editable content. 

        * fast/events/touch/ios/double-tap-on-editable-and-noneditable.html:
        * fast/events/touch/ios/double-tap-on-editable-content-for-selection-expected.txt: Added.
        * fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-right-to-change-selected-text-expected.txt: Added.
        * fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-right-to-change-selected-text.html: Added.
        * fast/events/touch/ios/double-tap-on-editable-content-for-selection.html: Added.
        
2018-04-25  Brent Fulgham  <bfulgham@apple.com>

        Add port 548 (afpovertcp) to port blacklist
        https://bugs.webkit.org/show_bug.cgi?id=185000
        <rdar://problem/39540481>

        Reviewed by David Kilzer.

        Update test and expectations for new port.

        * platform/gtk/security/block-test-expected.txt:
        * platform/mac/security/block-test-expected.txt:
        * platform/wpe/security/block-test-expected.txt:
        * security/block-test-expected.txt:
        * security/block-test.html:

2018-04-26  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [WPE] Gardening of tests for the WPE Debug bot.

        Mark tests timing out.
        An attempt to make the new WPE debug bot not abort early.

        * platform/gtk/TestExpectations: workers/bomb.html for debug was skipped in the root expectations file,
          but we were overriding it to simply "slow" here because we missed the tag for release.
          Let's put both expectations together to make this clearer.
        * platform/wpe/TestExpectations: Ditto.

2018-04-26  Andy VanWagoner  <thetalecrafter@gmail.com>

        [INTL] Implement Intl.PluralRules
        https://bugs.webkit.org/show_bug.cgi?id=184312

        Reviewed by JF Bastien.

        * js/intl-pluralrules-expected.txt: Added.
        * js/intl-pluralrules.html: Added.
        * js/script-tests/intl-pluralrules.js: Added.
        * platform/win/TestExpectations: Disabled Intl.PluralRules tests on win.

2018-04-25  Youenn Fablet  <youenn@apple.com>

        Use NetworkLoadChecker for all subresource loads except fetch/XHR
        https://bugs.webkit.org/show_bug.cgi?id=184870
        <rdar://problem/39370034>

        Reviewed by Chris Dumez.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
        * http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
        * http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
        * http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt:
        * http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt:
        * http/tests/security/worker-cross-origin-expected.txt:
        * http/tests/security/xss-DENIED-xml-external-entity-expected.txt:
        * http/tests/security/xss-DENIED-xsl-document-expected.txt:
        * http/tests/security/xss-DENIED-xsl-external-entity-expected.txt:
        * http/tests/workers/worker-redirect-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
        * platform/mac-wk1/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt: Added.
        * platform/mac-wk1/http/tests/workers/worker-redirect-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt: Added.
        * platform/mac-wk1/http/tests/security/worker-cross-origin-expected.txt: Added.
        * platform/mac-wk2/TestExpectations:
        * platform/win/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Added.
        * platform/win/http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt: Added.
        * platform/win/http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt: Added.
        * platform/win/http/tests/workers/worker-redirect-expected.txt: Added.
        * platform/win/http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt: Added.
        * platform/win/http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt: Added.
        * platform/win/http/tests/security/worker-cross-origin-expected.txt: Added.


2018-04-25  Chris Dumez  <cdumez@apple.com>

        window.postMessage() / focus() / blur() throw a TypeError when called on a RemoteDOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=184981

        Reviewed by Sam Weinig.

        Add layout test coverage.

        * http/tests/navigation/process-swap-window-open-expected.txt:
        * http/tests/navigation/process-swap-window-open.html:

2018-04-25  Jiewen Tan  <jiewen_tan@apple.com>

        Unreviewed test gardening

        Mark http/tests/misc/submit-post-keygen.html as 'Skip' in Win because of lacking corresponding
        implementations.

        * platform/win/TestExpectations:

2018-04-25  Simon Fraser  <simon.fraser@apple.com>

        brightness() filter should default to 1, and not allow negative values
        https://bugs.webkit.org/show_bug.cgi?id=184937

        Reviewed by Dean Jackson.
        
        Added negative value tests to filter-property-parsing.html and backdropfilter-property-parsing.html,
        and made these tests more similar.
        
        Fixed expected computed value for brightness() to be brightness(1) in the tests.
        
        The effect-brightness* test results failed because elements with invalid brightness values now
        no longer create a RenderLayer.

        * css3/color-filters/color-filter-parsing-expected.txt:
        * css3/color-filters/color-filter-parsing.html:
        * css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt:
        * css3/filters/backdrop/backdropfilter-property-computed-style.html:
        * css3/filters/backdrop/backdropfilter-property-parsing-expected.txt:
        * css3/filters/backdrop/backdropfilter-property-parsing.html:
        * css3/filters/effect-brightness-expected.txt:
        * css3/filters/filter-property-computed-style-expected.txt:
        * css3/filters/filter-property-computed-style.html:
        * css3/filters/filter-property-parsing-expected.txt:
        * css3/filters/filter-property-parsing.html:
        * css3/filters/unprefixed-expected.txt:
        * css3/filters/unprefixed.html:
        * fast/filter-image/parse-filter-image-expected.txt:
        * fast/filter-image/parse-filter-image.html:
        * platform/mac/css3/filters/effect-brightness-clamping-expected.txt:

2018-04-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [WPE][Debug] Test gardening of EME related tests.

        Report and mark the tests crashing on the Debug build.

        * platform/wpe/TestExpectations:

2018-04-25  Jiewen Tan  <jiewen_tan@apple.com>

        Remove access to keychain from the WebContent process
        https://bugs.webkit.org/show_bug.cgi?id=184428
        <rdar://problem/13150903>

        Reviewed by Brent Fulgham.

        Alter the layout test to match dummy data supplied by the test runners.
        Modify expectations as well.

        * http/tests/misc/resources/check-keygen-post.php:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] The search field on www.bing.com is missing label text
        https://bugs.webkit.org/show_bug.cgi?id=184975
        <rdar://problem/39723081>

        Reviewed by Tim Horton.

        Adds a layout test to check that the label text of the focused form control in the input view can be sourced
        from (1) the "placeholder" attribute, (2) the "title" attribute, (3) the "aria-label" attribute, or (4) an
        associated label element.

        * fast/forms/extrazoom/form-control-label-text-expected.txt: Added.
        * fast/forms/extrazoom/form-control-label-text.html: Added.
        * resources/ui-helper.js:
        (window.UIHelper.formInputLabel):
        (window.UIHelper):

2018-04-25  Megan Gardner  <megan_gardner@apple.com>

        Don't activate Selection Assistant unless it is actually needed.
        https://bugs.webkit.org/show_bug.cgi?id=184944
        <rdar://problem/39469671>

        Reviewed by Tim Horton.
        
        Turning on previously flakey tests that are fixed with this change.

        * platform/ios-wk2/TestExpectations:

2018-04-25  Ross Kirsling  <ross.kirsling@sony.com>

        [WinCairo] Fix js/regexp-unicode.html crash.
        https://bugs.webkit.org/show_bug.cgi?id=184891

        Reviewed by Yusuke Suzuki.

        * platform/wincairo/TestExpectations:

2018-04-25  Brent Fulgham  <bfulgham@apple.com>

        Don't Block First Party Cookies on Redirects
        https://bugs.webkit.org/show_bug.cgi?id=184948
        <rdar://problem/39534099>

        Reviewed by Youenn Fablet.

        * http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect.html: Added.

2018-04-25  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening, rebaseline tests for iOS.

        * platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/ios/media/modern-media-controls/compact-media-controls/compact-media-controls-constructor-expected.txt: Added.
        * platform/ios/media/modern-media-controls/compact-media-controls/compact-media-controls-layout-expected.txt: Added.

2018-04-25  Youenn Fablet  <youenn@apple.com>

        CachedRawResource is not handling incremental data computation correctly
        https://bugs.webkit.org/show_bug.cgi?id=184936

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/service-worker-fetch-worker.js:
        (stringToBuffer):
        (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:

2018-04-25  Youenn Fablet  <youenn@apple.com>

        Ensure DNT is set for redirections handled in NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=184890

        Reviewed by Ryosuke Niwa.

        * http/wpt/fetch/dnt-header-after-redirection-expected.txt: Added.
        * http/wpt/fetch/dnt-header-after-redirection.html: Added.
        * http/wpt/fetch/resources/dnt-status.py: Added.
        * http/wpt/fetch/resources/redirect.py: Added.
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:

2018-04-25  Youenn Fablet  <youenn@apple.com>

        Make DocumentThreadableLoader error logging more consistent
        https://bugs.webkit.org/show_bug.cgi?id=184853

        Reviewed by Chris Dumez.

        Removing JS console log output for some tests.
        Updating tests according modified error logging.

        * TestExpectations:
        * http/tests/security/bypassing-cors-checks-for-extension-urls-expected.txt:
        * http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
        * http/tests/security/cross-origin-cached-images-expected.txt:
        * http/tests/security/cross-origin-cached-images-parallel-expected.txt:
        * http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
        * http/tests/security/load-image-after-redirection-2-expected.txt:
        * http/tests/security/load-image-after-redirection-expected.txt:
        * http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
        * http/tests/security/video-poster-cross-origin-crash-expected.txt:
        * http/tests/security/video-poster-cross-origin-crash2-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type-expected.txt:
        * http/tests/xmlhttprequest/access-control-preflight-async-header-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-preflight-async-method-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-preflight-async-not-supported-expected.txt:
        * http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
        * http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
        * http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-expected.txt:
        * http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
        * http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight-expected.txt:
        * http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
        * http/tests/xmlhttprequest/cross-site-denied-response-sync-2-expected.txt:
        * http/tests/xmlhttprequest/cross-site-denied-response-sync-expected.txt:
        * http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
        * http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
        * http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
        * http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt:
        * http/tests/xmlhttprequest/post-blob-content-type-sync-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync-expected.txt:
        * http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
        * http/tests/xmlhttprequest/upload-request-error-event-order-expected.txt:
        * http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
        * platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * platform/mac-wk1/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
        * platform/mac-wk1/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
        * platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-and-redirects-expected.txt:
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
        * platform/win/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * platform/win/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
        * platform/win/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
        * platform/win/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:

2018-04-25  Dean Jackson  <dino@apple.com>

        Make a better flag for system preview, and disable it where necessary
        https://bugs.webkit.org/show_bug.cgi?id=184968
        <rdar://problem/39686506>

        Reviewed by Eric Carlson.

        These tests have platform-specific results for the moment.

        * TestExpectations:
        * system-preview/badge-expected.html: Removed.
        * system-preview/detection-expected.txt: Removed.

2018-04-25  Miguel Gomez  <magomez@igalia.com>

        [GTK] fast/repaint/fixed-scale.html failing since r230479 "[TexMap] TextureMapperLayer unnecessarily duplicates state in GraphicsLayerTransform"
        https://bugs.webkit.org/show_bug.cgi?id=184780

        Reviewed by Žan Doberšek.

        * platform/gtk/TestExpectations:

2018-04-25  Ms2ger  <Ms2ger@igalia.com>

        imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-* LayoutTests are flaky failures
        https://bugs.webkit.org/show_bug.cgi?id=182833

        Reviewed by Carlos Alberto Lopez Perez.

        * TestExpectations: enable tests
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub-expected.txt: update expectations
        * platform/ios/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub-expected.txt: update expectations
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub-expected.txt: update expectations

2018-04-24  Simon Fraser  <simon.fraser@apple.com>

        Add a new "color-filter" CSS property as an experimental feature
        https://bugs.webkit.org/show_bug.cgi?id=184940

        Reviewed by Jon Lee.

        * css3/color-filters/color-filter-parsing-expected.txt: Added.
        * css3/color-filters/color-filter-parsing.html: Added.

2018-04-24  Simon Fraser  <simon.fraser@apple.com>

        shape-outside and filter styles occur twice in the result of getComputedStyle
        https://bugs.webkit.org/show_bug.cgi?id=184931

        Reviewed by Antti Koivisto.

        CSSPropertyShapeOutside and CSSPropertyFilter were duplicated in the list of computedProperties[]
        used by getComputedStyle. Remove the duplication.

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac-sierra/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac-sierra/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac-sierra/svg/css/getComputedStyle-basic-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac/svg/css/getComputedStyle-basic-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

2018-04-24  Youenn Fablet  <youenn@apple.com>

        Throw in case of PeerConnection created for detached documents
        https://bugs.webkit.org/show_bug.cgi?id=184921
        <rdar://problem/39629216>

        Reviewed by Eric Carlson.

        * webrtc/pc-detached-document-expected.txt: Added.
        * webrtc/pc-detached-document.html: Added.

2018-04-24  John Wilander  <wilander@apple.com>

        From-Origin: Support for 'same' and 'same-site' response header, nested frame origin check
        https://bugs.webkit.org/show_bug.cgi?id=184560
        <rdar://problem/38901344>

        Reviewed by Youenn Fablet and Daniel Bates.

        This patch implements significant parts of https://github.com/whatwg/fetch/issues/687.
        We consume the From-Origin response header and only load the resource if:
        - The header is non-existent, empty, or invalid.
        - The header specifies 'same' and the resource's origin matches the originating
          document's origin and the origins up the frame tree.
        - The header specifies 'same-site' and the resource's eTLD+1 matches the originating
          document's eTLD+1 and the eTLD+1 of the documents up the frame tree.

        This feature is experimental and off by default.

        * TestExpectations:
            The http/tests/from-origin/ directory marked as [ Skip ].
            Suppressed console output for imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-redirect.https.html.
        * http/tests/from-origin: Added.
        * http/tests/from-origin/document-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/document-from-origin-same-accepted.html: Added.
        * http/tests/from-origin/document-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/document-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/document-from-origin-same-site-accepted-expected.txt: Added.
        * http/tests/from-origin/document-from-origin-same-site-accepted.html: Added.
        * http/tests/from-origin/document-from-origin-same-site-blocked-expected.txt: Added.
        * http/tests/from-origin/document-from-origin-same-site-blocked.html: Added.
        * http/tests/from-origin/document-nested-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/document-nested-from-origin-same-accepted.html: Added.
        * http/tests/from-origin/document-nested-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/document-nested-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/fetch-data-iframe-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/fetch-data-iframe-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/fetch-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/fetch-from-origin-same-accepted.html: Added.
        * http/tests/from-origin/fetch-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/fetch-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/fetch-from-origin-same-site-accepted-expected.txt: Added.
        * http/tests/from-origin/fetch-from-origin-same-site-accepted.html: Added.
        * http/tests/from-origin/fetch-from-origin-same-site-blocked-expected.txt: Added.
        * http/tests/from-origin/fetch-from-origin-same-site-blocked.html: Added.
        * http/tests/from-origin/fetch-iframe-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/fetch-iframe-from-origin-same-accepted.html: Added.
        * http/tests/from-origin/fetch-iframe-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/fetch-iframe-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/image-about-blank-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/image-about-blank-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/image-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/image-from-origin-same-accepted.html: Added.
        * http/tests/from-origin/image-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/image-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/image-from-origin-same-site-accepted-expected.txt: Added.
        * http/tests/from-origin/image-from-origin-same-site-accepted.html: Added.
        * http/tests/from-origin/image-from-origin-same-site-blocked-expected.txt: Added.
        * http/tests/from-origin/image-from-origin-same-site-blocked.html: Added.
        * http/tests/from-origin/redirect-document-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/redirect-document-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/redirect-fetch-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/redirect-fetch-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/redirect-image-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/redirect-image-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/redirect-script-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/redirect-script-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/redirect-xhr-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/redirect-xhr-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/resources: Added.
        * http/tests/from-origin/resources/fetch.php: Added.
        * http/tests/from-origin/resources/iframe.php: Added.
        * http/tests/from-origin/resources/iframeIPAddressFetch.html: Added.
        * http/tests/from-origin/resources/iframeLocalhostFetch.html: Added.
        * http/tests/from-origin/resources/image.php: Added.
        * http/tests/from-origin/resources/nestedIPAddressIframe.html: Added.
        * http/tests/from-origin/resources/nestedLocalhostIframe.html: Added.
        * http/tests/from-origin/resources/redirect.php: Added.
        * http/tests/from-origin/resources/script.php: Added.
        * http/tests/from-origin/resources/xhr.php: Added.
        * http/tests/from-origin/sandboxed-sub-frame-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/sandboxed-sub-frame-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/sandboxed-sub-frame-nested-cross-origin-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/sandboxed-sub-frame-nested-cross-origin-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/sandboxed-sub-frame-nested-same-origin-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/sandboxed-sub-frame-nested-same-origin-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/script-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/script-from-origin-same-accepted.html: Added.
        * http/tests/from-origin/script-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/script-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/script-from-origin-same-site-accepted-expected.txt: Added.
        * http/tests/from-origin/script-from-origin-same-site-accepted.html: Added.
        * http/tests/from-origin/script-from-origin-same-site-blocked-expected.txt: Added.
        * http/tests/from-origin/script-from-origin-same-site-blocked.html: Added.
        * http/tests/from-origin/top-frame-document-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/top-frame-document-from-origin-same-accepted.php: Added.
        * http/tests/from-origin/xhr-from-origin-same-accepted-expected.txt: Added.
        * http/tests/from-origin/xhr-from-origin-same-accepted.html: Added.
        * http/tests/from-origin/xhr-from-origin-same-blocked-expected.txt: Added.
        * http/tests/from-origin/xhr-from-origin-same-blocked.html: Added.
        * http/tests/from-origin/xhr-from-origin-same-site-accepted-expected.txt: Added.
        * http/tests/from-origin/xhr-from-origin-same-site-accepted.html: Added.
        * http/tests/from-origin/xhr-from-origin-same-site-blocked-expected.txt: Added.
        * http/tests/from-origin/xhr-from-origin-same-site-blocked.html: Added.
        * platform/mac-wk2/TestExpectations:
            Suppressed console output for imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-redirect.https.html.
        * platform/wk2/TestExpectations:
            The http/tests/from-origin/ directory marked as [ Pass ].

2018-04-24  Tadeu Zagallo  <tzagallo@apple.com>

        REGRESSION(r221839): Fix requests with FormData containing empty files
        https://bugs.webkit.org/show_bug.cgi?id=184490
        <rdar://problem/39385169>

        Reviewed by Geoffrey Garen.

        Verify that the final boundary is present in the request body when submitting FormData containing an empty file.

        * http/tests/local/formdata/send-form-data-with-empty-file-expected.txt: Added.
        * http/tests/local/formdata/send-form-data-with-empty-file.html: Added.

2018-04-23  Daniel Bates  <dabates@apple.com>

        Implement Same-Site cookies
        https://bugs.webkit.org/show_bug.cgi?id=159464
        <rdar://problem/27196358>

        Reviewed by Brent Fulgham.

        Add tests. These tests are skipped on all ports for now, including Mac and iOS. We will
        look to subsequently enable the tests for Mac and iOS once we have CFNetwork support for
        Same-Site cookies.

        The following tests and utilities were taken in whole or in part from Blink:
            http/tests/cookies/resources/echo-json.php
            http/tests/cookies/resources/post-cookies-onmessage.php
            http/tests/cookies/resources/post-cookies-to-opener.php
            http/tests/cookies/resources/testharness-helpers.js
            http/tests/cookies/same-site/popup-cross-site-post.html
            http/tests/cookies/same-site/popup-cross-site.html
            http/tests/cookies/same-site/popup-same-site-post.html
            http/tests/cookies/same-site/popup-same-site.html

        The following files were derived from tests taken from Blink:
            http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html
            http/tests/cookies/same-site/popup-same-site-via-same-site-redirect.html

        * TestExpectations: Skip on all ports for now.
        * http/tests/cookies/resources/cookie-utilities.js: Added.
        (createCookie):
        (setBaseDocumentWhenFetchingDOMCookies):
        (setDOMCookie):
        * http/tests/cookies/resources/cookie-utility.php:
        * http/tests/cookies/resources/echo-json.php: Added.
        * http/tests/cookies/resources/post-cookies-onmessage.php: Added.
        * http/tests/cookies/resources/post-cookies-to-opener.php: Added.
        * http/tests/cookies/resources/testharness-helpers.js: Added.
        (clearKnownCookies):
        * http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-cookies-set-in-about-blank-iframe-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-cookies-set-in-about-blank-iframe.html: Added.
        * http/tests/cookies/same-site/fetch-in-about-blank-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-about-blank-page.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-iframe-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-iframe.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-service-worker.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-worker.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-service-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-service-worker.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-srcdoc-iframe-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-srcdoc-iframe.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-worker.html: Added.
        * http/tests/cookies/same-site/popup-cross-site-expected.txt: Added.
        * http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Added.
        * http/tests/cookies/same-site/popup-cross-site-post.html: Added.
        * http/tests/cookies/same-site/popup-cross-site.html: Added.
        * http/tests/cookies/same-site/popup-same-site-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-post-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-post.html: Added.
        * http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html: Added.
        * http/tests/cookies/same-site/popup-same-site-via-same-site-redirect-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-via-same-site-redirect.html: Added.
        * http/tests/cookies/same-site/popup-same-site.html: Added.
        * http/tests/cookies/same-site/resources/click-hyperlink.php: Added.
        * http/tests/cookies/same-site/resources/echo-iframe-src.php: Added.
        * http/tests/cookies/same-site/resources/fetch-after-navigating-iframe-in-cross-origin-page.php: Added.
        * http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-from-cross-origin-page.php: Added.
        * http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.php: Added.
        * http/tests/cookies/same-site/resources/fetch-in-cross-origin-iframe.html: Added.
        * http/tests/cookies/same-site/resources/fetch-in-cross-origin-service-worker.html: Added.
        * http/tests/cookies/same-site/resources/fetch-in-cross-origin-worker.js: Added.
        (async.checkResult):
        * http/tests/cookies/same-site/resources/fetch-in-same-origin-service-worker.php: Added.
        * http/tests/cookies/same-site/resources/fetch-in-same-origin-worker.js: Added.
        (async.checkResult):
        * http/tests/cookies/same-site/resources/passthrough-service-worker.js: Added.
        * platform/mac-wk1/TestExpectations: Skip the Service Worker tests as they are not supported in LegacyWebKit.

2018-04-23  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] REGRESSION(230860) Unable to change time input values using UI
        https://bugs.webkit.org/show_bug.cgi?id=184901
        <rdar://problem/39664797>

        Reviewed by Tim Horton.

        Adds a basic test to verify that tapping on an input of type `time` and choosing a time actually changes the
        value of the input. Also adds a new UIHelper function to set the value of the currently focused input of type
        time to the given hours and minutes.

        * fast/forms/extrazoom/time-picker-value-change-expected.txt: Added.
        * fast/forms/extrazoom/time-picker-value-change.html: Added.
        * resources/ui-helper.js:
        (window.UIHelper.setTimePickerValue):
        (window.UIHelper):

2018-04-23  Chris Dumez  <cdumez@apple.com>

        Unreviewed, fix a few tests that became flaky after r230919.

        * fast/events/beforeunload-alert-handled-keydown.html:
        * fast/events/beforeunload-alert-no-user-interaction.html:
        * fast/events/beforeunload-alert-user-interaction.html:

2018-04-23  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r230921, r230923, r230924, r230932,
        and r230934.
        https://bugs.webkit.org/show_bug.cgi?id=184903

        Builds still broken (Requested by ryanhaddad on #webkit).

        Reverted changesets:

        "Implement Same-Site cookies"
        https://bugs.webkit.org/show_bug.cgi?id=159464
        https://trac.webkit.org/changeset/230921

        "Attempt to fix the build after r230921"
        https://bugs.webkit.org/show_bug.cgi?id=159464
        https://trac.webkit.org/changeset/230923

        "Attempt to fix the Mac and iOS build after r230921"
        https://bugs.webkit.org/show_bug.cgi?id=159464
        https://trac.webkit.org/changeset/230924

        "Another attempt to fix the Windows build following r230921"
        https://bugs.webkit.org/show_bug.cgi?id=159464
        https://trac.webkit.org/changeset/230932

        "Attempt to fix the Apple Internal build following r230921"
        https://bugs.webkit.org/show_bug.cgi?id=159464
        https://trac.webkit.org/changeset/230934

2018-04-23  Antti Koivisto  <antti@apple.com>

        REGRESSION (r220112): reCAPTCHA images render off screen on Twitch.tv app Log In or Sign Up
        https://bugs.webkit.org/show_bug.cgi?id=182859
        <rdar://problem/37595065>

        Reviewed by Zalan Bujtas

        * fast/frames/flattening/media-query-growing-content-expected.txt: Removed.
        * fast/frames/flattening/media-query-growing-content.html: Removed.
        * fast/frames/flattening/resources/media-query-min-height-with-flattening.html: Removed.

2018-04-23  Daniel Bates  <dabates@apple.com>

        Implement Same-Site cookies
        https://bugs.webkit.org/show_bug.cgi?id=159464
        <rdar://problem/27196358>

        Reviewed by Brent Fulgham.

        Add tests. These tests are skipped on all ports for now, including Mac and iOS. We will
        look to subsequently enable the tests for Mac and iOS once we have CFNetwork support for
        Same-Site cookies.

        The following tests and utilities were taken in whole or in part from Blink:
            http/tests/cookies/resources/echo-json.php
            http/tests/cookies/resources/post-cookies-onmessage.php
            http/tests/cookies/resources/post-cookies-to-opener.php
            http/tests/cookies/resources/testharness-helpers.js
            http/tests/cookies/same-site/popup-cross-site-post.html
            http/tests/cookies/same-site/popup-cross-site.html
            http/tests/cookies/same-site/popup-same-site-post.html
            http/tests/cookies/same-site/popup-same-site.html

        The following files were derived from tests taken from Blink:
            http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html
            http/tests/cookies/same-site/popup-same-site-via-same-site-redirect.html

        * TestExpectations: Skip on all ports for now.
        * http/tests/cookies/resources/cookie-utilities.js: Added.
        (createCookie):
        (setBaseDocumentWhenFetchingDOMCookies):
        (setDOMCookie):
        * http/tests/cookies/resources/cookie-utility.php:
        * http/tests/cookies/resources/echo-json.php: Added.
        * http/tests/cookies/resources/post-cookies-onmessage.php: Added.
        * http/tests/cookies/resources/post-cookies-to-opener.php: Added.
        * http/tests/cookies/resources/testharness-helpers.js: Added.
        (clearKnownCookies):
        * http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-cookies-set-in-about-blank-iframe-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-cookies-set-in-about-blank-iframe.html: Added.
        * http/tests/cookies/same-site/fetch-in-about-blank-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-about-blank-page.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-iframe-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-iframe.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-service-worker.html: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-cross-origin-worker.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-page-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-page.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-service-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-service-worker.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-srcdoc-iframe-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-srcdoc-iframe.html: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-worker-expected.txt: Added.
        * http/tests/cookies/same-site/fetch-in-same-origin-worker.html: Added.
        * http/tests/cookies/same-site/popup-cross-site-expected.txt: Added.
        * http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Added.
        * http/tests/cookies/same-site/popup-cross-site-post.html: Added.
        * http/tests/cookies/same-site/popup-cross-site.html: Added.
        * http/tests/cookies/same-site/popup-same-site-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-post-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-post.html: Added.
        * http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html: Added.
        * http/tests/cookies/same-site/popup-same-site-via-same-site-redirect-expected.txt: Added.
        * http/tests/cookies/same-site/popup-same-site-via-same-site-redirect.html: Added.
        * http/tests/cookies/same-site/popup-same-site.html: Added.
        * http/tests/cookies/same-site/resources/click-hyperlink.php: Added.
        * http/tests/cookies/same-site/resources/echo-iframe-src.php: Added.
        * http/tests/cookies/same-site/resources/fetch-after-navigating-iframe-in-cross-origin-page.php: Added.
        * http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-from-cross-origin-page.php: Added.
        * http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.php: Added.
        * http/tests/cookies/same-site/resources/fetch-in-cross-origin-iframe.html: Added.
        * http/tests/cookies/same-site/resources/fetch-in-cross-origin-service-worker.html: Added.
        * http/tests/cookies/same-site/resources/fetch-in-cross-origin-worker.js: Added.
        (async.checkResult):
        * http/tests/cookies/same-site/resources/fetch-in-same-origin-service-worker.php: Added.
        * http/tests/cookies/same-site/resources/fetch-in-same-origin-worker.js: Added.
        (async.checkResult):
        * http/tests/cookies/same-site/resources/passthrough-service-worker.js: Added.
        * platform/mac-wk1/TestExpectations: Skip the Service Worker tests as they are not supported in LegacyWebKit.

2018-04-23  Chris Dumez  <cdumez@apple.com>

        HTML String load cannot be prevented by responding 'Cancel' asynchronously in decidePolicyForNavigationAction
        https://bugs.webkit.org/show_bug.cgi?id=184848
        <rdar://problem/39145306>

        Reviewed by Brady Eidson.

        Update layout tests that wrongly expected 'about:blank' to load synchronously even
        when it is not the initial empty document of an iframe. I have checked that our
        behavior is now consistent with Chrome.

        * fast/events/beforeunload-alert-user-interaction2.html:
        * http/tests/security/cross-origin-reified-window-location-setting-expected.txt:
        * http/tests/security/cross-origin-reified-window-location-setting.html:
        * webarchive/loading/javascript-url-iframe-crash-expected.txt:

2018-04-23  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] 100vw is roughly half of the viewport width in extra zoom mode
        https://bugs.webkit.org/show_bug.cgi?id=184871
        <rdar://problem/39477595>

        Reviewed by Andy Estes.

        Add a new layout test to verify that shrink-to-fit works as intended in extra zoom mode:
        1.  The large element should cause the entire viewport to shrink down to fit.
        2.  Removing the large element should adjust the viewport, such that the smaller element now fits the entire
            viewport.
        3.  The smaller element (at 100vw and 100vh) should be the same size as the window.

        * TestExpectations:
        * fast/css/extrazoom/viewport-units-shrink-to-fit-expected.txt: Added.
        * fast/css/extrazoom/viewport-units-shrink-to-fit.html: Added.

2018-04-22  Wenson Hsieh  <wenson_hsieh@apple.com>

        Add a layout test for r230785
        https://bugs.webkit.org/show_bug.cgi?id=184757

        Reviewed by Beth Dakin.

        Adds a new layout test to verify that true screen dimensions in extra zoom mode
        are observable from the page, via window.screen.

        * TestExpectations:
        * fast/dom/Window/extrazoom/window-get-real-screen-dimensions.html: Added.

2018-04-21  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Show a loading indicator after pressing the play button in compact mode
        https://bugs.webkit.org/show_bug.cgi?id=184863
        <rdar://problem/38939468>

        Reviewed by Dean Jackson.

        * media/modern-media-controls/compact-media-controls/compact-media-controls-constructor-expected.txt:
        * media/modern-media-controls/compact-media-controls/compact-media-controls-constructor.html:
        * media/modern-media-controls/compact-media-controls/compact-media-controls-layout-expected.txt:
        * media/modern-media-controls/compact-media-controls/compact-media-controls-layout.html:

2018-04-21  Youenn Fablet  <youenn@apple.com>

        Activate NetworkLoadChecker for media loads
        https://bugs.webkit.org/show_bug.cgi?id=184841

        Reviewed by Eric Carlson.

        * TestExpectations: Added DumpJSConsoleLogInStdErr to remove console message differences between WK1/WK2.

2018-04-20  Nan Wang  <n_wang@apple.com>

        AX: AOM does not work with DOM Level 1 events
        https://bugs.webkit.org/show_bug.cgi?id=184847

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/AOM-dismiss-event-expected.txt:
        * accessibility/ios-simulator/AOM-dismiss-event.html:
        * accessibility/mac/AOM-event-accessiblesetvalue-expected.txt:
        * accessibility/mac/AOM-event-accessiblesetvalue.html:
        * accessibility/mac/AOM-events-all-expected.txt:
        * accessibility/mac/AOM-events-all.html:
        * accessibility/mac/AOM-events-expected.txt:
        * accessibility/mac/AOM-events.html:

2018-04-20  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline more tests after r230864.

        * fast/frames/sandboxed-iframe-history-denied-expected.txt:
        * fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:

2018-04-20  Daniel Bates  <dabates@apple.com>

        Hide Strong Password label when text field is too narrow
        https://bugs.webkit.org/show_bug.cgi?id=184785
        <rdar://problem/38183939>

        Reviewed by Zalan Bujtas.

        Update existing tests to include narrow text fields.

        * fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button.html:
        * fast/forms/auto-fill-button/input-strong-password-auto-fill-button.html:
        * 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:

2018-04-20  Dean Jackson  <dino@apple.com>

        Render a badge on system preview images
        https://bugs.webkit.org/show_bug.cgi?id=184854
        <rdar://problem/39615154>

        Reviewed by Tim Horton.

        * system-preview/badge-expected.html: Added.
        * system-preview/badge.html: Added.

2018-04-20  Chris Dumez  <cdumez@apple.com>

        Update cross-origin SecurityError messages to not include the target origin
        https://bugs.webkit.org/show_bug.cgi?id=184803
        <rdar://problem/39547724>

        Reviewed by Sam Weinig.

        * http/tests/history/cross-origin-replace-history-object-child-expected.txt:
        * http/tests/history/cross-origin-replace-history-object-expected.txt:
        * http/tests/plugins/cross-frame-object-access-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
        * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
        * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
        * http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
        * http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
        * http/tests/security/cross-frame-access-call-expected.txt:
        * http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
        * http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
        * http/tests/security/cross-frame-access-custom-expected.txt:
        * http/tests/security/cross-frame-access-delete-expected.txt:
        * http/tests/security/cross-frame-access-first-time-expected.txt:
        * http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt:
        * http/tests/security/cross-frame-access-get-expected.txt:
        * http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
        * http/tests/security/cross-frame-access-history-get-expected.txt:
        * http/tests/security/cross-frame-access-history-get-override-expected.txt:
        * http/tests/security/cross-frame-access-history-prototype-expected.txt:
        * http/tests/security/cross-frame-access-location-get-expected.txt:
        * http/tests/security/cross-frame-access-location-get-override-expected.txt:
        * http/tests/security/cross-frame-access-location-put-expected.txt:
        * http/tests/security/cross-frame-access-name-getter-expected.txt:
        * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
        * http/tests/security/cross-frame-access-object-prototype-expected.txt:
        * http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
        * http/tests/security/cross-frame-access-port-expected.txt:
        * http/tests/security/cross-frame-access-protocol-expected.txt:
        * http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
        * http/tests/security/cross-frame-access-put-expected.txt:
        * http/tests/security/cross-frame-access-selection-expected.txt:
        * http/tests/security/cross-origin-reified-window-property-access-expected.txt:
        * http/tests/security/cross-origin-window-property-access-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
        * http/tests/security/document-all-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-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/location-cross-origin-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/sandboxed-iframe-origin-add-expected.txt:
        * http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
        * http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
        * http/tests/security/symbols-cross-origin-expected.txt:
        * http/tests/security/window-defineProperty-crossOrigin-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-defineProperty-expected.txt:
        * http/tests/security/xss-DENIED-frame-name-expected.txt:
        * http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
        * http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document-expected.txt:
        * http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
        * http/tests/security/xss-DENIED-synchronous-form-expected.txt:
        * http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
        * http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt:
        * http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
        * http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:

2018-04-20  Chris Nardi  <cnardi@chromium.org>

        Update HSL/HSLA parsing to match CSS Color 4
        https://bugs.webkit.org/show_bug.cgi?id=180528
        <rdar://problem/35926675>

        Reviewed by Simon Fraser.

        This change updates our import of web-platform-tests/css/css-color
        to test the new behavior.

        * TestExpectations:
        * canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-5-expected.txt:

2018-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] Injected bundle form client should be notified when editing text fields
        https://bugs.webkit.org/show_bug.cgi?id=184822
        <rdar://problem/38807319>

        Reviewed by Tim Horton.

        Add a new layout test that focuses an input field, simulates text entry, and verifies that the injected bundle
        form client's textDidChangeInTextField, textFieldDidBeginEditing and textFieldDidEndEditing functions are called.

        * TestExpectations:

        Skip tests in fast/forms/extrazoom by default.

        * fast/forms/extrazoom/edit-text-field-calls-injected-bundle-expected.txt: Added.
        * fast/forms/extrazoom/edit-text-field-calls-injected-bundle.html: Added.
        * resources/ui-helper.js:
        (window.UIHelper.enterText):

        Introduce a new UIHelper method to simulate text entry in the currently focused element.

        (window.UIHelper):

2018-04-20  Youenn Fablet  <youenn@apple.com>

        Refactor NetworkResourceLoader to check for m_networkLoadChecker presence before using it
        https://bugs.webkit.org/show_bug.cgi?id=184755

        Reviewed by Chris Dumez.

        Made specific WK1 expectations as WK2 now has console messages for sync XHR that WK1 does not have.
        Dump JS console log in stderr for redirect-cross-origin-sync-double.html as the test does not rely on it
        and this allows keeping a single expected.txt file for WK1 and WK2.

        * TestExpectations:
        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
        * platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt: Added.
        * platform/win/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt: Added.

2018-04-20  Nan Wang  <n_wang@apple.com>

        Layout Test accessibility/mac/async-increment-decrement-action.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=184834
        <rdar://problem/39604753>

        Reviewed by Chris Fleizach.

        Changed the test to just make sure the increment/decrement actions are async, that
        they won't block the test by changing the object's value.

        * accessibility/mac/async-increment-decrement-action-expected.txt:
        * accessibility/mac/async-increment-decrement-action.html:

2018-04-20  Daniel Bates  <dabates@apple.com>

        Remove Strong Password decoration when text field type changes
        https://bugs.webkit.org/show_bug.cgi?id=184795
        <rdar://problem/38325108>

        Reviewed by Antti Koivisto.

        Add tests to ensure that we remove the Strong Password decoration when the text field's type changes.

        Extract code to toggle showing the AutoFill button from fast/forms/auto-fill-button/input-{disabled, readonly}-strong-password-and-strong-confirmation-password-auto-fill-buttons.html
        into a new file fast/forms/auto-fill-button/resources/process-auto-fill-button-type-and-invoke-runTest.js
        that can be shared.

        * fast/forms/auto-fill-button/hide-strong-password-when-field-type-changes-expected.html: Added.
        * fast/forms/auto-fill-button/hide-strong-password-when-field-type-changes.html: Added.
        * fast/forms/auto-fill-button/input-disabled-strong-password-and-strong-confirmation-password-auto-fill-buttons.html:
        * fast/forms/auto-fill-button/input-readonly-strong-password-and-strong-confirmation-password-auto-fill-buttons.html:
        * fast/forms/auto-fill-button/resources/process-auto-fill-button-type-and-invoke-runTest.js: Added.
        (window.onload):

2018-04-20  Chris Nardi  <cnardi@chromium.org>

        Omit default value when serializing font-feature-settings
        https://bugs.webkit.org/show_bug.cgi?id=182382

        Reviewed by Myles C. Maxfield.

        Update tests to omit default value when serializing.

        * css3/font-feature-settings-parsing-expected.txt:
        * css3/font-feature-settings-parsing.html:
        * fast/css/inherited-properties-rare-text-expected.txt:
        * fast/text/font-face-javascript-expected.txt:
        * fast/text/font-face-javascript.html:

2018-04-19  Dirk Schulze  <krit@webkit.org>

        Introduce SVGGeometryElement interface
        https://bugs.webkit.org/show_bug.cgi?id=184768

        Reviewed by Antti Koivisto.

        Start implementing SVGGeometryElement interface from SVG2.

        * svg/dom/SVGPolygonElement-baseVal-list-removal-crash.html: pointAtLength requires value now.
        * svg/dom/path-pointAtLength-expected.txt:
        * svg/dom/path-pointAtLength.html: Added throw tests for pointAtLength.
        * svg/dom/svg2-inheritance-expected.txt: Inheritance fixed for SVGPathElement only for now.

2018-04-19  Tadeu Zagallo  <tzagallo@apple.com>

        REGRESSION(r227340): ArrayBuffers were not being serialized when sent via MessagePorts
        https://bugs.webkit.org/show_bug.cgi?id=184254
        <rdar://problem/39140200>

        Reviewed by Daniel Bates.

        The regression test provided with the bug report verifies that the ArrayBuffer is properly
        serialized - before, the whole data object would be null.
        Test case provided by Yann Cabon <ycabon@esri.com> as part of the bug report.

        * workers/message-port-expected.txt: Added.
        * workers/message-port.html: Added.

2018-04-19  Eric Carlson  <eric.carlson@apple.com>

        Runtime logging during GC can cause crash
        https://bugs.webkit.org/show_bug.cgi?id=184792
        <rdar://problem/39567927>

        Reviewed by Jer Noble.

        * media/destructor-logging-crash-expected.txt: Added.
        * media/destructor-logging-crash.html: Added.

2018-04-19  Youenn Fablet  <youenn@apple.com>

        Web Inspector backend should get headers & cookies from network process separately from resource requests
        https://bugs.webkit.org/show_bug.cgi?id=184396
        <rdar://problem/38877384>

        Reviewed by Brian Burg.

        * http/wpt/service-workers/header-filtering.https-expected.txt:

2018-04-19  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] Add a mechanism to extend the height of the layout viewport in extra zoom mode
        https://bugs.webkit.org/show_bug.cgi?id=184782
        <rdar://problem/38346712>

        Reviewed by Tim Horton.

        Add a new layout test to exercise the following scenarios:
        •   The layout viewport should be fully extended when the document is much taller than the viewport.
        •   Programmatically shrinking the document height to less than the viewport height causes the layout viewport
            to shrink to the viewport height.
        •   Programmatically extending the document height to a little more than the viewport height causes the layout
            viewport to also expand, but this time, only to the new document height.

        * TestExpectations:

        Skip tests in fast/visual-viewport/extrazoom by default.

        * fast/visual-viewport/extrazoom/layout-viewport-after-scrolling-and-resizing-expected.txt: Added.
        * fast/visual-viewport/extrazoom/layout-viewport-after-scrolling-and-resizing.html: Added.

2018-04-19  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r229133): decidePolicyForNavigationAction not called for loading an HTML string
        https://bugs.webkit.org/show_bug.cgi?id=184209
        <rdar://problem/39145306>

        Reviewed by Ryosuke Niwa.

        Rebaseline existing layout tests. Their output is back to what it was before r229133.

        * fast/loader/iframe-src-invalid-url-expected.txt:
        * fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt:
        * loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt:
        * loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt:

2018-04-19  Chris Nardi  <cnardi@chromium.org>

        Support calc() in webkit-gradient and cross-fade
        https://bugs.webkit.org/show_bug.cgi?id=182225

        Reviewed by Simon Fraser.

        Add new test cases.

        * css3/calc/cross-fade-calc.html: Added.
        * css3/calc/cross-fade-calc-expected.txt: Added.
        * css3/calc/webkit-gradient-calc.html: Added.
        * css3/calc/webkit-gradient-calc-expected.txt: Added.

2018-04-19  Youenn Fablet  <youenn@apple.com>

        NetworkProcess should use CSP/content blockers for sync XHR
        https://bugs.webkit.org/show_bug.cgi?id=184760

        Reviewed by Chris Dumez.

        * http/tests/contentextensions/sync-xhr-redirection-blocked-expected.txt: Added.
        * http/tests/contentextensions/sync-xhr-redirection-blocked.html: Added.
        * http/tests/contentextensions/sync-xhr-redirection-blocked.html.json: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-sync-xhr-in-main-frame-window.html: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-sync-xhr-in-main-frame-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-sync-xhr-in-main-frame.html: Added.
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:

2018-04-19  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening for iOS simulator.

        * platform/ios-wk2/TestExpectations:
        * platform/ios-wk2/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Removed.
        * platform/ios/TestExpectations:

2018-04-19  Nan Wang  <n_wang@apple.com>

        AX: AOM: respect the accessibility setting for dispatching the accessible events
        https://bugs.webkit.org/show_bug.cgi?id=184619

        Reviewed by Ryosuke Niwa.

        * accessibility/ios-simulator/accessibility-events-setting-expected.txt: Added.
        * accessibility/ios-simulator/accessibility-events-setting.html: Added.
        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:

2018-04-19  Tadeu Zagallo  <tzagallo@apple.com>

        Fix flakiness in worker-to-worker test
        https://bugs.webkit.org/show_bug.cgi?id=184769
        <rdar://problem/39552333>

        Reviewed by Alexey Proskuryakov.

        * workers/worker-to-worker-expected.txt:
        * workers/worker-to-worker.html:
        * workers/worker-to-worker.js:

2018-04-19  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rebaseline tests for iOS simulator.

        * platform/ios/TestExpectations:
        * platform/ios/editing/deleting/delete-emoji-9-expected.txt:
        * platform/ios/http/tests/blink/sendbeacon/beacon-same-origin-expected.txt: Added.
        * platform/ios/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Added.
        * platform/ios/quicklook/excel-expected.txt:
        * platform/ios/quicklook/excel-legacy-expected.txt:
        * platform/ios/quicklook/excel-macro-enabled-expected.txt:

2018-04-18  Ryan Haddad  <ryanhaddad@apple.com>

        Skip legacy-animation-engine/media/track/opera directory on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=184420

        Unreviewed test gardening.

        The media/track/opera directory is already skipped on iOS, so skip this duplicated directory.

        * platform/ios/TestExpectations:

2018-04-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182833

        Unreviewed test gardening.

        * TestExpectations:

2018-04-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/video-aspect-ratio.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184457

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-04-19  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening after r230796.

        * platform/gtk/TestExpectations:

2018-04-19  Manuel Rego Casasnovas  <rego@igalia.com>

        Caret rendered at incorrect location inside empty table cell
        https://bugs.webkit.org/show_bug.cgi?id=85385

        Reviewed by Zalan Bujtas.

        * editing/caret/caret-in-empty-cell-expected.html: Added.
        * editing/caret/caret-in-empty-cell.html: Added.
        * editing/deleting/5206311-2-expected.txt:
        * editing/deleting/5433862-1-expected.txt:
        * platform/gtk/editing/deleting/5126166-expected.png:
        * platform/gtk/editing/deleting/5126166-expected.txt:
        * platform/gtk/editing/deleting/5206311-1-expected.png:
        * platform/gtk/editing/deleting/5206311-1-expected.txt:
        * platform/gtk/editing/deleting/5433862-2-expected.png:
        * platform/gtk/editing/deleting/5433862-2-expected.txt:
        * platform/gtk/editing/deleting/5483370-expected.png:
        * platform/gtk/editing/deleting/5483370-expected.txt:
        * platform/gtk/editing/selection/move-by-line-001-expected.png:
        * platform/gtk/editing/selection/move-by-line-001-expected.txt:
        * platform/gtk/editing/selection/select-all-004-expected.txt:
        * platform/ios-simulator/editing/deleting/5126166-expected.txt:
        * platform/ios-simulator/editing/deleting/5206311-1-expected.txt:
        * platform/ios-simulator/editing/deleting/5433862-2-expected.txt:
        * platform/ios-simulator/editing/deleting/5483370-expected.txt:
        * platform/mac/editing/deleting/5126166-expected.png:
        * platform/mac/editing/deleting/5126166-expected.txt:
        * platform/mac/editing/deleting/5206311-1-expected.png:
        * platform/mac/editing/deleting/5206311-1-expected.txt:
        * platform/mac/editing/deleting/5433862-2-expected.png:
        * platform/mac/editing/deleting/5433862-2-expected.txt:
        * platform/mac/editing/deleting/5483370-expected.png:
        * platform/mac/editing/deleting/5483370-expected.txt:
        * platform/mac/editing/selection/move-by-line-001-expected.txt:
        * platform/mac/editing/selection/select-all-004-expected.txt:
        * platform/win/editing/deleting/5126166-expected.png: Added.
        * platform/win/editing/deleting/5126166-expected.txt:
        * platform/win/editing/deleting/5206311-1-expected.png: Added.
        * platform/win/editing/deleting/5206311-1-expected.txt:
        * platform/win/editing/deleting/5433862-2-expected.png: Added.
        * platform/win/editing/deleting/5433862-2-expected.txt:
        * platform/win/editing/deleting/5483370-expected.png: Added.
        * platform/win/editing/deleting/5483370-expected.txt:

2018-04-18  Youenn Fablet  <youenn@apple.com>

        Allow SameOrigin credentials handling for synchronous XHR
        https://bugs.webkit.org/show_bug.cgi?id=184723

        Reviewed by Alex Christensen.

        * http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * http/tests/xmlhttprequest/access-control-and-redirects.html:
        * http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt:
        * http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
        * platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt.
        * platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt.
        * platform/mac-wk1/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt.
        * platform/win/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * platform/win/http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt.
        * platform/win/http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt.
        * platform/win/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt.

2018-04-18  Chris Dumez  <cdumez@apple.com>

        Set RemoteDOMWindow's initial opener
        https://bugs.webkit.org/show_bug.cgi?id=184716

        Reviewed by Sam Weinig.

        Rebaseline existing test now that remoteWindow.opener now returns
        its initial opener.

        * http/tests/navigation/process-swap-window-open-expected.txt:

2018-04-18  Dean Jackson  <dino@apple.com>

        Detect system preview links
        https://bugs.webkit.org/show_bug.cgi?id=184753
        <rdar://problem/39500514>

        Reviewed by Antoine Quint.

        * system-preview/detection-expected.txt: Added.
        * system-preview/detection.html: Added.

2018-04-18  Ryan Haddad  <ryanhaddad@apple.com>

        Skip animations/missing-from-to.html on mac-wk1 debug.
        https://bugs.webkit.org/show_bug.cgi?id=184569

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-04-18  Nan Wang  <n_wang@apple.com>

        AX: [macOS] WebKit hangs when triggering an alert from an AOM increment event
        https://bugs.webkit.org/show_bug.cgi?id=184742

        Reviewed by Chris Fleizach.

        * accessibility/mac/async-increment-decrement-action-expected.txt: Added.
        * accessibility/mac/async-increment-decrement-action.html: Added.
        * platform/mac-wk1/TestExpectations:

2018-04-18  Ross Kirsling  <ross.kirsling@sony.com>

        [Win] Layout Test js/date-constructor.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=140945

        Reviewed by Per Arne Vollan.

        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:

2018-04-18  Chris Dumez  <cdumez@apple.com>

        Add support for converting a local window to a remote window
        https://bugs.webkit.org/show_bug.cgi?id=184515
        <rdar://problem/39011318>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage a cross-origin window.open() to check that the
        returned window looks like a regular cross-origin window after being
        navigated cross-origin. We are still failing some of the checks because
        our implementation is still incomplete. However, it mostly works as
        expected.

        * TestExpectations:
        * http/tests/navigation/process-swap-window-open-expected.txt: Added.
        * http/tests/navigation/process-swap-window-open.html: Added.
        * platform/wk2/TestExpectations:

2018-04-18  Ms2ger  <Ms2ger@igalia.com>

        Test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=184726

        Unreviewed test gardening.

        Update expectations.

        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:

2018-04-17  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] Programmatically changing focus when an element already has focus is a confusing experience
        https://bugs.webkit.org/show_bug.cgi?id=184635
        <rdar://problem/39440642>

        Reviewed by Tim Horton.

        Add a new layout test to exercise the following sequence of events in extra zoom mode:

        1. Focus select element #1.
        2. Choose an unselected option.
        3. Programmatically focus select element #2 in the "change" event handler.
        4. Choose an unselected option.
        5. Programmatically blur select element #2 in the "change" event handler.

        * fast/events/extrazoom/change-focus-during-change-event-expected.txt: Added.
        * fast/events/extrazoom/change-focus-during-change-event.html: Added.
        * resources/ui-helper.js:
        (window.UIHelper.waitForKeyboardToHide.return.new.Promise):
        (window.UIHelper.waitForKeyboardToHide):

2018-04-17  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] Double tap to zoom should account for text legibility in extra zoom mode
        https://bugs.webkit.org/show_bug.cgi?id=184631
        <rdar://problem/39303706>

        Reviewed by Tim Horton.

        Add a layout test to check that double tap to zoom works in extra zoom mode, even when text spans the entire
        width of the document.

        * TestExpectations:
        * fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt: Added.
        * fast/events/extrazoom/double-tap-to-zoom-on-full-width-text.html: Added.
        * resources/basic-gestures.js:

        Add a helper method to double tap at a given location, and wait for zooming to finish.

        (return.new.Promise):

2018-04-17  Tadeu Zagallo  <tzagallo@apple.com>

        Retain MessagePortChannel for transfer when disentangling ports
        https://bugs.webkit.org/show_bug.cgi?id=184502
        <rdar://problem/39372771>

        Reviewed by Geoffrey Garen.

        Check that the MessageChannel does not get eagerly deallocated when transferring both of its
        ports. Original test case provided with the bug report by Ashley Gullen <ashley@scirra.com>

        * workers/worker-to-worker-expected.txt: Added.
        * workers/worker-to-worker.html: Added.
        * workers/worker-to-worker.js: Added.

2018-04-17  Jonathan Bedard  <jbedard@apple.com>

        Unreviewed rollout of r230632. Regression in memory usage.

        That bug tracked in https://bugs.webkit.org/show_bug.cgi?id=184569.

        * TestExpectations:
        * animations/animation-direction-alternate-reverse-expected.txt:
        * animations/animation-direction-alternate-reverse.html:
        * animations/animation-hit-test-transform.html:
        * animations/animation-internals-api-expected.txt: Copied from LayoutTests/animations/animation-internals-api-expected.txt.
        * animations/animation-internals-api-multiple-keyframes-expected.txt: Copied from LayoutTests/animations/animation-internals-api-multiple-keyframes-expected.txt.
        * animations/animation-internals-api-multiple-keyframes.html: Copied from LayoutTests/animations/animation-internals-api-multiple-keyframes.html.
        * animations/animation-internals-api.html: Copied from LayoutTests/animations/animation-internals-api.html.
        * animations/big-rotation-expected.txt:
        * animations/big-rotation.html:
        * animations/duplicated-keyframes-name.html:
        * animations/fill-forwards-end-state.html:
        * animations/fill-mode-forwards-zero-duration-expected.txt:
        * animations/fill-mode-forwards-zero-duration.html:
        * fast/css-generated-content/pseudo-animation.html:
        * fast/css-generated-content/pseudo-transition.html:
        * platform/ios/TestExpectations:
        * platform/win/TestExpectations:
        * transitions/remove-transition-style.html:
        * transitions/transition-drt-api-delay-expected.txt: Copied from LayoutTests/transitions/transition-drt-api-delay-expected.txt.
        * transitions/transition-drt-api-delay.html: Copied from LayoutTests/transitions/transition-drt-api-delay.html.
        * transitions/transition-drt-api-expected.txt: Copied from LayoutTests/transitions/transition-drt-api-expected.txt.
        * transitions/transition-drt-api.html: Copied from LayoutTests/transitions/transition-drt-api.html.
        * transitions/transition-hit-test-transform.html:
        * transitions/zero-duration-with-non-zero-delay-end.html:

2018-04-17  Tadeu Zagallo  <tzagallo@apple.com>

        Do not unregister MessagePorts on deallocation if it has been disentangled
        https://bugs.webkit.org/show_bug.cgi?id=184285
        <rdar://problem/39256714>

        Reviewed by Darin Adler.

        Original test provided as part of the bug report by Yann Cabon <ycabon@esri.com>

        * workers/message-port-gc-expected.txt: Added.
        * workers/message-port-gc.html: Added.
        * workers/message-port-gc.js: Added.

2018-04-17  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r229831): CMD-clicking an iCloud web app link unexpectedly opens that link in a new tab and the current tab
        https://bugs.webkit.org/show_bug.cgi?id=184678
        <rdar://problem/39422122>

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * http/tests/navigation/fragment-navigation-policy-ignore-expected.txt: Added.
        * http/tests/navigation/fragment-navigation-policy-ignore.html: Added.

2018-04-17  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Animated GIF imagery with finite looping are falling one loop short
        https://bugs.webkit.org/show_bug.cgi?id=183153

        Reviewed by Simon Fraser.

        This layout test tests GIF when it has to loop its entire frames a specific
        number of times. There are three cases for the loopCount field:
        -- loopCount is missing: This means the GIF should animate only once. This
           is covered by animated-red-green-blue-repeat-1.gif.
        -- loopCount = 0: This means the image has to animate indefinatly. This
           case is covered by the new GIF animated-red-green-blue-repeat-infinite.gif.
        -- loopCount > 0: This will loop the GIF entire frames for (loopCount + 1)
           times. To fix the test with the extra loop, loopCount in
           animated-red-green-blue-repeat-2.gif was changed to 1 instead of 2.

        * fast/images/animated-image-loop-count-expected.html:
        * fast/images/animated-image-loop-count.html:
        * fast/images/resources/animated-red-green-blue-repeat-2.gif:
        * fast/images/resources/animated-red-green-blue-repeat-infinite.gif:

2018-04-16  Antoine Quint  <graouts@apple.com>

        Layout Test animations/needs-layout.html is a flaky Image Failure.
        https://bugs.webkit.org/show_bug.cgi?id=172397

        Reviewed by Dean Jackson.

        No longer mark this test as flaky.

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

2018-04-16  Keith Rollin  <krollin@apple.com>

        REGRESSION: [mac-wk2 release] LayoutTest http/tests/security/contentSecurityPolicy/script-src-blocked-error-event.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=184673
        <rdar://problem/39474698>

        Unreviewed test gardening. The test was flaky because the HTTP parser
        would try to preload the Javascript resource. Sometimes this operation
        would complete in time to print its own console message, duplicating a
        subsequent one when the non-preloading resource-load occurs. Updated
        the test to load the Javascript in such a way that it skips the reload
        step.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/script-src-blocked-error-event-expected.txt:
        * http/tests/security/contentSecurityPolicy/script-src-blocked-error-event.html:

2018-04-16  Ross Kirsling  <ross.kirsling@sony.com>

        Unreviewed. Update WinCairo TestExpectations in preparation for LayoutTests automation.

        * platform/wincairo/TestExpectations:
        Updated current failures for directories A-E. Added temporary skips for everything after.

        * platform/wincairo/accessibility:
        * platform/wincairo/animations/3d:
        * platform/wincairo/css2.1:
        * platform/wincairo/css3:
        * platform/wincairo/editing:
        * platform/wincairo/fast/css-generated-content:
        * platform/wincairo/fast/dom:
        * platform/wincairo/legacy-animation-engine/animations/3d:
        * platform/wincairo/legacy-animation-engine/compositing:
        Added expectation files.

2018-04-16  Megan Gardner  <megan_gardner@apple.com>

        Switch to UIWKTextInteractionAssistant for non-editable text
        https://bugs.webkit.org/show_bug.cgi?id=182834

        Reviewed by Beth Dakin.
        
        Marking tests as flaky and to be fixed later.

        * platform/ios-wk2/TestExpectations:

2018-04-16  Youenn Fablet  <youenn@apple.com>

        Use NetworkLoadChecker to handle synchronous HTTP loads
        https://bugs.webkit.org/show_bug.cgi?id=184240

        Reviewed by Chris Dumez.

        * http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
        * http/wpt/beacon/cors/cors-preflight-blob-failure.html: Fix buggy assertion.
        Test should check for actual request header and not header name in Access-Control-Request-Headers.
        * http/wpt/beacon/cors/cors-preflight-blob-success.html: Ditto.
        * platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt: Added.
        * platform/mac-wk1/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt: Added.
        * platform/mac-wk1/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-and-redirects-expected.txt: Added.
        * platform/win/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt: Added.
        * platform/win/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt: Added.
        * platform/win/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt: Added.
        * platform/mac-highsierra-wk2/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt.
        * platform/mac-highsierra-wk2/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt.
        * platform/mac-wk1/imported/w3c/web-platform-tests/cors/request-headers-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/cors/request-headers-expected.txt.
        * platform/win/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
        * platform/win/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
        * platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt.
        * platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt.
        * platform/win/imported/w3c/web-platform-tests/cors/request-headers-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/cors/request-headers-expected.txt.

2018-04-16  Per Arne Vollan  <pvollan@apple.com>

        Mark css3/filters/blur-various-radii.html as a crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=184649

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-04-13  Carlos Ramalho  <cadubentzen@gmail.com>

        [GTK][Wayland] Unflag test-case fast/canvas/canvas-createPattern-video-modify.html
        https://bugs.webkit.org/show_bug.cgi?id=182432

        Reviewed by Michael Catanzaro.

        * platform/gtk-wayland/TestExpectations: Unmarked fast/canvas/canvas-createPattern-video-modify.html

2018-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/wpt/service-workers/header-filtering.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184469

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/cache-storage/cache-records-persistency.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=177380

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/audio-concurrent-supported.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184612

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/video-volume-slider-drag.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184610

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-04-13  Ryan Haddad  <ryanhaddad@apple.com>

        Skip animations/added-while-suspended.html and transitions/created-while-suspended.html.
        https://bugs.webkit.org/show_bug.cgi?id=184608

        Unreviewed test gardening.

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

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

        [Web Animations] Turn CSS Animations and CSS Transitions as Web Animations on by default
        https://bugs.webkit.org/show_bug.cgi?id=184569
        <rdar://problem/38671301>

        Reviewed by Jon Lee.

        * TestExpectations: A small number of tests regressed with the flag on, so we list them and have raised
        bugs to fix them ASAP.
        * animations/animation-direction-alternate-reverse-expected.txt:
        * animations/animation-direction-alternate-reverse.html: This test was incorrect since it assumes that at the
        end active boundary time we are using the end value whereas we are using the start value. Indeed, since the
        fill-mode is "none", at the end of the active time, the progress is null per the Web Animations spec.
        * animations/animation-hit-test-transform.html: Stop using the internals method.
        * animations/animation-internals-api-expected.txt: Removed.
        * animations/animation-internals-api-multiple-keyframes-expected.txt: Removed.
        * animations/animation-internals-api-multiple-keyframes.html: Removed. This test only tests an internals method
        that is no longer relevant for the new animation engine, but preserved for compatibility with legacy tests.
        * animations/animation-internals-api.html: Removed. This test only tests an internals method that is no longer
        relevant for the new animation engine, but preserved for compatibility with legacy tests.
        * animations/big-rotation-expected.txt:
        * animations/big-rotation.html: Here again we are correcting a test which made the wrong assumption about the
        value generated at the end active boundary time.
        * animations/duplicated-keyframes-name.html: We make the animation fill forwards to check that we are using
        the correct end value for an animation with multiple 100% keyframe.
        * animations/fill-forwards-end-state.html: Same as previous test.
        * animations/fill-mode-forwards-zero-duration-expected.txt:
        * animations/fill-mode-forwards-zero-duration.html: This test should seek after its delay + duration, so we test
        at 3s instead of 1s. This is due to a behavior difference between internals.pauseAnimationAtTimeOnElement() and
        its replacement.
        * fast/css-generated-content/pseudo-animation.html: Use internals.pseudoElement() and the Web Animations API rather
        than internals.pauseAnimationAtTimeOnPseudoElement().
        * fast/css-generated-content/pseudo-transition.html: Use internals.pseudoElement() and the Web Animations API rather
        than internals.pauseTransitionAtTimeOnPseudoElement().
        * platform/ios/TestExpectations:
        * platform/win/TestExpectations: Remove references to tests that we are removing.
        * transitions/remove-transition-style.html: Use document.getAnimations() to figure out how many animations are running.
        * transitions/transition-drt-api-delay-expected.txt: Removed.
        * transitions/transition-drt-api-delay.html: Removed. This test only tests an internals method that is no longer
        relevant for the new animation engine, but preserved for compatibility with legacy tests.
        * transitions/transition-drt-api-expected.txt: Removed.
        * transitions/transition-drt-api.html: Removed. This test only tests an internals method that is no longer
        relevant for the new animation engine, but preserved for compatibility with legacy tests.
        * transitions/transition-hit-test-transform.html: Stop using internals.pauseTransitionAtTimeOnElement().
        * transitions/zero-duration-with-non-zero-delay-end.html: Use the Web Animations API instead of internals.numberOfActiveAnimations().

2018-04-13  Per Arne Vollan  <pvollan@apple.com>

        Mark some legacy-animation-engine tests as failures on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=184482

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-04-13  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK][GStreamer] Mark a few crashing tests since playbin3 was made available

        Unreviewed gardening
        * platform/gtk/TestExpectations:

2018-04-12  Keith Rollin  <krollin@apple.com>

        [mac-wk2] LayoutTest http/tests/security/anchor-download-allow-data.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=161745
        <rdar://problem/39391176>

        Unreviewed test gardening. Re-enable this test now that it is
        consistently passing.

        * platform/mac-wk2/TestExpectations:

2018-04-12  Keith Rollin  <krollin@apple.com>

        REGRESSION: [mac-wk2 release] LayoutTest http/tests/security/cross-origin-plugin-allowed.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=161539
        <rdar://problem/39389781>

        Unreviewed test gardening. Re-enabled this test. It passes in local
        testing and the flakiness dashboard doesn't show any problems with it.

        * platform/mac-wk2/TestExpectations:

2018-04-12  Keith Rollin  <krollin@apple.com>

        Address possible "CFNetwork SSLHandshake failed (-9847)" test failure.
        https://bugs.webkit.org/show_bug.cgi?id=184487

        Unreviewed test gardening. Mark
        upgrade-redirect-https-to-http-script-in-iframe.html as no longer
        flaky.

        * platform/mac/TestExpectations:

2018-04-12  Daniel Bates  <dabates@apple.com>

        Content-Type not enforced for <script> allows for XSS
        https://bugs.webkit.org/show_bug.cgi?id=184386
        <rdar://problem/39112268>

        Reviewed by Brady Eidson.

        Add tests to ensure that we block JavaScript scripts with a banned MIME type and update expected results.

        Update tests http/tests/security/{cross-origin-cached-scripts, cross-origin-cached-scripts-parallel}.html
        to load JavaScript scripts with MIME type text/javascript. These tests load JavaScript scripts indirectly
        via the helper script LayoutTests/http/tests/security/resources/allow-if-origin.php. The script
        allow-if-origin.php returns a response with MIME type image/png in absence of query string argument
        contentType. We need to update these tests to pass contentType=text/javascript to allow-if-origin.php.

        * TestExpectations: Mark test web-platform-tests/fetch/api/basic/block-mime-as-script.html DumpJSConsoleLogInStdErr
        to ignore console message output when comparing the actual and expected result because the order the
        sub tests are run is non-deterministic and the blocked MIME error message is specific to the blocked
        response.
        * http/tests/security/contentTypeOptions/invalid-content-type-options-allowed-expected.txt:
        * http/tests/security/contentTypeOptions/invalid-content-type-options-allowed.html:
        * http/tests/security/contentTypeOptions/resources/script-with-header.pl: Modified to only
        set the HTTP header X-Content-Type-Options if the query argument no-content-type-options it
        not present or evaluates to false in a boolean context. This lets us make use of this script
        to test banned JavaScript MIME types.
        * http/tests/security/cross-origin-cached-scripts-expected.txt:
        * http/tests/security/cross-origin-cached-scripts-parallel-expected.txt:
        * http/tests/security/cross-origin-cached-scripts-parallel.html:
        * http/tests/security/cross-origin-cached-scripts.html:
        * http/tests/security/resources/abe-that-increments-scriptsSuccessfullyLoaded.jpg: Added.
        This file is both a valid JPEG image and a valid JavaScript script. When interpreted as a JavaScript
        script it will increment the global variable self.scriptsSuccessfullyLoaded (defining it if
        not already defined).
        * http/tests/security/script-with-banned-mimetype-expected.txt: Added.
        * http/tests/security/script-with-banned-mimetype.html: Added.
        * http/tests/workers/resources/worker-importScripts-banned-mimetype.php: Added.
        * http/tests/workers/worker-importScripts-banned-mimetype-expected.txt: Added.
        * http/tests/workers/worker-importScripts-banned-mimetype.html: Added.

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

        [Web Animations] Fix a host of small CSS Animations and CSS Transitions issues
        https://bugs.webkit.org/show_bug.cgi?id=184555

        Reviewed by Dean Jackson.

        Mark more tests as passing when the CSS Animations and CSS Transitions as Web Animations flag is on.

        * animations/animation-border-overflow.html:
        * animations/lineheight-animation.html:
        * animations/missing-from-to-transforms.html:
        * animations/missing-values-first-keyframe.html:
        * animations/missing-values-last-keyframe.html:
        * animations/transition-and-animation-1.html:
        * animations/transition-and-animation-2.html:
        * animations/transition-and-animation-3.html:
        * animations/width-using-ems.html:
        * compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html:
        * compositing/layer-creation/multiple-keyframes-animation-overlap.html:
        * compositing/layer-creation/scale-rotation-animation-overlap.html:
        * compositing/layer-creation/translate-scale-animation-overlap.html:
        * css3/filters/filter-animation-from-none-hw.html:
        * css3/filters/filter-animation-from-none-multi-hw.html:
        * css3/filters/filter-animation-from-none-multi.html:
        * css3/filters/filter-animation-from-none.html:
        * imported/blink/transitions/unprefixed-transform.html:
        * transitions/interrupted-all-transition.html:

2018-04-12  Keith Rollin  <krollin@apple.com>

        Fix flakiness in insecure-iframe-in-main-frame.html
        https://bugs.webkit.org/show_bug.cgi?id=184432

        Reviewed by Daniel Bates.

        Mark insecure-iframe-in-main-frame.html as no longer flaky. Tweak it
        so that the frame-load events of the test window do no interleave with
        the frame-load events of the window opened by the test so that any
        non-deterministic behavior doesn't affect the order of the expect
        sequence of messages.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame-expected.txt:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame.html:
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame-expected.txt:

2018-04-12  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r230554.

        The non-ASCII character in the filename causes issues with SVN

        Reverted changeset:

        "input.webkitEntries does not work as expected when folder
        contains accented chars"
        https://bugs.webkit.org/show_bug.cgi?id=184517
        https://trac.webkit.org/changeset/230554

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

        [Web Animations] Suspend animations when required
        https://bugs.webkit.org/show_bug.cgi?id=184541

        Reviewed by Jon Lee.

        Mark more tests as passing when the CSS Animations and CSS Transitions as Web Animations flag is on.

        * animations/animation-controller-drt-api.html:
        * animations/animation-followed-by-transition.html:
        * fast/animation/css-animation-resuming-when-visible-with-style-change.html:
        * fast/animation/css-animation-resuming-when-visible.html:

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

        [Web Animations] Throttle animations when lowPowerMode is on
        https://bugs.webkit.org/show_bug.cgi?id=184540

        Reviewed by Jon Lee.

        Mark one more test as passing when the CSS Animations and CSS Transitions as Web Animations flag is on.

        * fast/animation/css-animation-throttling-lowPowerMode.html:

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

        [Web Animations] Ensure elements overlapping with elements animating also get composited
        https://bugs.webkit.org/show_bug.cgi?id=184539

        Reviewed by Jon Lee.

        Opt more tests in the CSS Animations and CSS Transitions as Web Animations runtime flag since they now pass.

        * compositing/backing/backface-visibility-flip.html:
        * compositing/layer-creation/overlap-animation-clipping.html:
        * compositing/layer-creation/overlap-animation-container.html:
        * compositing/layer-creation/overlap-animation.html:
        * compositing/layer-creation/translate-animation-overlap.html:

2018-04-11  Antoine Quint  <graouts@apple.com>

        [Web Animations] Enable seeking for hardware animations
        https://bugs.webkit.org/show_bug.cgi?id=184518

        Reviewed by Dean Jackson.

        Update current test expectations, some tests have regressed because they weren't probably running their hardware
        animations. Followup patches will make them opt into CSS Animations and CSS Transitions as Web Animations again.

        * animations/3d/transform-origin-vs-functions.html:
        * animations/change-completed-animation-transform.html:
        * animations/missing-values-first-keyframe.html:
        * animations/missing-values-last-keyframe.html:
        * animations/play-state-start-paused.html:
        * compositing/contents-scale/animating.html:
        * compositing/layer-creation/animation-overlap-with-children.html:
        * compositing/overflow/overflow-positioning.html:
        * compositing/visible-rect/animated.html:
        * css3/filters/filter-animation-from-none-hw.html:
        * css3/filters/filter-animation-from-none-multi-hw.html:
        * css3/filters/filter-animation-from-none-multi.html:
        * css3/filters/filter-animation-from-none.html:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:

2018-04-12  Per Arne Vollan  <pvollan@apple.com>

        Skip the test fast/forms/file/entries-api/webkitEntries-nonascii-folder-name.html on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=184537

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-04-12  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Adding or updating more baselines affected by
        web-platform-test syncs in r230330, r230353 and r230445.

        * platform/wpe/imported/w3c/web-platform-tests/FileAPI: Added.
        * platform/wpe/imported/w3c/web-platform-tests/FileAPI/url: Added.
        * platform/wpe/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/request: Added.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/request/request-keepalive-quota-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element: Added.
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-download-click-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/text-level-semantics: Added.
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element: Added.
        * platform/wpe/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/streams: Added.
        * platform/wpe/imported/w3c/web-platform-tests/streams/readable-byte-streams: Added.
        * platform/wpe/imported/w3c/web-platform-tests/streams/readable-byte-streams/general-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/touch-events: Added.
        * platform/wpe/imported/w3c/web-platform-tests/touch-events/historical-expected.txt: Added.
        * platform/wpe/imported/w3c/web-platform-tests/webaudio: Added.
        * platform/wpe/imported/w3c/web-platform-tests/webaudio/the-audio-api: Added.
        * platform/wpe/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface: Added.
        * platform/wpe/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt: Added.

2018-04-11  Chris Dumez  <cdumez@apple.com>

        input.webkitEntries does not work as expected when folder contains accented chars
        https://bugs.webkit.org/show_bug.cgi?id=184517
        <rdar://problem/39265537>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/forms/file/entries-api/webkitEntries-nonascii-folder-name-expected.txt: Added.
        * fast/forms/file/entries-api/webkitEntries-nonascii-folder-name.html: Added.

2018-04-11  Youenn Fablet  <youenn@apple.com>

        Preventively expect UTF8 strings from libwebrtc SDP and error messages
        https://bugs.webkit.org/show_bug.cgi?id=184509

        Reviewed by Eric Carlson.

        * webrtc/utf8-sdp-expected.txt: Added.
        * webrtc/utf8-sdp.html: Added.

2018-04-11  Alicia Boya García  <aboya@igalia.com>

        [GTK] Unreviewed test gardening
        https://bugs.webkit.org/show_bug.cgi?id=184506

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/gtk/imported/w3c/web-platform-tests/media-source/mediasource-is-type-supported-expected.txt:
        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2018-04-11  Brent Fulgham  <bfulgham@apple.com>

        Show punycode if URL contains Latin dum character
        https://bugs.webkit.org/show_bug.cgi?id=184477
        <rdar://problem/39121999>

        Reviewed by David Kilzer.

        * fast/url/host-expected.txt:
        * fast/url/host.html:

2018-04-11  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Extra zoom mode] Missing label when focusing a <select> with a title attribute but no associated <label>
        https://bugs.webkit.org/show_bug.cgi?id=184352
        <rdar://problem/39237683>

        Reviewed by Andy Estes.

        Add a new layout test to check that the title of select elements is propagated to the UI process upon focus.
        This title is used for several purposes, one of them being the title of select menus in the table view
        controller presented when tapping on a select on an iPad, so the test checks that the title of the select is
        shown here.

        Also moves a select-related helper into UIHelper from basic-gestures.js (since this doesn't involve user gesture
        simulation in any way) and also introduces a new UIHelper method for querying the title of the select menu that
        is currently being presented.

        * fast/forms/ios/ipad/multiple-select-updates-renderer.html:
        * fast/forms/ios/ipad/select-with-title-expected.txt: Added.
        * fast/forms/ios/ipad/select-with-title.html: Copied from LayoutTests/fast/forms/ios/ipad/multiple-select-updates-renderer.html.
        * resources/basic-gestures.js:
        * resources/ui-helper.js:
        (window.UIHelper.selectFormAccessoryPickerRow):
        (window.UIHelper.selectFormPopoverTitle):
        (window.UIHelper):

2018-04-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184456

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-04-11  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening. Updating expectations and moving baselines
        for EME and WebCryptoAPI tests after W3C sync in r230445.

        * platform/wpe/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/: Updated.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/: Updated.

2018-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>

        FrameSelection::appearanceUpdateTimerFired should be robust against layout passes underneath it
        https://bugs.webkit.org/show_bug.cgi?id=183395
        <rdar://problem/38055732>

        Reviewed by Zalan Bujtas.

        Add a new layout test that passes if we didn't crash.

        * editing/selection/iframe-update-selection-appearance-expected.txt: Added.
        * editing/selection/iframe-update-selection-appearance.html: Added.

2018-04-10  Nan Wang  <n_wang@apple.com>

        AX: Expose strong password fields on iOS
        https://bugs.webkit.org/show_bug.cgi?id=184465
        <rdar://problem/39325104>

        Reviewed by Chris Fleizach.

        * accessibility/ios-simulator/strong-password-field-expected.txt: Added.
        * accessibility/ios-simulator/strong-password-field.html: Added.

2018-04-10  Per Arne Vollan  <pvollan@apple.com>

        Mark legacy-animation-engine/compositing tests as failures on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=184482

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-04-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark legacy-animation-engine/animations/animation-callback-timestamp.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184459

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-04-10  Keith Rollin  <krollin@apple.com>

        http/tests/security/shape-image-cors-redirect-error-message-logging-*.html tests are flaky
        https://bugs.webkit.org/show_bug.cgi?id=155634
        <rdar://problem/39326489>

        Reviewed by Youenn Fablet.

        These tests no longer appear to be flaky. I believe they were
        addressed in <https://trac.webkit.org/changeset/217069/webkit>. After
        enabling the test and rebasing the results, I ran run-webkit-tests
        with --repeat-each=20 --iterations=20, and then I wrapped the
        run-webkit-tests command in a loop that invoked it 20 times.

        * TestExpectations:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-3-expected.txt:
        * http/tests/security/shape-image-cors-redirect-error-message-logging-4-expected.txt:

2018-04-10  Youenn Fablet  <youenn@apple.com>

        Beacon redirect responses should be CORS validated
        https://bugs.webkit.org/show_bug.cgi?id=184378

        Reviewed by Chris Dumez.

        * TestExpectations:
        * http/wpt/beacon/cors/cors-redirect-failure-expected.txt: Added.
        * http/wpt/beacon/cors/cors-redirect-failure.html: Added.
        * http/wpt/beacon/resources/redirect.py:
        (main):

2018-04-10  Youenn Fablet  <youenn@apple.com>

        webrtc/datachannel/bufferedAmountLowThreshold tests are failing on WK1
        https://bugs.webkit.org/show_bug.cgi?id=184427

        Reviewed by Eric Carlson.

        Decrease the size of the string sent as one chunk as it may create timeouts.
        Instead, we will call more often the send method untile reaching the threshold.

        * platform/mac-wk1/TestExpectations:
        * webrtc/datachannel/bufferedAmountLowThreshold-default.html:
        * webrtc/datachannel/bufferedAmountLowThreshold.html:

2018-04-10  Sihui Liu  <sihui_liu@apple.com>

        Loading of multipart response was cancelled because of content policy set in WebFrameLoaderClient::dispatchDecidePolicyForResponse
        https://bugs.webkit.org/show_bug.cgi?id=184268
        <rdar://problem/39144446>

        Reviewed by Chris Dumez.

        * http/tests/multipart/multipart-html-expected.txt:
        * http/tests/multipart/multipart-html.php:

2018-04-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/workers/name-property.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184453

        Unreviewed test gardening.

        * TestExpectations:

2018-04-10  Per Arne Vollan  <pvollan@apple.com>

        Update test expectations in the new legacy-animation-engine directory.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-04-09  Antoine Quint  <graouts@apple.com>

        Attempt to fix some test reported test failures in the new legacy-animation-engine directory. 

        Unreviewed test gardening.

        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

2018-04-09  Antoine Quint  <graouts@apple.com>

        [Web Animations] Duplicate layout tests exercising CSS Animations and CSS Transitions in a dedicated legacy directory
        https://bugs.webkit.org/show_bug.cgi?id=184420

        Reviewed by Dean Jackson.

        This is the first step towards turning CSS Animations and CSS Transitions as Web Animations on by default. Here, we
        take all existing layout tests using CSS Animations and CSS Transitions and duplicate them in "legacy" directories
        such that we can keep them running with the legacy animation engine once the flag is switched. Future patches will
        update DRT and WKTR to make these tests run with the legacy code path by default.

        * TestExpectations:
        * legacy-animation-engine/accessibility/content-changed-notification-causes-crash-expected.txt: Added.
        * legacy-animation-engine/accessibility/content-changed-notification-causes-crash.html: Added.
        * legacy-animation-engine/accessibility/transformed-bounds-expected.txt: Added.
        * legacy-animation-engine/accessibility/transformed-bounds.html: Added.
        * legacy-animation-engine/animations/3d/change-transform-in-end-event.html: Added.
        * legacy-animation-engine/animations/3d/matrix-transform-type-animation.html: Added.
        * legacy-animation-engine/animations/3d/replace-filling-transform-expected.png: Added.
        * legacy-animation-engine/animations/3d/replace-filling-transform-expected.txt: Added.
        * legacy-animation-engine/animations/3d/replace-filling-transform.html: Added.
        * legacy-animation-engine/animations/3d/state-at-end-event-transform.html: Added.
        * legacy-animation-engine/animations/3d/transform-origin-vs-functions-expected.txt: Added.
        * legacy-animation-engine/animations/3d/transform-origin-vs-functions.html: Added.
        * legacy-animation-engine/animations/3d/transform-perspective-expected.txt: Added.
        * legacy-animation-engine/animations/3d/transform-perspective.html: Added.
        * legacy-animation-engine/animations/CSSKeyframesRule-name-null-expected.txt: Added.
        * legacy-animation-engine/animations/CSSKeyframesRule-name-null.html: Added.
        * legacy-animation-engine/animations/CSSKeyframesRule-parameters-expected.txt: Added.
        * legacy-animation-engine/animations/CSSKeyframesRule-parameters.html: Added.
        * legacy-animation-engine/animations/added-while-suspended-expected.txt: Added.
        * legacy-animation-engine/animations/added-while-suspended.html: Added.
        * legacy-animation-engine/animations/additive-transform-animations-expected.png: Added.
        * legacy-animation-engine/animations/additive-transform-animations.html: Added.
        * legacy-animation-engine/animations/animation-add-events-in-handler-expected.txt: Added.
        * legacy-animation-engine/animations/animation-add-events-in-handler.html: Added.
        * legacy-animation-engine/animations/animation-border-overflow-expected.txt: Added.
        * legacy-animation-engine/animations/animation-border-overflow.html: Added.
        * legacy-animation-engine/animations/animation-callback-timestamp-expected.txt: Added.
        * legacy-animation-engine/animations/animation-callback-timestamp.html: Added.
        * legacy-animation-engine/animations/animation-controller-drt-api-expected.txt: Added.
        * legacy-animation-engine/animations/animation-controller-drt-api.html: Added.
        * legacy-animation-engine/animations/animation-css-rule-types-expected.txt: Added.
        * legacy-animation-engine/animations/animation-css-rule-types.html: Added.
        * legacy-animation-engine/animations/animation-delay-changed-expected.txt: Added.
        * legacy-animation-engine/animations/animation-delay-changed.html: Added.
        * legacy-animation-engine/animations/animation-direction-alternate-reverse-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-alternate-reverse.html: Added.
        * legacy-animation-engine/animations/animation-direction-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-normal-expected.png: Added.
        * legacy-animation-engine/animations/animation-direction-normal-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-normal.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-fill-mode-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-fill-mode-hardware-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-fill-mode-hardware.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-fill-mode.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-hardware-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-hardware-opacity-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-hardware-opacity.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-hardware.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-non-hardware-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-non-hardware.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-timing-functions-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-timing-functions-hardware-expected.txt: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-timing-functions-hardware.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse-timing-functions.html: Added.
        * legacy-animation-engine/animations/animation-direction-reverse.html: Added.
        * legacy-animation-engine/animations/animation-direction.html: Added.
        * legacy-animation-engine/animations/animation-end-event-destroy-renderer-expected.txt: Added.
        * legacy-animation-engine/animations/animation-end-event-destroy-renderer.html: Added.
        * legacy-animation-engine/animations/animation-end-event-short-iterations-expected.txt: Added.
        * legacy-animation-engine/animations/animation-end-event-short-iterations.html: Added.
        * legacy-animation-engine/animations/animation-events-create-expected.txt: Added.
        * legacy-animation-engine/animations/animation-events-create.html: Added.
        * legacy-animation-engine/animations/animation-events-not-cancelable-expected.txt: Added.
        * legacy-animation-engine/animations/animation-events-not-cancelable.html: Added.
        * legacy-animation-engine/animations/animation-followed-by-transition-expected.txt: Added.
        * legacy-animation-engine/animations/animation-followed-by-transition.html: Added.
        * legacy-animation-engine/animations/animation-hit-test-expected.txt: Added.
        * legacy-animation-engine/animations/animation-hit-test-transform-expected.txt: Added.
        * legacy-animation-engine/animations/animation-hit-test-transform.html: Added.
        * legacy-animation-engine/animations/animation-hit-test.html: Added.
        * legacy-animation-engine/animations/animation-initial-inheritance-expected.html: Added.
        * legacy-animation-engine/animations/animation-initial-inheritance.html: Added.
        * legacy-animation-engine/animations/animation-internals-api-expected.txt: Added.
        * legacy-animation-engine/animations/animation-internals-api-multiple-keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/animation-internals-api-multiple-keyframes.html: Added.
        * legacy-animation-engine/animations/animation-internals-api.html: Added.
        * legacy-animation-engine/animations/animation-iteration-event-destroy-renderer-expected.txt: Added.
        * legacy-animation-engine/animations/animation-iteration-event-destroy-renderer.html: Added.
        * legacy-animation-engine/animations/animation-matrix-negative-scale-unmatrix-expected.txt: Added.
        * legacy-animation-engine/animations/animation-matrix-negative-scale-unmatrix.html: Added.
        * legacy-animation-engine/animations/animation-multiple-callbacks-timestamp-expected.txt: Added.
        * legacy-animation-engine/animations/animation-multiple-callbacks-timestamp.html: Added.
        * legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.png: Added.
        * legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.txt: Added.
        * legacy-animation-engine/animations/animation-offscreen-to-onscreen.html: Added.
        * legacy-animation-engine/animations/animation-on-inline-crash-expected.txt: Added.
        * legacy-animation-engine/animations/animation-on-inline-crash.html: Added.
        * legacy-animation-engine/animations/animation-shorthand-expected.txt: Added.
        * legacy-animation-engine/animations/animation-shorthand-name-order-expected.txt: Added.
        * legacy-animation-engine/animations/animation-shorthand-name-order.html: Added.
        * legacy-animation-engine/animations/animation-shorthand-overriding-expected.txt: Added.
        * legacy-animation-engine/animations/animation-shorthand-overriding.html: Added.
        * legacy-animation-engine/animations/animation-shorthand-removed-expected.txt: Added.
        * legacy-animation-engine/animations/animation-shorthand-removed.html: Added.
        * legacy-animation-engine/animations/animation-shorthand.html: Added.
        * legacy-animation-engine/animations/animation-start-event-destroy-renderer-expected.txt: Added.
        * legacy-animation-engine/animations/animation-start-event-destroy-renderer.html: Added.
        * legacy-animation-engine/animations/animation-welcome-safari-expected.txt: Added.
        * legacy-animation-engine/animations/animation-welcome-safari.html: Added.
        * legacy-animation-engine/animations/big-rotation-expected.txt: Added.
        * legacy-animation-engine/animations/big-rotation.html: Added.
        * legacy-animation-engine/animations/body-removal-crash-expected.txt: Added.
        * legacy-animation-engine/animations/body-removal-crash.html: Added.
        * legacy-animation-engine/animations/change-completed-animation-expected.txt: Added.
        * legacy-animation-engine/animations/change-completed-animation-transform-expected.html: Added.
        * legacy-animation-engine/animations/change-completed-animation-transform.html: Added.
        * legacy-animation-engine/animations/change-completed-animation.html: Added.
        * legacy-animation-engine/animations/change-keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/change-keyframes-name-expected.txt: Added.
        * legacy-animation-engine/animations/change-keyframes-name.html: Added.
        * legacy-animation-engine/animations/change-keyframes.html: Added.
        * legacy-animation-engine/animations/change-one-anim-expected.txt: Added.
        * legacy-animation-engine/animations/change-one-anim.html: Added.
        * legacy-animation-engine/animations/change-transform-style-during-animation-expected.png: Added.
        * legacy-animation-engine/animations/change-transform-style-during-animation-expected.txt: Added.
        * legacy-animation-engine/animations/change-transform-style-during-animation.html: Added.
        * legacy-animation-engine/animations/combo-transform-rotate+scale-expected.txt: Added.
        * legacy-animation-engine/animations/combo-transform-rotate+scale.html: Added.
        * legacy-animation-engine/animations/combo-transform-translate+scale-expected.txt: Added.
        * legacy-animation-engine/animations/combo-transform-translate+scale.html: Added.
        * legacy-animation-engine/animations/computed-style-expected.txt: Added.
        * legacy-animation-engine/animations/computed-style.html: Added.
        * legacy-animation-engine/animations/crash-on-removing-animation-expected.txt: Added.
        * legacy-animation-engine/animations/crash-on-removing-animation.html: Added.
        * legacy-animation-engine/animations/cross-fade-background-image-expected.html: Added.
        * legacy-animation-engine/animations/cross-fade-background-image.html: Added.
        * legacy-animation-engine/animations/cross-fade-border-image-source.html: Added.
        * legacy-animation-engine/animations/cross-fade-list-style-image.html: Added.
        * legacy-animation-engine/animations/cross-fade-webkit-mask-box-image.html: Added.
        * legacy-animation-engine/animations/cross-fade-webkit-mask-image.html: Added.
        * legacy-animation-engine/animations/duplicate-keys-expected.html: Added.
        * legacy-animation-engine/animations/duplicate-keys.html: Added.
        * legacy-animation-engine/animations/duplicated-keyframes-name-expected.txt: Added.
        * legacy-animation-engine/animations/duplicated-keyframes-name.html: Added.
        * legacy-animation-engine/animations/dynamic-stylesheet-loading-expected.txt: Added.
        * legacy-animation-engine/animations/dynamic-stylesheet-loading.html: Added.
        * legacy-animation-engine/animations/empty-keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/empty-keyframes.html: Added.
        * legacy-animation-engine/animations/fill-forwards-auto-height-expected.html: Added.
        * legacy-animation-engine/animations/fill-forwards-auto-height.html: Added.
        * legacy-animation-engine/animations/fill-forwards-end-state-expected.txt: Added.
        * legacy-animation-engine/animations/fill-forwards-end-state.html: Added.
        * legacy-animation-engine/animations/fill-mode-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-forwards-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-forwards-zero-duration-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html: Added.
        * legacy-animation-engine/animations/fill-mode-forwards.html: Added.
        * legacy-animation-engine/animations/fill-mode-forwards2-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-forwards2.html: Added.
        * legacy-animation-engine/animations/fill-mode-iteration-count-non-integer-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-iteration-count-non-integer.html: Added.
        * legacy-animation-engine/animations/fill-mode-missing-from-to-keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-missing-from-to-keyframes.html: Added.
        * legacy-animation-engine/animations/fill-mode-multiple-keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-multiple-keyframes.html: Added.
        * legacy-animation-engine/animations/fill-mode-removed-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-removed.html: Added.
        * legacy-animation-engine/animations/fill-mode-reverse-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-reverse.html: Added.
        * legacy-animation-engine/animations/fill-mode-transform-expected.txt: Added.
        * legacy-animation-engine/animations/fill-mode-transform.html: Added.
        * legacy-animation-engine/animations/fill-mode.html: Added.
        * legacy-animation-engine/animations/fill-unset-properties-expected.txt: Added.
        * legacy-animation-engine/animations/fill-unset-properties.html: Added.
        * legacy-animation-engine/animations/font-size-using-ems-expected.txt: Added.
        * legacy-animation-engine/animations/font-size-using-ems.html: Added.
        * legacy-animation-engine/animations/font-variations/font-stretch-expected.txt: Added.
        * legacy-animation-engine/animations/font-variations/font-stretch.html: Added.
        * legacy-animation-engine/animations/font-variations/font-style-expected.txt: Added.
        * legacy-animation-engine/animations/font-variations/font-style.html: Added.
        * legacy-animation-engine/animations/font-variations/font-variation-settings-expected.txt: Added.
        * legacy-animation-engine/animations/font-variations/font-variation-settings-order-expected.txt: Added.
        * legacy-animation-engine/animations/font-variations/font-variation-settings-order.html: Added.
        * legacy-animation-engine/animations/font-variations/font-variation-settings-unlike-expected.txt: Added.
        * legacy-animation-engine/animations/font-variations/font-variation-settings-unlike.html: Added.
        * legacy-animation-engine/animations/font-variations/font-variation-settings.html: Added.
        * legacy-animation-engine/animations/font-variations/font-weight-expected.txt: Added.
        * legacy-animation-engine/animations/font-variations/font-weight.html: Added.
        * legacy-animation-engine/animations/font-variations/resources/Boxis-VF.ttf: Added.
        * legacy-animation-engine/animations/generic-from-to-expected.txt: Added.
        * legacy-animation-engine/animations/generic-from-to.html: Added.
        * legacy-animation-engine/animations/import-crash-expected.txt: Added.
        * legacy-animation-engine/animations/import-crash.html: Added.
        * legacy-animation-engine/animations/import-expected.txt: Added.
        * legacy-animation-engine/animations/import.html: Added.
        * legacy-animation-engine/animations/keyframe-autoclose-brace-expected.txt: Added.
        * legacy-animation-engine/animations/keyframe-autoclose-brace.html: Added.
        * legacy-animation-engine/animations/keyframe-multiple-timing-functions-transform-expected.txt: Added.
        * legacy-animation-engine/animations/keyframe-multiple-timing-functions-transform.html: Added.
        * legacy-animation-engine/animations/keyframe-selector-negative-percentage-expected.txt: Added.
        * legacy-animation-engine/animations/keyframe-selector-negative-percentage.html: Added.
        * legacy-animation-engine/animations/keyframe-timing-functions-expected.txt: Added.
        * legacy-animation-engine/animations/keyframe-timing-functions-transform-expected.txt: Added.
        * legacy-animation-engine/animations/keyframe-timing-functions-transform.html: Added.
        * legacy-animation-engine/animations/keyframe-timing-functions.html: Added.
        * legacy-animation-engine/animations/keyframe-timing-functions2-expected.txt: Added.
        * legacy-animation-engine/animations/keyframe-timing-functions2.html: Added.
        * legacy-animation-engine/animations/keyframes-comma-separated-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-comma-separated.html: Added.
        * legacy-animation-engine/animations/keyframes-dynamic-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-dynamic.html: Added.
        * legacy-animation-engine/animations/keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-infinite-iterations-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-infinite-iterations.html: Added.
        * legacy-animation-engine/animations/keyframes-invalid-keys-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-invalid-keys.html: Added.
        * legacy-animation-engine/animations/keyframes-iteration-count-non-integer-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-iteration-count-non-integer.html: Added.
        * legacy-animation-engine/animations/keyframes-out-of-order-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-out-of-order.html: Added.
        * legacy-animation-engine/animations/keyframes-rule-expected.txt: Added.
        * legacy-animation-engine/animations/keyframes-rule.html: Added.
        * legacy-animation-engine/animations/keyframes.html: Added.
        * legacy-animation-engine/animations/large-negative-delay-expected.txt: Added.
        * legacy-animation-engine/animations/large-negative-delay.html: Added.
        * legacy-animation-engine/animations/lineheight-animation-expected.txt: Added.
        * legacy-animation-engine/animations/lineheight-animation.html: Added.
        * legacy-animation-engine/animations/longhand-timing-function-expected.txt: Added.
        * legacy-animation-engine/animations/longhand-timing-function.html: Added.
        * legacy-animation-engine/animations/matrix-anim-expected.txt: Added.
        * legacy-animation-engine/animations/matrix-anim.html: Added.
        * legacy-animation-engine/animations/missing-from-to-expected.txt: Added.
        * legacy-animation-engine/animations/missing-from-to-transforms-expected.txt: Added.
        * legacy-animation-engine/animations/missing-from-to-transforms.html: Added.
        * legacy-animation-engine/animations/missing-from-to.html: Added.
        * legacy-animation-engine/animations/missing-keyframe-properties-expected.txt: Added.
        * legacy-animation-engine/animations/missing-keyframe-properties-repeating-expected.txt: Added.
        * legacy-animation-engine/animations/missing-keyframe-properties-repeating.html: Added.
        * legacy-animation-engine/animations/missing-keyframe-properties-timing-function-expected.txt: Added.
        * legacy-animation-engine/animations/missing-keyframe-properties-timing-function.html: Added.
        * legacy-animation-engine/animations/missing-keyframe-properties.html: Added.
        * legacy-animation-engine/animations/missing-values-first-keyframe-expected.png: Added.
        * legacy-animation-engine/animations/missing-values-first-keyframe.html: Added.
        * legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Added.
        * legacy-animation-engine/animations/missing-values-last-keyframe.html: Added.
        * legacy-animation-engine/animations/multiple-animations-expected.txt: Added.
        * legacy-animation-engine/animations/multiple-animations-timing-function-expected.txt: Added.
        * legacy-animation-engine/animations/multiple-animations-timing-function.html: Added.
        * legacy-animation-engine/animations/multiple-animations.html: Added.
        * legacy-animation-engine/animations/multiple-backgrounds-expected.html: Added.
        * legacy-animation-engine/animations/multiple-backgrounds.html: Added.
        * legacy-animation-engine/animations/multiple-keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/multiple-keyframes.html: Added.
        * legacy-animation-engine/animations/needs-layout-expected.html: Added.
        * legacy-animation-engine/animations/needs-layout.html: Added.
        * legacy-animation-engine/animations/negative-delay-expected.txt: Added.
        * legacy-animation-engine/animations/negative-delay.html: Added.
        * legacy-animation-engine/animations/opacity-transform-animation-expected.png: Added.
        * legacy-animation-engine/animations/opacity-transform-animation-expected.txt: Added.
        * legacy-animation-engine/animations/opacity-transform-animation.html: Added.
        * legacy-animation-engine/animations/pause-crash-expected.txt: Added.
        * legacy-animation-engine/animations/pause-crash.html: Added.
        * legacy-animation-engine/animations/play-state-expected.txt: Added.
        * legacy-animation-engine/animations/play-state-in-shorthand-expected.txt: Added.
        * legacy-animation-engine/animations/play-state-in-shorthand.html: Added.
        * legacy-animation-engine/animations/play-state-paused-expected.png: Added.
        * legacy-animation-engine/animations/play-state-paused-expected.txt: Added.
        * legacy-animation-engine/animations/play-state-paused.html: Added.
        * legacy-animation-engine/animations/play-state-start-paused-expected.html: Added.
        * legacy-animation-engine/animations/play-state-start-paused.html: Added.
        * legacy-animation-engine/animations/play-state-suspend-expected.txt: Added.
        * legacy-animation-engine/animations/play-state-suspend.html: Added.
        * legacy-animation-engine/animations/play-state.html: Added.
        * legacy-animation-engine/animations/remove-syncing-animation-expected.txt: Added.
        * legacy-animation-engine/animations/remove-syncing-animation.html: Added.
        * legacy-animation-engine/animations/resources/anim.html: Added.
        * legacy-animation-engine/animations/resources/animation-test-helpers.js: Added.
        (isCloseEnough):
        (matrixStringToArray):
        (parseCSSImage):
        (parseCrossFade):
        (parseFilterImage):
        (parseFilterFunctionList):
        (parseBasicShape):
        (compareCSSImages):
        (compareFontVariationSettings):
        (compareFontStyle):
        (compareFilterFunctions):
        (basicShapeParametersMatch):
        (checkExpectedValue):
        (getPropertyValue):
        (comparePropertyValue):
        (endTest):
        (checkExpectedValueCallback):
        (startTest):
        (runAnimationTest):
        (waitForAnimationToStart):
        * legacy-animation-engine/animations/resources/blue-100.png: Added.
        * legacy-animation-engine/animations/resources/crash-on-removing-animation-window.html: Added.
        * legacy-animation-engine/animations/resources/dynamic-stylesheet-insertion-inserted.css: Added.
        * legacy-animation-engine/animations/resources/dynamic-stylesheet-insertion-main.css: Added.
        (body):
        (#splash):
        (@-webkit-keyframes splashdown):
        (30%):
        (40%):
        (90%):
        (100%):
        * legacy-animation-engine/animations/resources/green-100.png: Added.
        * legacy-animation-engine/animations/resources/keyframes.css: Added.
        (@-webkit-keyframes "anim"):
        (20%):
        (40%):
        (60%):
        (80%):
        (to):
        * legacy-animation-engine/animations/resources/page-cache-helper.html: Added.
        * legacy-animation-engine/animations/resources/stop-animation-on-suspend-subframe.html: Added.
        * legacy-animation-engine/animations/resources/stripes-100.png: Added.
        * legacy-animation-engine/animations/restart-after-scroll-expected.txt: Added.
        * legacy-animation-engine/animations/restart-after-scroll-nested-expected.txt: Added.
        * legacy-animation-engine/animations/restart-after-scroll-nested.html: Added.
        * legacy-animation-engine/animations/restart-after-scroll.html: Added.
        * legacy-animation-engine/animations/resume-after-page-cache-expected.txt: Added.
        * legacy-animation-engine/animations/resume-after-page-cache.html: Added.
        * legacy-animation-engine/animations/simultaneous-start-left-expected.txt: Added.
        * legacy-animation-engine/animations/simultaneous-start-left.html: Added.
        * legacy-animation-engine/animations/simultaneous-start-transform-expected.txt: Added.
        * legacy-animation-engine/animations/simultaneous-start-transform.html: Added.
        * legacy-animation-engine/animations/spring-computed-style-expected.txt: Added.
        * legacy-animation-engine/animations/spring-computed-style.html: Added.
        * legacy-animation-engine/animations/spring-function-expected.txt: Added.
        * legacy-animation-engine/animations/spring-function.html: Added.
        * legacy-animation-engine/animations/spring-parsing-expected.txt: Added.
        * legacy-animation-engine/animations/spring-parsing.html: Added.
        * legacy-animation-engine/animations/stacking-context-fill-forwards-expected.html: Added.
        * legacy-animation-engine/animations/stacking-context-fill-forwards.html: Added.
        * legacy-animation-engine/animations/stacking-context-not-fill-forwards-expected.html: Added.
        * legacy-animation-engine/animations/stacking-context-not-fill-forwards.html: Added.
        * legacy-animation-engine/animations/stacking-context-unchanged-while-running-expected.html: Added.
        * legacy-animation-engine/animations/stacking-context-unchanged-while-running.html: Added.
        * legacy-animation-engine/animations/stacking-during-opacity-animation-expected.txt: Added.
        * legacy-animation-engine/animations/stacking-during-opacity-animation.html: Added.
        * legacy-animation-engine/animations/state-at-end-event.html: Added.
        * legacy-animation-engine/animations/stop-animation-on-suspend-expected.txt: Added.
        * legacy-animation-engine/animations/stop-animation-on-suspend.html: Added.
        * legacy-animation-engine/animations/suspend-resume-animation-events-expected.txt: Added.
        * legacy-animation-engine/animations/suspend-resume-animation-events.html: Added.
        * legacy-animation-engine/animations/suspend-resume-animation-expected.txt: Added.
        * legacy-animation-engine/animations/suspend-resume-animation.html: Added.
        * legacy-animation-engine/animations/suspend-transform-animation-expected.png: Added.
        * legacy-animation-engine/animations/suspend-transform-animation-expected.txt: Added.
        * legacy-animation-engine/animations/suspend-transform-animation.html: Added.
        * legacy-animation-engine/animations/timing-functions-expected.txt: Added.
        * legacy-animation-engine/animations/timing-functions.html: Added.
        * legacy-animation-engine/animations/transform-non-accelerated-expected.txt: Added.
        * legacy-animation-engine/animations/transform-non-accelerated.html: Added.
        * legacy-animation-engine/animations/transition-and-animation-1-expected.txt: Added.
        * legacy-animation-engine/animations/transition-and-animation-1.html: Added.
        * legacy-animation-engine/animations/transition-and-animation-2-expected.txt: Added.
        * legacy-animation-engine/animations/transition-and-animation-2.html: Added.
        * legacy-animation-engine/animations/transition-and-animation-3-expected.txt: Added.
        * legacy-animation-engine/animations/transition-and-animation-3.html: Added.
        * legacy-animation-engine/animations/trigger-computed-style-expected.txt: Added.
        * legacy-animation-engine/animations/trigger-computed-style.html: Added.
        * legacy-animation-engine/animations/trigger-container-scroll-boundaries-expected.txt: Added.
        * legacy-animation-engine/animations/trigger-container-scroll-boundaries.html: Added.
        * legacy-animation-engine/animations/trigger-container-scroll-empty-expected.txt: Added.
        * legacy-animation-engine/animations/trigger-container-scroll-empty.html: Added.
        * legacy-animation-engine/animations/trigger-container-scroll-simple-expected.txt: Added.
        * legacy-animation-engine/animations/trigger-container-scroll-simple.html: Added.
        * legacy-animation-engine/animations/trigger-parsing-expected.txt: Added.
        * legacy-animation-engine/animations/trigger-parsing.html: Added.
        * legacy-animation-engine/animations/unanimated-style-expected.txt: Added.
        * legacy-animation-engine/animations/unanimated-style.html: Added.
        * legacy-animation-engine/animations/unprefixed-events-expected.txt: Added.
        * legacy-animation-engine/animations/unprefixed-events-mixed-with-prefixed-expected.txt: Added.
        * legacy-animation-engine/animations/unprefixed-events-mixed-with-prefixed.html: Added.
        * legacy-animation-engine/animations/unprefixed-events.html: Added.
        * legacy-animation-engine/animations/unprefixed-keyframes-expected.txt: Added.
        * legacy-animation-engine/animations/unprefixed-keyframes-rule-expected.txt: Added.
        * legacy-animation-engine/animations/unprefixed-keyframes-rule.html: Added.
        * legacy-animation-engine/animations/unprefixed-keyframes.html: Added.
        * legacy-animation-engine/animations/unprefixed-properties-expected.txt: Added.
        * legacy-animation-engine/animations/unprefixed-properties.html: Added.
        * legacy-animation-engine/animations/unprefixed-shorthand-expected.txt: Added.
        * legacy-animation-engine/animations/unprefixed-shorthand.html: Added.
        * legacy-animation-engine/animations/width-using-ems-expected.txt: Added.
        * legacy-animation-engine/animations/width-using-ems.html: Added.
        * legacy-animation-engine/compositing/animation/animated-composited-inside-hidden-expected.txt: Added.
        * legacy-animation-engine/compositing/animation/animated-composited-inside-hidden.html: Added.
        * legacy-animation-engine/compositing/animation/animation-backing-expected.txt: Added.
        * legacy-animation-engine/compositing/animation/animation-backing.html: Added.
        * legacy-animation-engine/compositing/animation/animation-compositing-expected.txt: Added.
        * legacy-animation-engine/compositing/animation/animation-compositing.html: Added.
        * legacy-animation-engine/compositing/animation/busy-indicator-expected.txt: Added.
        * legacy-animation-engine/compositing/animation/busy-indicator-no.png: Added.
        * legacy-animation-engine/compositing/animation/busy-indicator.html: Added.
        * legacy-animation-engine/compositing/animation/busy-indicator.png: Added.
        * legacy-animation-engine/compositing/animation/computed-style-during-delay-expected.txt: Added.
        * legacy-animation-engine/compositing/animation/computed-style-during-delay.html: Added.
        * legacy-animation-engine/compositing/animation/keyframe-order-expected.html: Added.
        * legacy-animation-engine/compositing/animation/keyframe-order.html: Added.
        * legacy-animation-engine/compositing/animation/layer-for-filling-animation-expected.txt: Added.
        * legacy-animation-engine/compositing/animation/layer-for-filling-animation.html: Added.
        * legacy-animation-engine/compositing/animation/matrix-animation-expected.html: Added.
        * legacy-animation-engine/compositing/animation/matrix-animation.html: Added.
        * legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer.html: Added.
        * legacy-animation-engine/compositing/backing/backface-visibility-flip-expected.txt: Added.
        * legacy-animation-engine/compositing/backing/backface-visibility-flip.html: Added.
        * legacy-animation-engine/compositing/backing/transform-transition-from-outside-view-expected.txt: Added.
        * legacy-animation-engine/compositing/backing/transform-transition-from-outside-view.html: Added.
        * legacy-animation-engine/compositing/contents-scale/animating-expected.txt: Added.
        * legacy-animation-engine/compositing/contents-scale/animating.html: Added.
        * legacy-animation-engine/compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: Added.
        * legacy-animation-engine/compositing/geometry/limit-layer-bounds-opacity-transition.html: Added.
        * legacy-animation-engine/compositing/geometry/partial-layout-update.html: Added.
        * legacy-animation-engine/compositing/layer-creation/animation-overlap-with-children-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/animation-overlap-with-children.html: Added.
        * legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-animation-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-transition-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-transition-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/mismatched-transform-transition-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/mismatched-transform-transition-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/multiple-keyframes-animation-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping.html: Added.
        * legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/overlap-animation-container.html: Added.
        * legacy-animation-engine/compositing/layer-creation/overlap-animation-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/overlap-animation.html: Added.
        * legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/scale-rotation-transition-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/scale-rotation-transition-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-animation-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-scale-transition-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-scale-transition-overlap.html: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-transition-overlap-expected.txt: Added.
        * legacy-animation-engine/compositing/layer-creation/translate-transition-overlap.html: Added.
        * legacy-animation-engine/compositing/overflow/overflow-positioning.html: Added.
        * legacy-animation-engine/compositing/reflections/animation-inside-reflection.html: Added.
        * legacy-animation-engine/compositing/reflections/load-video-in-reflection.html: Added.
        * legacy-animation-engine/compositing/reflections/nested-reflection-animated.html: Added.
        * legacy-animation-engine/compositing/reflections/nested-reflection-transition.html: Added.
        * legacy-animation-engine/compositing/repaint-container-assertion-when-toggling-compositing-expected.txt: Added.
        * legacy-animation-engine/compositing/repaint-container-assertion-when-toggling-compositing.html: Added.
        * legacy-animation-engine/compositing/repaint/become-overlay-composited-layer.html: Added.
        * legacy-animation-engine/compositing/repaint/layer-repaint-rects.html: Added.
        * legacy-animation-engine/compositing/repaint/opacity-between-absolute.html: Added.
        * legacy-animation-engine/compositing/repaint/opacity-between-absolute2.html: Added.
        * legacy-animation-engine/compositing/transitions/opacity-on-inline-expected.txt: Added.
        * legacy-animation-engine/compositing/transitions/opacity-on-inline.html: Added.
        * legacy-animation-engine/compositing/transitions/scale-transition-no-start.html: Added.
        * legacy-animation-engine/compositing/transitions/singular-scale-transition.html: Added.
        * legacy-animation-engine/compositing/transitions/transform-on-large-layer-expected.html: Added.
        * legacy-animation-engine/compositing/transitions/transform-on-large-layer.html: Added.
        * legacy-animation-engine/compositing/updates/animation-non-composited-expected.txt: Added.
        * legacy-animation-engine/compositing/updates/animation-non-composited.html: Added.
        * legacy-animation-engine/compositing/visibility/visibility-composited-animation-expected.png: Added.
        * legacy-animation-engine/compositing/visibility/visibility-composited-animation-expected.txt: Added.
        * legacy-animation-engine/compositing/visibility/visibility-composited-animation.html: Added.
        * legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Added.
        * legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Added.
        * legacy-animation-engine/compositing/visible-rect/animated-from-none.html: Added.
        * legacy-animation-engine/compositing/visible-rect/animated.html: Added.
        * legacy-animation-engine/css1/units/zero-duration-without-units-expected.txt: Added.
        * legacy-animation-engine/css1/units/zero-duration-without-units.html: Added.
        * legacy-animation-engine/css3/calc/cubic-bezier-with-multiple-calcs-crash.html-expected.txt: Added.
        * legacy-animation-engine/css3/calc/cubic-bezier-with-multiple-calcs-crash.html.html: Added.
        * legacy-animation-engine/css3/calc/transition-crash-expected.txt: Added.
        * legacy-animation-engine/css3/calc/transition-crash.html: Added.
        * legacy-animation-engine/css3/calc/transition-crash2-expected.txt: Added.
        * legacy-animation-engine/css3/calc/transition-crash2.html: Added.
        * legacy-animation-engine/css3/calc/transition-crash3-expected.txt: Added.
        * legacy-animation-engine/css3/calc/transition-crash3.html: Added.
        * legacy-animation-engine/css3/calc/transition-crash4-expected.txt: Added.
        * legacy-animation-engine/css3/calc/transition-crash4.html: Added.
        * legacy-animation-engine/css3/calc/transitions-dependent-expected.txt: Added.
        * legacy-animation-engine/css3/calc/transitions-dependent.html: Added.
        * legacy-animation-engine/css3/calc/transitions-expected.txt: Added.
        * legacy-animation-engine/css3/calc/transitions.html: Added.
        * legacy-animation-engine/css3/calculated-word-spacing-expected.txt: Added.
        * legacy-animation-engine/css3/calculated-word-spacing.html: Added.
        * legacy-animation-engine/css3/filters/animation-from-initial-values-with-color-matrix-expected.html: Added.
        * legacy-animation-engine/css3/filters/animation-from-initial-values-with-color-matrix.html: Added.
        * legacy-animation-engine/css3/filters/backdrop/animation-expected.txt: Added.
        * legacy-animation-engine/css3/filters/backdrop/animation.html: Added.
        * legacy-animation-engine/css3/filters/composited-during-animation-expected.txt: Added.
        * legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Added.
        * legacy-animation-engine/css3/filters/composited-during-animation-layertree.html: Added.
        * legacy-animation-engine/css3/filters/composited-during-animation.html: Added.
        * legacy-animation-engine/css3/filters/composited-during-transition-layertree.html: Added.
        * legacy-animation-engine/css3/filters/crash-filter-animation-invalid-url-expected.txt: Added.
        * legacy-animation-engine/css3/filters/crash-filter-animation-invalid-url.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none-hw-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none-hw.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none-multi-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none-multi-hw-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none-multi-hw.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none-multi.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation-from-none.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation-hw-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-hw.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation-multi-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-multi-hw-expected.txt: Added.
        * legacy-animation-engine/css3/filters/filter-animation-multi-hw.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation-multi.html: Added.
        * legacy-animation-engine/css3/filters/filter-animation.html: Added.
        * legacy-animation-engine/css3/flexbox/csswg/css-flexbox-height-animation-stretch-expected.html: Added.
        * legacy-animation-engine/css3/flexbox/csswg/css-flexbox-height-animation-stretch.html: Added.
        * legacy-animation-engine/css3/infinite-word-spacing-expected.txt: Added.
        * legacy-animation-engine/css3/infinite-word-spacing.html: Added.
        * legacy-animation-engine/css3/masking/clip-path-animation-expected.txt: Added.
        * legacy-animation-engine/css3/masking/clip-path-animation.html: Added.
        * legacy-animation-engine/css3/supports-crash-expected.txt: Added.
        * legacy-animation-engine/css3/supports-crash.html: Added.
        * legacy-animation-engine/css3/supports-cssom-expected.txt: Added.
        * legacy-animation-engine/css3/supports-cssom.html: Added.
        * legacy-animation-engine/css3/supports-dom-api-expected.txt: Added.
        * legacy-animation-engine/css3/supports-dom-api.html: Added.
        * legacy-animation-engine/css3/supports-expected.txt: Added.
        * legacy-animation-engine/css3/supports-not-selector-cssom-expected.txt: Added.
        * legacy-animation-engine/css3/supports-not-selector-cssom.html: Added.
        * legacy-animation-engine/css3/supports-not-selector-expected.html: Added.
        * legacy-animation-engine/css3/supports-not-selector.html: Added.
        * legacy-animation-engine/css3/supports.html: Added.
        * legacy-animation-engine/cssom/cssvalue-comparison-expected.txt: Added.
        * legacy-animation-engine/cssom/cssvalue-comparison.html: Added.
        * legacy-animation-engine/editing/selection/layout-during-move-selection-crash-expected.txt: Added.
        * legacy-animation-engine/editing/selection/layout-during-move-selection-crash.html: Added.
        * legacy-animation-engine/fast/animation/animation-element-removal-expected.txt: Added.
        * legacy-animation-engine/fast/animation/animation-element-removal.html: Added.
        * legacy-animation-engine/fast/animation/animation-mixed-transform-crash-expected.html: Added.
        * legacy-animation-engine/fast/animation/animation-mixed-transform-crash.html: Added.
        * legacy-animation-engine/fast/animation/animation-style-update-size-expected.txt: Added.
        * legacy-animation-engine/fast/animation/animation-style-update-size.html: Added.
        * legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-expected.txt: Added.
        * legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change-expected.txt: Added.
        * legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change.html: Added.
        * legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change2-expected.txt: Added.
        * legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change2.html: Added.
        * legacy-animation-engine/fast/animation/css-animation-resuming-when-visible.html: Added.
        * legacy-animation-engine/fast/animation/css-animation-throttling-lowPowerMode-expected.txt: Added.
        * legacy-animation-engine/fast/animation/css-animation-throttling-lowPowerMode.html: Added.
        * legacy-animation-engine/fast/animation/height-auto-transition-computed-value-expected.html: Added.
        * legacy-animation-engine/fast/animation/height-auto-transition-computed-value.html: Added.
        * legacy-animation-engine/fast/animation/keyframe-with-font-size-in-em-units-expected.txt: Added.
        * legacy-animation-engine/fast/animation/keyframe-with-font-size-in-em-units.html: Added.
        * legacy-animation-engine/fast/animation/request-animation-frame-iframe-expected.txt: Added.
        * legacy-animation-engine/fast/animation/request-animation-frame-iframe.html: Added.
        * legacy-animation-engine/fast/animation/request-animation-frame-iframe2-expected.txt: Added.
        * legacy-animation-engine/fast/animation/request-animation-frame-iframe2.html: Added.
        * legacy-animation-engine/fast/css-generated-content/noscript-pseudo-anim-crash-expected.txt: Added.
        * legacy-animation-engine/fast/css-generated-content/noscript-pseudo-anim-crash.html: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-animation-expected.txt: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-animation.html: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-element-events-expected.txt: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-element-events.html: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-transition-event-expected.txt: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-transition-event.html: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-transition-expected.txt: Added.
        * legacy-animation-engine/fast/css-generated-content/pseudo-transition.html: Added.
        * legacy-animation-engine/fast/css/animation-pseudo-style-change-expected.html: Added.
        * legacy-animation-engine/fast/css/animation-pseudo-style-change.html: Added.
        * legacy-animation-engine/fast/css/animation-steps-calculated-value-expected.txt: Added.
        * legacy-animation-engine/fast/css/animation-steps-calculated-value.html: Added.
        * legacy-animation-engine/fast/css/animation-transition-duration-quirksmode-expected.txt: Added.
        * legacy-animation-engine/fast/css/animation-transition-duration-quirksmode.html: Added.
        * legacy-animation-engine/fast/css/calc-mixed-blend-crash-expected.txt: Added.
        * legacy-animation-engine/fast/css/calc-mixed-blend-crash.html: Added.
        * legacy-animation-engine/fast/css/calc-with-angle-time-frequency-expected.txt: Added.
        * legacy-animation-engine/fast/css/calc-with-angle-time-frequency.html: Added.
        * legacy-animation-engine/fast/css/compare-animation-trigger-expected.txt: Added.
        * legacy-animation-engine/fast/css/compare-animation-trigger.html: Added.
        * legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Added.
        * legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html: Added.
        * legacy-animation-engine/fast/css/getComputedStyle/resources/property-names.js: Added.
        * legacy-animation-engine/fast/css/getFloatValueForUnit-expected.txt: Added.
        * legacy-animation-engine/fast/css/getFloatValueForUnit.html: Added.
        * legacy-animation-engine/fast/css/image-set-value-not-removed-crash-expected.txt: Added.
        * legacy-animation-engine/fast/css/image-set-value-not-removed-crash.html: Added.
        * legacy-animation-engine/fast/css/longhand-overrides-shorthand-prefixing-expected.txt: Added.
        * legacy-animation-engine/fast/css/longhand-overrides-shorthand-prefixing.html: Added.
        * legacy-animation-engine/fast/css/number-parsing-crash-2-expected.txt: Added.
        * legacy-animation-engine/fast/css/number-parsing-crash-2.html: Added.
        * legacy-animation-engine/fast/css/onanimation-eventhandlers-expected.txt: Added.
        * legacy-animation-engine/fast/css/onanimation-eventhandlers.html: Added.
        * legacy-animation-engine/fast/css/ontransitionend-eventhandler-expected.txt: Added.
        * legacy-animation-engine/fast/css/ontransitionend-eventhandler.html: Added.
        * legacy-animation-engine/fast/css/parse-timing-function-crash-expected.txt: Added.
        * legacy-animation-engine/fast/css/parse-timing-function-crash.html: Added.
        * legacy-animation-engine/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt: Added.
        * legacy-animation-engine/fast/css/prefixed-unprefixed-variant-style-declaration.html: Added.
        * legacy-animation-engine/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt: Added.
        * legacy-animation-engine/fast/css/shorthand-omitted-initial-value-overrides-shorthand.html: Added.
        * legacy-animation-engine/fast/css/transform-inline-style-expected.txt: Added.
        * legacy-animation-engine/fast/css/transform-inline-style-remove-expected.txt: Added.
        * legacy-animation-engine/fast/css/transform-inline-style-remove.html: Added.
        * legacy-animation-engine/fast/css/transform-inline-style.html: Added.
        * legacy-animation-engine/fast/css/transition-color-unspecified-expected.txt: Added.
        * legacy-animation-engine/fast/css/transition-color-unspecified.html: Added.
        * legacy-animation-engine/fast/css/transition-delay-calculated-value-expected.txt: Added.
        * legacy-animation-engine/fast/css/transition-delay-calculated-value.html: Added.
        * legacy-animation-engine/fast/css/transition-timing-function-expected.txt: Added.
        * legacy-animation-engine/fast/css/transition-timing-function.html: Added.
        * legacy-animation-engine/fast/css/transition_shorthand_parsing-expected.txt: Added.
        * legacy-animation-engine/fast/css/transition_shorthand_parsing.html: Added.
        * legacy-animation-engine/fast/dom/event-handler-attributes-expected.txt: Added.
        * legacy-animation-engine/fast/dom/event-handler-attributes.html: Added.
        * legacy-animation-engine/fast/events/constructors/webkit-animation-event-constructor-expected.txt: Added.
        * legacy-animation-engine/fast/events/constructors/webkit-animation-event-constructor.html: Added.
        * legacy-animation-engine/fast/filter-image/filter-image-animation-expected.txt: Added.
        * legacy-animation-engine/fast/filter-image/filter-image-animation.html: Added.
        * legacy-animation-engine/fast/harness/results-expected.txt: Added.
        * legacy-animation-engine/fast/harness/results.html: Added.
        * legacy-animation-engine/fast/images/animate-list-item-image-assertion-expected.txt: Added.
        * legacy-animation-engine/fast/images/animate-list-item-image-assertion.html: Added.
        * legacy-animation-engine/fast/images/crossfade-client-not-removed-crash-expected.txt: Added.
        * legacy-animation-engine/fast/images/crossfade-client-not-removed-crash.html: Added.
        * legacy-animation-engine/fast/images/image-copy-memory-usage-expected.txt: Added.
        * legacy-animation-engine/fast/images/image-copy-memory-usage.html: Added.
        * legacy-animation-engine/fast/inline/quotation-text-changes-dynamically-expected.txt: Added.
        * legacy-animation-engine/fast/inline/quotation-text-changes-dynamically.html: Added.
        * legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transform-expected.html: Added.
        * legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transform.html: Added.
        * legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transition-expected.html: Added.
        * legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transition.html: Added.
        * legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-hardware-acceleration-expected.html: Added.
        * legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html: Added.
        * legacy-animation-engine/fast/media/matchmedium-query-api-expected.txt: Added.
        * legacy-animation-engine/fast/media/matchmedium-query-api.html: Added.
        * legacy-animation-engine/fast/media/media-query-list-01-expected.txt: Added.
        * legacy-animation-engine/fast/media/media-query-list-01.html: Added.
        * legacy-animation-engine/fast/media/mq-animation-expected.html: Added.
        * legacy-animation-engine/fast/media/mq-animation.html: Added.
        * legacy-animation-engine/fast/media/mq-transition-expected.html: Added.
        * legacy-animation-engine/fast/media/mq-transition.html: Added.
        * legacy-animation-engine/fast/multicol/crash-when-spanner-gets-moved-around-expected.txt: Added.
        * legacy-animation-engine/fast/multicol/crash-when-spanner-gets-moved-around.html: Added.
        * legacy-animation-engine/fast/multicol/multicol-fieldset-span-changes-expected.txt: Added.
        * legacy-animation-engine/fast/multicol/multicol-fieldset-span-changes.html: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/crash-when-switching-to-floating-expected.txt: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/crash-when-switching-to-floating.html: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/first-letter-create-expected.html: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/first-letter-create.html: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-expected.txt: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/spanner-crash.html: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/table-section-crash-expected.txt: Added.
        * legacy-animation-engine/fast/multicol/newmulticol/table-section-crash.html: Added.
        * legacy-animation-engine/fast/multicol/svg-inside-multicolumn-expected.txt: Added.
        * legacy-animation-engine/fast/multicol/svg-inside-multicolumn.html: Added.
        * legacy-animation-engine/fast/repaint/list-item-equal-style-change-no-repaint-expected.txt: Added.
        * legacy-animation-engine/fast/repaint/list-item-equal-style-change-no-repaint.html: Added.
        * legacy-animation-engine/fast/shadow-dom/shadow-host-animation-expected.html: Added.
        * legacy-animation-engine/fast/shadow-dom/shadow-host-animation.html: Added.
        * legacy-animation-engine/fast/shadow-dom/shadow-host-transition-expected.html: Added.
        * legacy-animation-engine/fast/shadow-dom/shadow-host-transition.html: Added.
        * legacy-animation-engine/fast/shadow-dom/slot-renderer-teardown-expected.txt: Added.
        * legacy-animation-engine/fast/shadow-dom/slot-renderer-teardown.html: Added.
        * legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt: Added.
        * legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-animation.html: Added.
        * legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation-expected.txt: Added.
        * legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html: Added.
        * legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation-expected.txt: Added.
        * legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html: Added.
        * legacy-animation-engine/fast/text/crash-complex-text-surrogate.html: Added.
        * legacy-animation-engine/fast/text/text-combine-crash-expected.txt: Added.
        * legacy-animation-engine/fast/text/text-combine-crash.html: Added.
        * legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay-expected.txt: Added.
        * legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-01-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-01.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-02-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-02.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-03-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-03.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-04-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-prefixed-04.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-01-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-01.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-02-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-02.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-03-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-03.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-04-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-04.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-immediate-start-event-after-ondemand-update-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-immediate-start-event-after-ondemand-update.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-iteration-event-short-iterations-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-iteration-event-short-iterations.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-name-none-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-name-none.html: Added.
        * legacy-animation-engine/imported/blink/animations/animation-shorthand-unprefixed-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/animation-shorthand-unprefixed.html: Added.
        * legacy-animation-engine/imported/blink/animations/background-shorthand-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/background-shorthand-crash.html: Added.
        * legacy-animation-engine/imported/blink/animations/base-render-style-body-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/base-render-style-body-crash.html: Added.
        * legacy-animation-engine/imported/blink/animations/base-render-style-font-selector-version-assert-expected.html: Added.
        * legacy-animation-engine/imported/blink/animations/base-render-style-font-selector-version-assert.html: Added.
        * legacy-animation-engine/imported/blink/animations/deleted-image-set-transition-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/deleted-image-set-transition-crash.html: Added.
        * legacy-animation-engine/imported/blink/animations/display-inline-style-adjust-expected.html: Added.
        * legacy-animation-engine/imported/blink/animations/display-inline-style-adjust.html: Added.
        * legacy-animation-engine/imported/blink/animations/display-none-cancels-nested-animations-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/display-none-cancels-nested-animations.html: Added.
        * legacy-animation-engine/imported/blink/animations/display-none-terminates-animation-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/display-none-terminates-animation.html: Added.
        * legacy-animation-engine/imported/blink/animations/empty-keyframe-animation-composited-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/empty-keyframe-animation-composited.html: Added.
        * legacy-animation-engine/imported/blink/animations/empty-keyframes-composited-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/empty-keyframes-composited.html: Added.
        * legacy-animation-engine/imported/blink/animations/events-with-short-duration-and-delay-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/events-with-short-duration-and-delay.html: Added.
        * legacy-animation-engine/imported/blink/animations/inherit-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/inherit-crash.html: Added.
        * legacy-animation-engine/imported/blink/animations/keyframe-timing-function-unset-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/keyframe-timing-function-unset-crash.html: Added.
        * legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-color-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-color-crash.html: Added.
        * legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-marker-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-marker-crash.html: Added.
        * legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-rems-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-rems.html: Added.
        * legacy-animation-engine/imported/blink/animations/wrong-keyframe-name-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/wrong-keyframe-name.html: Added.
        * legacy-animation-engine/imported/blink/animations/zero-duration-infinite-iterations-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/zero-duration-infinite-iterations.html: Added.
        * legacy-animation-engine/imported/blink/animations/zero-duration-large-start-delay-expected.txt: Added.
        * legacy-animation-engine/imported/blink/animations/zero-duration-large-start-delay.html: Added.
        * legacy-animation-engine/imported/blink/compositing/animation/hidden-animated-layer-should-not-have-scrollbars-expected.html: Added.
        * legacy-animation-engine/imported/blink/compositing/animation/hidden-animated-layer-should-not-have-scrollbars.html: Added.
        * legacy-animation-engine/imported/blink/compositing/layer-creation/incremental-destruction-expected.html: Added.
        * legacy-animation-engine/imported/blink/compositing/layer-creation/incremental-destruction.html: Added.
        * legacy-animation-engine/imported/blink/compositing/repaint/end-of-opacity-transition-expected.html: Added.
        * legacy-animation-engine/imported/blink/compositing/repaint/end-of-opacity-transition.html: Added.
        * legacy-animation-engine/imported/blink/compositing/squashing/animation-repaint-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/compositing/squashing/animation-repaint-crash.html: Added.
        * legacy-animation-engine/imported/blink/compositing/squashing/remove-from-grouped-mapping-on-reassignment-expected.txt: Added.
        * legacy-animation-engine/imported/blink/compositing/squashing/remove-from-grouped-mapping-on-reassignment.html: Added.
        * legacy-animation-engine/imported/blink/css3/calc/transition-asan-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/css3/calc/transition-asan-crash.html: Added.
        * legacy-animation-engine/imported/blink/fast/animation/animation-without-parent-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/fast/animation/animation-without-parent-crash.html: Added.
        * legacy-animation-engine/imported/blink/fast/animation/last-child-assert-expected.txt: Added.
        * legacy-animation-engine/imported/blink/fast/animation/last-child-assert.html: Added.
        * legacy-animation-engine/imported/blink/fast/css-generated-content/pseudo-animation-display-expected.txt: Added.
        * legacy-animation-engine/imported/blink/fast/css-generated-content/pseudo-animation-display.html: Added.
        * legacy-animation-engine/imported/blink/fast/text/output-isolate-at-end-of-line-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/fast/text/output-isolate-at-end-of-line-crash.html: Added.
        * legacy-animation-engine/imported/blink/http/tests/webfont/animation-assert-expected.html: Added.
        * legacy-animation-engine/imported/blink/http/tests/webfont/animation-assert.html: Added.
        * legacy-animation-engine/imported/blink/transitions/background-webkit-mask-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/background-webkit-mask-crash.html: Added.
        * legacy-animation-engine/imported/blink/transitions/no-transition-on-implicit-margins-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/no-transition-on-implicit-margins.html: Added.
        * legacy-animation-engine/imported/blink/transitions/remove-accelerated-transition-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/remove-accelerated-transition.html: Added.
        * legacy-animation-engine/imported/blink/transitions/resources/opacity-transform-transitions-inside-iframe-inner.html: Added.
        * legacy-animation-engine/imported/blink/transitions/transition-not-interpolable-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/transition-not-interpolable.html: Added.
        * legacy-animation-engine/imported/blink/transitions/transition-property-explicit-initial-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/transition-property-explicit-initial.html: Added.
        * legacy-animation-engine/imported/blink/transitions/transition-shape-outside-crash-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/transition-shape-outside-crash.html: Added.
        * legacy-animation-engine/imported/blink/transitions/unprefixed-perspective-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/unprefixed-perspective.html: Added.
        * legacy-animation-engine/imported/blink/transitions/unprefixed-transform-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/unprefixed-transform.html: Added.
        * legacy-animation-engine/imported/blink/transitions/zero-duration-should-not-cancel-expected.txt: Added.
        * legacy-animation-engine/imported/blink/transitions/zero-duration-should-not-cancel.html: Added.
        * legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-prefixed-04-expected.txt: Added.
        * legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-prefixed-04.html: Added.
        * legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-unprefixed-04-expected.txt: Added.
        * legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-unprefixed-04.html: Added.
        * legacy-animation-engine/js/dom/transition-cache-dictionary-crash-expected.txt: Added.
        * legacy-animation-engine/js/dom/transition-cache-dictionary-crash.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html: Added.
        * legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp.html: Added.
        * legacy-animation-engine/scrollbars/scrollbar-scrollbarparts-repaint-crash-expected.txt: Added.
        * legacy-animation-engine/scrollbars/scrollbar-scrollbarparts-repaint-crash.html: Added.
        * legacy-animation-engine/tables/mozilla/bugs/bug113235-1.html: Added.
        * legacy-animation-engine/tables/table-section-overflow-clip-crash-expected.txt: Added.
        * legacy-animation-engine/tables/table-section-overflow-clip-crash.html: Added.
        * legacy-animation-engine/transitions/3d/interrupted-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/3d/interrupted-transition.html: Added.
        * legacy-animation-engine/transitions/background-position-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/background-position-transitions.html: Added.
        * legacy-animation-engine/transitions/background-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/background-transitions.html: Added.
        * legacy-animation-engine/transitions/bad-transition-shorthand-crash-expected.txt: Added.
        * legacy-animation-engine/transitions/bad-transition-shorthand-crash.html: Added.
        * legacy-animation-engine/transitions/blendmode-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/blendmode-transitions.html: Added.
        * legacy-animation-engine/transitions/border-radius-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/border-radius-transition.html: Added.
        * legacy-animation-engine/transitions/cancel-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/cancel-transition.html: Added.
        * legacy-animation-engine/transitions/change-values-during-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/change-values-during-transition.html: Added.
        * legacy-animation-engine/transitions/clip-path-path-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/clip-path-path-transitions.html: Added.
        * legacy-animation-engine/transitions/clip-path-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/clip-path-transitions.html: Added.
        * legacy-animation-engine/transitions/clip-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/clip-transition.html: Added.
        * legacy-animation-engine/transitions/color-transition-all-expected.txt: Added.
        * legacy-animation-engine/transitions/color-transition-all.html: Added.
        * legacy-animation-engine/transitions/color-transition-premultiplied-expected.txt: Added.
        * legacy-animation-engine/transitions/color-transition-premultiplied.html: Added.
        * legacy-animation-engine/transitions/color-transition-rounding-expected.txt: Added.
        * legacy-animation-engine/transitions/color-transition-rounding.html: Added.
        * legacy-animation-engine/transitions/created-while-suspended-expected.txt: Added.
        * legacy-animation-engine/transitions/created-while-suspended.html: Added.
        * legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Added.
        * legacy-animation-engine/transitions/cross-fade-background-image.html: Added.
        * legacy-animation-engine/transitions/cross-fade-border-image.html: Added.
        * legacy-animation-engine/transitions/crossfade-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/crossfade-transition.html: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-color-expected.txt: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-color.html: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-length-expected.txt: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-length.html: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-shadow-expected.txt: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-shadow.html: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-svg-length-expected.txt: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-svg-length.html: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-transform-expected.txt: Added.
        * legacy-animation-engine/transitions/cubic-bezier-overflow-transform.html: Added.
        * legacy-animation-engine/transitions/default-timing-function.html: Added.
        * legacy-animation-engine/transitions/delay-expected.txt: Added.
        * legacy-animation-engine/transitions/delay.html: Added.
        * legacy-animation-engine/transitions/equivalent-background-image-no-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/equivalent-background-image-no-transition.html: Added.
        * legacy-animation-engine/transitions/extra-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/extra-transition.html: Added.
        * legacy-animation-engine/transitions/flex-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/flex-transitions.html: Added.
        * legacy-animation-engine/transitions/font-family-during-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/font-family-during-transition.html: Added.
        * legacy-animation-engine/transitions/frames-timing-function-expected.txt: Added.
        * legacy-animation-engine/transitions/frames-timing-function.html: Added.
        * legacy-animation-engine/transitions/hang-with-bad-transition-list-expected.txt: Added.
        * legacy-animation-engine/transitions/hang-with-bad-transition-list.html: Added.
        * legacy-animation-engine/transitions/inherit-expected.txt: Added.
        * legacy-animation-engine/transitions/inherit-other-props-expected.txt: Added.
        * legacy-animation-engine/transitions/inherit-other-props.html: Added.
        * legacy-animation-engine/transitions/inherit.html: Added.
        * legacy-animation-engine/transitions/interrupt-transform-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/interrupt-transform-transition.html: Added.
        * legacy-animation-engine/transitions/interrupt-zero-duration-expected.txt: Added.
        * legacy-animation-engine/transitions/interrupt-zero-duration.html: Added.
        * legacy-animation-engine/transitions/interrupted-accelerated-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/interrupted-accelerated-transition.html: Added.
        * legacy-animation-engine/transitions/interrupted-all-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/interrupted-all-transition.html: Added.
        * legacy-animation-engine/transitions/lengthsize-transition-to-from-auto-expected.txt: Added.
        * legacy-animation-engine/transitions/lengthsize-transition-to-from-auto.html: Added.
        * legacy-animation-engine/transitions/longhand-vs-shorthand-initial-expected.txt: Added.
        * legacy-animation-engine/transitions/longhand-vs-shorthand-initial.html: Added.
        * legacy-animation-engine/transitions/mask-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/mask-transitions.html: Added.
        * legacy-animation-engine/transitions/matched-transform-functions-expected.txt: Added.
        * legacy-animation-engine/transitions/matched-transform-functions.html: Added.
        * legacy-animation-engine/transitions/min-max-width-height-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/min-max-width-height-transitions.html: Added.
        * legacy-animation-engine/transitions/mismatched-shadow-styles-expected.txt: Added.
        * legacy-animation-engine/transitions/mismatched-shadow-styles.html: Added.
        * legacy-animation-engine/transitions/mismatched-shadow-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/mismatched-shadow-transitions.html: Added.
        * legacy-animation-engine/transitions/mixed-type-expected.txt: Added.
        * legacy-animation-engine/transitions/mixed-type.html: Added.
        * legacy-animation-engine/transitions/move-after-transition.html: Added.
        * legacy-animation-engine/transitions/multiple-background-size-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/multiple-background-size-transitions.html: Added.
        * legacy-animation-engine/transitions/multiple-background-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/multiple-background-transitions.html: Added.
        * legacy-animation-engine/transitions/multiple-mask-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/multiple-mask-transitions.html: Added.
        * legacy-animation-engine/transitions/multiple-shadow-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/multiple-shadow-transitions.html: Added.
        * legacy-animation-engine/transitions/multiple-text-shadow-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/multiple-text-shadow-transition.html: Added.
        * legacy-animation-engine/transitions/negative-delay-expected.txt: Added.
        * legacy-animation-engine/transitions/negative-delay.html: Added.
        * legacy-animation-engine/transitions/opacity-transition-zindex-expected.txt: Added.
        * legacy-animation-engine/transitions/opacity-transition-zindex.html: Added.
        * legacy-animation-engine/transitions/override-transition-crash-expected.txt: Added.
        * legacy-animation-engine/transitions/override-transition-crash.html: Added.
        * legacy-animation-engine/transitions/remove-transition-style-expected.txt: Added.
        * legacy-animation-engine/transitions/remove-transition-style.html: Added.
        * legacy-animation-engine/transitions/repeated-firing-background-color-expected.txt: Added.
        * legacy-animation-engine/transitions/repeated-firing-background-color.html: Added.
        * legacy-animation-engine/transitions/resources/Aurora.jpg: Added.
        * legacy-animation-engine/transitions/resources/interrupted-accelerated-transition-final.html: Added.
        * legacy-animation-engine/transitions/resources/transition-end-event-destroy-iframe-inner.html: Added.
        * legacy-animation-engine/transitions/resources/transition-test-helpers.js: Added.
        (roundNumber):
        (isCloseEnough):
        (isShadow):
        (compareRGB):
        (parseCrossFade):
        (extractPathValues):
        (parseClipPath):
        * legacy-animation-engine/transitions/retargetted-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/retargetted-transition.html: Added.
        * legacy-animation-engine/transitions/rounded-rect-becomes-non-renderable-while-transitioning-expected.txt: Added.
        * legacy-animation-engine/transitions/rounded-rect-becomes-non-renderable-while-transitioning.html: Added.
        * legacy-animation-engine/transitions/shadow-expected.txt: Added.
        * legacy-animation-engine/transitions/shadow.html: Added.
        * legacy-animation-engine/transitions/shape-outside-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/shape-outside-transitions.html: Added.
        * legacy-animation-engine/transitions/shorthand-border-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/shorthand-border-transitions.html: Added.
        * legacy-animation-engine/transitions/shorthand-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/shorthand-transitions.html: Added.
        * legacy-animation-engine/transitions/start-transform-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/start-transform-transition.html: Added.
        * legacy-animation-engine/transitions/started-while-suspended-expected.txt: Added.
        * legacy-animation-engine/transitions/started-while-suspended.html: Added.
        * legacy-animation-engine/transitions/steps-timing-function-expected.txt: Added.
        * legacy-animation-engine/transitions/steps-timing-function.html: Added.
        * legacy-animation-engine/transitions/suspend-transform-transition-expected.png: Added.
        * legacy-animation-engine/transitions/suspend-transform-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/suspend-transform-transition.html: Added.
        * legacy-animation-engine/transitions/svg-layout-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/svg-layout-transition.html: Added.
        * legacy-animation-engine/transitions/svg-text-shadow-transition.html: Added.
        * legacy-animation-engine/transitions/svg-transitions-expected.txt: Added.
        * legacy-animation-engine/transitions/svg-transitions.html: Added.
        * legacy-animation-engine/transitions/text-indent-transition-expected.txt: Added.
        * legacy-animation-engine/transitions/text-indent-transition.html: Added.
        * legacy-animation-engine/transitions/transform-op-list-match-expected.txt: Added.
        * legacy-animation-engine/transitions/transform-op-list-match.html: Added.
        * legacy-animation-engine/transitions/transform-op-list-no-match-expected.txt: Added.
        * legacy-animation-engine/transitions/transform-op-list-no-match.html: Added.
        * legacy-animation-engine/transitions/transition-display-property-2-expected.html: Added.
        * legacy-animation-engine/transitions/transition-display-property-2.html: Added.
        * legacy-animation-engine/transitions/transition-display-property-expected.html: Added.
        * legacy-animation-engine/transitions/transition-display-property.html: Added.
        * legacy-animation-engine/transitions/transition-drt-api-delay-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-drt-api-delay.html: Added.
        * legacy-animation-engine/transitions/transition-drt-api-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-drt-api.html: Added.
        * legacy-animation-engine/transitions/transition-duration-cleared-in-transitionend-crash-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-duration-cleared-in-transitionend-crash.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-all-properties-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-all-properties.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-attributes-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-attributes.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-container-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-container.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-create-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-create.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-destroy-iframe-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-destroy-iframe.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-destroy-renderer-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-destroy-renderer.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-helpers.js: Added.
        (recordTransitionEndEvent):
        (processEndEvents.compareEventInfo):
        (processEndEvents.examineResults):
        (processEndEvents):
        (_endFunction):
        (startTest):
        (runTransitionTest):
        * legacy-animation-engine/transitions/transition-end-event-left-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-left.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-01-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-01.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-02-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-02.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-03-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-03.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-04-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-multiple-04.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-nested-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-nested.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-prefixed-01-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-prefixed-01.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-prefixed-02-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-prefixed-02.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-prefixed-03-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-prefixed-03.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-rendering-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-rendering.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-set-none-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-set-none.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-transform-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-transform.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-01-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-01.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-02-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-02.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-03-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-03.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-04-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-unprefixed-04.html: Added.
        * legacy-animation-engine/transitions/transition-end-event-window-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-end-event-window.html: Added.
        * legacy-animation-engine/transitions/transition-hit-test-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-hit-test-transform-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-hit-test-transform.html: Added.
        * legacy-animation-engine/transitions/transition-hit-test.html: Added.
        * legacy-animation-engine/transitions/transition-in-delay-phase-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-in-delay-phase.html: Added.
        * legacy-animation-engine/transitions/transition-on-element-with-content-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-on-element-with-content.html: Added.
        * legacy-animation-engine/transitions/transition-shorthand-delay-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-shorthand-delay.html: Added.
        * legacy-animation-engine/transitions/transition-timing-function-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-timing-function.html: Added.
        * legacy-animation-engine/transitions/transition-to-from-auto-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-to-from-auto.html: Added.
        * legacy-animation-engine/transitions/transition-to-from-undefined-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-to-from-undefined.html: Added.
        * legacy-animation-engine/transitions/transition-transform-translate-calculated-length-crash-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-transform-translate-calculated-length-crash.html: Added.
        * legacy-animation-engine/transitions/transition-unknown-property-ignore-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-unknown-property-ignore.html: Added.
        * legacy-animation-engine/transitions/transition-with-calc-spin-expected.txt: Added.
        * legacy-animation-engine/transitions/transition-with-calc-spin.html: Added.
        * legacy-animation-engine/transitions/transitions-parsing-expected.txt: Added.
        * legacy-animation-engine/transitions/transitions-parsing.html: Added.
        * legacy-animation-engine/transitions/visited-link-color-expected.txt: Added.
        * legacy-animation-engine/transitions/visited-link-color.html: Added.
        * legacy-animation-engine/transitions/zero-duration-in-list-expected.txt: Added.
        * legacy-animation-engine/transitions/zero-duration-in-list.html: Added.
        * legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-end-expected.txt: Added.
        * legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-end.html: Added.
        * legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-start-expected.txt: Added.
        * legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-start.html: Added.
        * legacy-animation-engine/transitions/zero-duration-without-units-expected.txt: Added.
        * legacy-animation-engine/transitions/zero-duration-without-units.html: Added.
        * platform/gtk/TestExpectations:
        * platform/gtk/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/3d/replace-filling-transform-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-border-image-source-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-list-style-image-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/missing-values-first-keyframe-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/opacity-transform-animation-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/state-at-end-event-expected.png: Added.
        * platform/gtk/legacy-animation-engine/animations/state-at-end-event-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/animations/suspend-transform-animation-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/layer-creation/overlap-animation-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Added.
        * platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/fast/css/transition-color-unspecified-expected.png: Added.
        * platform/gtk/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.png: Added.
        * platform/gtk/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/transitions/cross-fade-background-image-expected.png: Added.
        * platform/gtk/legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/transitions/cross-fade-border-image-expected.png: Added.
        * platform/gtk/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/transitions/default-timing-function-expected.png: Added.
        * platform/gtk/legacy-animation-engine/transitions/default-timing-function-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/transitions/move-after-transition-expected.png: Added.
        * platform/gtk/legacy-animation-engine/transitions/move-after-transition-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/transitions/opacity-transition-zindex-expected.png: Added.
        * platform/gtk/legacy-animation-engine/transitions/suspend-transform-transition-expected.png: Added.
        * platform/gtk/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.png: Added.
        * platform/gtk/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Added.
        * platform/gtk/legacy-animation-engine/transitions/transition-end-event-rendering-expected.png: Added.
        * platform/ios-simulator-wk2/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/ios-wk1/legacy-animation-engine/animations/trigger-container-scroll-simple-expected.txt: Added.
        * platform/ios-wk1/legacy-animation-engine/compositing/backing/backface-visibility-flip-expected.txt: Added.
        * platform/ios-wk1/legacy-animation-engine/transitions/default-timing-function-expected.txt: Added.
        * platform/ios-wk2/TestExpectations:
        * platform/ios-wk2/legacy-animation-engine/transitions/default-timing-function-expected.png: Added.
        * platform/ios/TestExpectations:
        * platform/ios/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/3d/replace-filling-transform-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/opacity-transform-animation-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/state-at-end-event-expected.txt: Added.
        * platform/ios/legacy-animation-engine/animations/suspend-transform-animation-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/contents-scale/animating-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.png: Added.
        * platform/ios/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Added.
        * platform/ios/legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Added.
        * platform/ios/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Added.
        * platform/ios/legacy-animation-engine/fast/dom/event-handler-attributes-expected.txt: Added.
        * platform/ios/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Added.
        * platform/ios/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Added.
        * platform/ios/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Added.
        * platform/ios/legacy-animation-engine/transitions/default-timing-function-expected.txt: Added.
        * platform/ios/legacy-animation-engine/transitions/move-after-transition-expected.txt: Added.
        * platform/ios/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Added.
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/mac-yosemite/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Added.
        * platform/mac/TestExpectations:
        * platform/mac/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-border-image-source-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-list-style-image-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Added.
        * platform/mac/legacy-animation-engine/animations/state-at-end-event-expected.png: Added.
        * platform/mac/legacy-animation-engine/animations/state-at-end-event-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/animation/busy-indicator-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.png: Added.
        * platform/mac/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Added.
        * platform/mac/legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Added.
        * platform/mac/legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Added.
        * platform/mac/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Added.
        * platform/mac/legacy-animation-engine/fast/css/transition-color-unspecified-expected.png: Added.
        * platform/mac/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Added.
        * platform/mac/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.png: Added.
        * platform/mac/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Added.
        * platform/mac/legacy-animation-engine/transitions/cross-fade-background-image-expected.png: Added.
        * platform/mac/legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Added.
        * platform/mac/legacy-animation-engine/transitions/cross-fade-border-image-expected.png: Added.
        * platform/mac/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Added.
        * platform/mac/legacy-animation-engine/transitions/default-timing-function-expected.png: Added.
        * platform/mac/legacy-animation-engine/transitions/default-timing-function-expected.txt: Added.
        * platform/mac/legacy-animation-engine/transitions/move-after-transition-expected.png: Added.
        * platform/mac/legacy-animation-engine/transitions/move-after-transition-expected.txt: Added.
        * platform/mac/legacy-animation-engine/transitions/opacity-transition-zindex-expected.png: Added.
        * platform/mac/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.png: Added.
        * platform/mac/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Added.
        * platform/mac/legacy-animation-engine/transitions/transition-end-event-rendering-expected.png: Added.
        * platform/win/TestExpectations:
        * platform/win/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Added.
        * platform/win/legacy-animation-engine/animations/state-at-end-event-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Added.
        * platform/win/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Added.
        * platform/win/legacy-animation-engine/fast/css/image-set-value-not-removed-crash-expected.txt: Added.
        * platform/win/legacy-animation-engine/fast/harness/results-expected.txt: Added.
        * platform/win/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Added.
        * platform/win/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Added.
        * platform/win/legacy-animation-engine/transitions/default-timing-function-expected.txt: Added.
        * platform/wincairo/TestExpectations:
        * platform/wincairo/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/animations/state-at-end-event-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/transitions/default-timing-function-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/transitions/move-after-transition-expected.txt: Added.
        * platform/wincairo/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Added.
        * platform/wk2/TestExpectations:
        * platform/wpe/TestExpectations:
        * platform/wpe/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/additive-transform-animations-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/lineheight-animation-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/simultaneous-start-transform-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/state-at-end-event-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/animations/width-using-ems-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/transitions/default-timing-function-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/transitions/move-after-transition-expected.txt: Added.
        * platform/wpe/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Added.

2018-04-09  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline WebCryptoAPI tests for High Sierra.

        Unreviewed test gardening.

        * platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt: Added.
        * platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Added.
        * platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.worker-expected.txt: Added.
        * platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.https.worker-expected.txt: Added.
        * platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.https.worker-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.worker-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.https.worker-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.https.worker-expected.txt: Added.

2018-04-09  Brendan McLoughlin  <brendan@bocoup.com>

        sync remaining web-platform-tests to 94b33b573a069ae5170104ca581a354a35762536
        https://bugs.webkit.org/show_bug.cgi?id=184333

        Reviewed by Youenn Fablet.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click-404-expected.txt:
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker-expected.txt: Added.
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker-expected.png: Added.
        * platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:
        * platform/mac/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt:
        * platform/wpe/TestExpectations:
        * tests-options.json:

2018-04-07  Youenn Fablet  <youenn@apple.com>

        Response headers should be filtered when sent from NetworkProcess to WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=184310

        Unreviewed.
        Fixed bogus const declaration.
        Improved sub test titles.

        * http/wpt/service-workers/header-filtering.https-expected.txt:
        * http/wpt/service-workers/header-filtering.https.html:

2018-04-06  Youenn Fablet  <youenn@apple.com>

        Response headers should be filtered when sent from NetworkProcess to WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=184310

        Reviewed by Ryosuke Niwa.

        Rebased tests for WK2 as Server response header is now filtered out for cross-origin and not fetch/XHR loads.

        * http/wpt/service-workers/header-filtering-worker.js: Added.
        * http/wpt/service-workers/header-filtering.https-expected.txt: Added.
        Some tests are failing as navigation loads are not yet filtered and we
        have no good way yet to detect cross origin loads.
        * http/wpt/service-workers/header-filtering.https.html: Added.
        * http/wpt/service-workers/resources/header-filtering-iframe.html: Added.
        * http/wpt/service-workers/resources/response-full-of-headers.py: Added.
        * http/tests/webarchive/cross-origin-stylesheet-crash-expected.txt: Added.
        * http/tests/webarchive/test-preload-resources-expected.txt: Added.
        * platform/mac-wk1/http/tests/webarchive/cross-origin-stylesheet-crash-expected.txt: Added.
        * platform/mac-wk1/http/tests/webarchive/test-preload-resources-expected.txt: Added.
        * platform/win/http/tests/webarchive/cross-origin-stylesheet-crash-expected.txt: Added.
        * platform/win/http/tests/webarchive/test-preload-resources-expected.txt: Added.

2018-04-06  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/loader/submit-form-while-parsing-2.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184051

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-04-06  Ryan Haddad  <ryanhaddad@apple.com>

        Mark three wpt LayoutTests as slow on iOS
        https://bugs.webkit.org/show_bug.cgi?id=184278

        Unreviewed test gardening.

        These tests were marked as slow for macOS debug, but not for iOS.

        * platform/ios/TestExpectations:

2018-04-06  Youenn Fablet  <youenn@apple.com>

        Import wpt webaudio tests
        https://bugs.webkit.org/show_bug.cgi?id=184348

        Reviewed by Eric Carlson.

        * TestExpectations:
        * resources/testharnessreport.js: Mock AudioContext with webkitAudioContext for wpt tests only.

2018-04-06  Ms2ger  <Ms2ger@igalia.com>

        Implement createImageBitmap(Blob)
        https://bugs.webkit.org/show_bug.cgi?id=183247

        Reviewed by Dean Jackson.

        Update expectations.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:

2018-04-06  Zalan Bujtas  <zalan@apple.com>

        Flex child does not get repainted when it is inserted back to the render tree.
        https://bugs.webkit.org/show_bug.cgi?id=184361
        <rdar://problem/34528716>

        Reviewed by Antti Koivisto.

        * fast/flexbox/missing-repaint-when-flext-item-never-had-layout-expected.txt: Added.
        * fast/flexbox/missing-repaint-when-flext-item-never-had-layout.html: Added.

2018-04-06  Daniel Bates  <dabates@apple.com>

        Emit a more informative message when a script is blocked due to "X-Content-Type: nosniff"
        https://bugs.webkit.org/show_bug.cgi?id=184359

        Reviewed by Per Arne Vollan.

        Adds a test to ensure we block importing scripts into a Web Worker whose HTTP responses
        include "X-Content-Type: nosniff" and have a non script MIME type.

        Also update existing expected results.

        * http/tests/security/contentTypeOptions/invalid-content-type-options-allowed-expected.txt:
        * http/tests/security/contentTypeOptions/nosniff-dynamic-script-blocked-expected.txt:
        * http/tests/security/contentTypeOptions/nosniff-importScript-blocked-expected.txt: Added.
        * http/tests/security/contentTypeOptions/nosniff-importScript-blocked.html: Added.
        * http/tests/security/contentTypeOptions/nosniff-script-allowed-expected.txt:
        * http/tests/security/contentTypeOptions/nosniff-script-blocked-expected.txt:
        * http/tests/security/contentTypeOptions/nosniff-script-without-content-type-blocked-expected.txt:
        * http/tests/security/contentTypeOptions/resources/nosniff-importScript-blocked.js: Added.
        (let.mimeType.of.unscriptyMIMETypes.catch):
        * http/tests/security/contentTypeOptions/resources/script-with-header.pl:
        * http/tests/security/module-correct-mime-types-expected.txt:

2018-04-06  Daniel Bates  <dabates@apple.com>

        importScripts() should throw exception with a reason when it fails to load a script from the network
        https://bugs.webkit.org/show_bug.cgi?id=184345

        Reviewed by Alexey Proskuryakov.

        Update expected results.

        * http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
        * http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
        * http/tests/workers/worker-importScripts-expected.txt:

2018-04-06  Ryan Haddad  <ryanhaddad@apple.com>

        Remove pass expectation for LayoutTest imported/w3c/web-platform-tests/FileAPI/url/sandboxed-iframe.html
        https://bugs.webkit.org/show_bug.cgi?id=184362

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-04-06  Brendan McLoughlin  <brendan@bocoup.com>

        Sync 2dcontext, FileAPI, IndexedDB, background-fetch, credential-management, custom-elements, dom, encoding, and fetch web-platform-tests to 94b33b573a069ae5170104ca581a354a35762536
        https://bugs.webkit.org/show_bug.cgi?id=184299

        Reviewed by Youenn Fablet.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-simulator/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/mac-wk1/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt: Added.
        * platform/mac-wk1/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt: Added.
        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:

2018-04-05  Youenn Fablet  <youenn@apple.com>

        Add a test for scoped cookies used to load AppCache resources
        https://bugs.webkit.org/show_bug.cgi?id=184315

        Reviewed by Ryosuke Niwa.

        * http/tests/appcache/document-cookie-http-only-expected.txt:
        * http/tests/appcache/document-cookie-http-only.php:
        * http/tests/appcache/resources/manifest-protected-script.php: Added.
        * http/tests/appcache/resources/scope1/cookie-protected-manifest.php: Added.
        * http/tests/appcache/resources/scope2/cookie-protected-script.php: Added.

2018-04-05  Zalan Bujtas  <zalan@apple.com>

        Folding anonymous blocks should not result in deleting content.
        https://bugs.webkit.org/show_bug.cgi?id=184339
        <rdar://problem/37327428>

        Reviewed by Antti Koivisto.

        * fast/block/crash-when-subtree-is-still-attached-expected.txt: Progressing. This test does not 
        intend to remove "foobar" text at all.
        * fast/block/crash-while-folding-anonymous-blocks-expected.txt: Added.
        * fast/block/crash-while-folding-anonymous-blocks.html: Added.

2018-03-21  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline tests for High Sierra.

        Unreviewed test gardening.

        * platform/mac-sierra/fast/forms/input-table-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-table-expected.txt.
        * platform/mac-sierra/tables/mozilla/bugs/bug30692-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug30692-expected.txt.
        * platform/mac/fast/forms/input-table-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.txt:

2018-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for http/tests/media/video-buffered-range-contains-currentTime.html.
        https://trac.webkit.org/changeset/223243/webkit

        Unreviewed test gardening.

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

2018-04-04  Youenn Fablet  <youenn@apple.com>

        http/wpt/loading/redirect-headers.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=184317

        Reviewed by Ryosuke Niwa.

        Wait for the completion of the fetch to end the test.

        * http/wpt/loading/redirect-headers.html:

2018-04-04  Youenn Fablet  <youenn@apple.com>

        WebRTC data channel only applications require capture permissions for direct connections
        https://bugs.webkit.org/show_bug.cgi?id=174500
        <rdar://problem/34134281>

        Reviewed by Eric Carlson.

        * webrtc/datachannel/mdns-ice-candidates-expected.txt: Added.
        * webrtc/datachannel/mdns-ice-candidates.html: Added.

2018-04-04  Ryan Haddad  <ryanhaddad@apple.com>

        Mark storage/websql/database-lock-after-reload.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173928

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-04-04  Brendan McLoughlin  <brendan@bocoup.com>

        Resync idlharness web-platform-tests up to 94b33b573a069ae5170104ca581a354a35762536
        https://bugs.webkit.org/show_bug.cgi?id=184278

        Reviewed by Youenn Fablet.

        * TestExpectations:
        * http/wpt/webauthn/idl.https.html:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-04-04  Youenn Fablet  <youenn@apple.com>

        Add a test for HttpOnly cookies used to load AppCache resources
        https://bugs.webkit.org/show_bug.cgi?id=184305
        <rdar://problem/39175648>

        Reviewed by Brady Eidson.

        * http/tests/appcache/document-cookie-http-only-expected.txt: Added.
        * http/tests/appcache/document-cookie-http-only.php: Added.

2018-04-04  Ms2ger  <Ms2ger@igalia.com>

        Test gardening for GTK.
        https://bugs.webkit.org/show_bug.cgi?id=184298

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
          - update expectations for fast/mediastream tests for the libwebrtc
            integration in r230152
          - skip http/wpt/loading/redirect-headers.html, which was added in
            r230224, because the API it uses is only implemented for cocoa
            (https://bugs.webkit.org/show_bug.cgi?id=184295)
        * platform/wpe/TestExpectations:
          - skip http/wpt/loading/redirect-headers.html, which was added in
            r230224, because the API it uses is only implemented for cocoa
            (https://bugs.webkit.org/show_bug.cgi?id=184295)

2018-04-03  Youenn Fablet  <youenn@apple.com>

        NetworkResourceLoader does not need to expose all redirect response headers
        https://bugs.webkit.org/show_bug.cgi?id=184114
        <rdar://problem/39010557>

        Reviewed by Ryosuke Niwa.

        New test verifies that headers are filtered. Witout filtering, 9 headers would be visible to the injected bundle, while 6 headers reamin after filtering.

        * http/wpt/loading/redirect-headers-expected.txt: Added.
        * http/wpt/loading/redirect-headers.html: Added.
        * platform/mac-wk1/TestExpectations: Skipped new test for WK1.

2018-04-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/appcache/interrupted-update.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184061

        Unreviewed test gardening.

        * TestExpectations:

2018-04-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark storage/indexeddb/dont-wedge-private.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184058

        Unreviewed test gardening.

        * TestExpectations:

2018-04-03  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/workers/service/service-worker-cache-api.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184245

        Unreviewed test gardening.

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

2018-04-02  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Followup(r230063): Add test a layout test for https://bugs.webkit.org/show_bug.cgi?id=183972
        https://bugs.webkit.org/show_bug.cgi?id=184162

        Reviewed by Daniel Bates.

        Without r230063, running run-webkit-tests -g for this test will crash.

        * svg/dom/animated-tearoff-list-remove-target-expected.txt: Added.
        * svg/dom/animated-tearoff-list-remove-target.html: Added.

2018-04-02  Jer Noble  <jer.noble@apple.com>

        AudioBufferSourceNode start method causes OfflineAudioContext to start running
        https://bugs.webkit.org/show_bug.cgi?id=181939
        <rdar://problem/36755393>

        Reviewed by Eric Carlson.

        * webaudio/offlineaudiocontext-restriction-expected.txt: Added.
        * webaudio/offlineaudiocontext-restriction.html: Added.

2018-03-31  Brent Fulgham  <bfulgham@apple.com>

        Show punycode if URL contains hyphen character
        https://bugs.webkit.org/show_bug.cgi?id=184221
        <rdar://problem/38044633>

        Reviewed by Darin Adler.

        * fast/url/host-expected.txt:
        * fast/url/host.html:

2018-03-30  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: tint all pixels drawn by shader program when hovering ShaderProgramTreeElement
        https://bugs.webkit.org/show_bug.cgi?id=175223

        Reviewed by Matt Baker.

        * inspector/canvas/setShaderProgramHighlighted-expected.txt: Added.
        * inspector/canvas/setShaderProgramHighlighted.html: Added.

2018-03-30  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html
        https://bugs.webkit.org/show_bug.cgi?id=178472

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-03-30  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184198

        Unreviewed test gardening.

        * TestExpectations:

2018-03-30  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/unit-tests/debounce.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184057

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-03-29  Antoine Quint  <graouts@apple.com>

        [Web Animations] CSSTransition objects should have fill: backwards to allow seeking prior to start time
        https://bugs.webkit.org/show_bug.cgi?id=184129

        Reviewed by Dean Jackson.

        Make one test opt into CSS Animations and CSS Transitions as Web Animations and fix expectations for a CSSTransition
        test which mistakenly assumes the fill to be "none".

        * transitions/transition-in-delay-phase.html:
        * webanimations/css-transitions.html:

2018-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex7-event_order.htm as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184116

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-03-29  Antoine Quint  <graouts@apple.com>

        [Web Animations] Correctly obtain the timing function for a given keyframe
        https://bugs.webkit.org/show_bug.cgi?id=184146

        Reviewed by Dean Jackson.

        Make 4 tests opt into CSS Animations and CSS Transitions as Web Animations.

        * animations/keyframe-timing-functions-transform.html:
        * animations/keyframe-timing-functions.html:
        * animations/keyframe-timing-functions2.html:
        * animations/missing-keyframe-properties-timing-function.html:

2018-03-29  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r230087.

        Introduced LayoutTest failures.

        Reverted changeset:

        "FrameSelection::appearanceUpdateTimerFired should be robust
        against layout passes underneath it"
        https://bugs.webkit.org/show_bug.cgi?id=183395
        https://trac.webkit.org/changeset/230087

2018-03-29  Wenson Hsieh  <wenson_hsieh@apple.com>

        FrameSelection::appearanceUpdateTimerFired should be robust against layout passes underneath it
        https://bugs.webkit.org/show_bug.cgi?id=183395
        <rdar://problem/38055732>

        Reviewed by Zalan Bujtas.

        Add a new layout test that passes if we didn't crash.

        * editing/selection/iframe-update-selection-appearance-expected.txt: Added.
        * editing/selection/iframe-update-selection-appearance.html: Added.

2018-03-29  Per Arne Vollan  <pvollan@apple.com>

        The test http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html is failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=184134

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-29  Per Arne Vollan  <pvollan@apple.com>

        The test transitions/opacity-transition-zindex.html is timing out on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=184133

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-28  Antoine Quint  <graouts@apple.com>

        [Web Animations] Stop using internals.pauseTransitionAtTimeOnElement() in favor of Web Animations API for transitions tests
        https://bugs.webkit.org/show_bug.cgi?id=184097

        Reviewed by Dean Jackson.

        Make 55 tests opt into CSS Animations and CSS Transitions as Web Animations. These tests used the internals.pauseTransitionAtTimeOnElement()
        method, but this method should be going away since the Web Animations API allows seeking and pausing. To support this, we make
        transition-test-helpers.js use the Web Animations API instead of internals.pauseTransitionAtTimeOnElement() if the tests has opted
        into CSS Animations and CSS Transitions as Web Animations and we know it's safe to use these APIs.

        Overall, 20 of those tests used to fail with the flag on before this change.

        * compositing/animation/animated-composited-inside-hidden.html:
        * compositing/animation/computed-style-during-delay.html:
        * compositing/reflections/nested-reflection-transition.html:
        * compositing/transitions/scale-transition-no-start.html:
        * compositing/transitions/singular-scale-transition.html:
        * css3/calc/transitions-dependent.html:
        * css3/calc/transitions.html:
        * transitions/background-position-transitions.html:
        * transitions/background-transitions.html:
        * transitions/blendmode-transitions.html:
        * transitions/border-radius-transition.html:
        * transitions/clip-path-path-transitions.html:
        * transitions/clip-transition.html:
        * transitions/color-transition-all.html:
        * transitions/color-transition-rounding.html:
        * transitions/cross-fade-background-image.html:
        * transitions/cubic-bezier-overflow-color.html:
        * transitions/cubic-bezier-overflow-shadow.html:
        * transitions/cubic-bezier-overflow-transform.html:
        * transitions/default-timing-function.html:
        * transitions/delay.html:
        * transitions/flex-transitions.html:
        * transitions/font-family-during-transition.html:
        * transitions/frames-timing-function.html:
        * transitions/mask-transitions.html:
        * transitions/min-max-width-height-transitions.html:
        * transitions/mismatched-shadow-styles.html:
        * transitions/mismatched-shadow-transitions.html:
        * transitions/mixed-type.html:
        * transitions/move-after-transition.html:
        * transitions/multiple-background-size-transitions.html:
        * transitions/multiple-mask-transitions.html:
        * transitions/multiple-shadow-transitions.html:
        * transitions/negative-delay.html:
        * transitions/opacity-transition-zindex.html:
        * transitions/resources/transition-test-helpers.js:
        * transitions/shape-outside-transitions.html:
        * transitions/shorthand-border-transitions.html:
        * transitions/shorthand-transitions.html:
        * transitions/steps-timing-function.html:
        * transitions/svg-layout-transition.html:
        * transitions/svg-text-shadow-transition.html:
        * transitions/svg-transitions.html:
        * transitions/text-indent-transition.html:
        * transitions/transform-op-list-match.html:
        * transitions/transform-op-list-no-match.html:
        * transitions/transition-end-event-rendering.html:
        * transitions/transition-hit-test.html:
        * transitions/transition-on-element-with-content.html:
        * transitions/transition-shorthand-delay.html:
        * transitions/transition-timing-function.html:
        * transitions/transition-to-from-auto.html:
        * transitions/transition-to-from-undefined.html:
        * transitions/visited-link-color.html:
        * transitions/zero-duration-in-list.html:
        * transitions/zero-duration-with-non-zero-delay-start.html:

2018-03-28  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement more CSSPropertyBlendingClient methods
        https://bugs.webkit.org/show_bug.cgi?id=184077

        Reviewed by Dean Jackson.

        Make 31 tests opt into the CSS Animations and CSS Transitions as Web Animations feature.

        * animations/3d/replace-filling-transform.html:
        * animations/additive-transform-animations.html:
        * animations/animation-direction-reverse-fill-mode-hardware.html:
        * animations/combo-transform-rotate+scale.html:
        * animations/simultaneous-start-transform.html:
        * compositing/animation/layer-for-filling-animation.html:
        * compositing/reflections/animation-inside-reflection.html:
        * compositing/reflections/nested-reflection-animated.html:
        * css3/filters/backdrop/animation.html:
        * css3/filters/composited-during-animation.html:
        * css3/filters/filter-animation-from-none-hw.html:
        * css3/filters/filter-animation-from-none-multi-hw.html:
        * css3/filters/filter-animation-from-none-multi.html:
        * css3/filters/filter-animation-from-none.html:
        * css3/filters/filter-animation-hw.html:
        * css3/filters/filter-animation-multi-hw.html:
        * css3/filters/filter-animation-multi.html:
        * css3/filters/filter-animation.html:
        * css3/masking/clip-path-animation.html:
        * fast/filter-image/filter-image-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
        * transitions/clip-path-transitions.html:
        * transitions/color-transition-premultiplied.html:
        * transitions/cross-fade-border-image.html:
        * transitions/cubic-bezier-overflow-length.html:
        * transitions/cubic-bezier-overflow-svg-length.html:
        * transitions/delay.html:
        * transitions/longhand-vs-shorthand-initial.html:
        * transitions/multiple-background-transitions.html:

2018-03-28  Chris Dumez  <cdumez@apple.com>

        Align XMLHttpRequest's open() / send() / abort() with the latest specification
        https://bugs.webkit.org/show_bug.cgi?id=184108

        Reviewed by Youenn Fablet.

        * http/tests/xmlhttprequest/onloadend-event-after-abort.html:
        * http/tests/xmlhttprequest/onloadend-event-after-error.html:
        * http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
        * http/tests/xmlhttprequest/upload-onloadend-event-after-abort.html:
        * http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
        Fix tests that expected a progress event before error/abort event. This is not as
        per specification and those tests were also failing in Firefox.

        * http/tests/xmlhttprequest/readystatechange-and-abort.html:
        Fix test that expected abort() to reset state to UNSENT as this is not as per specification.
        This test was failing in both Firefox and Chrome.

        * http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html:
        Re-sync test from Blink. The test was wrongly expecting abort() to reset the state to
        UNSENT.

2018-03-28  Timothy Hatcher  <timothy@apple.com>

        Consolidate NSColor to WebCore::Color conversion and fix system colors.

        https://bugs.webkit.org/show_bug.cgi?id=184096
        rdar://problem/38918925

        Reviewed by Tim Horton.

        * fast/css/apple-system-control-colors-expected.txt: Updated with rgba() colors.
        * platform/mac/accessibility/content-editable-as-textarea-expected.txt: Updated with color space.

2018-03-28  Wenson Hsieh  <wenson_hsieh@apple.com>

        [iOS] Multiple select appearance doesn't update when selecting or deselecting rows in the picker view
        https://bugs.webkit.org/show_bug.cgi?id=184110
        <rdar://problem/38796648>

        Reviewed by Tim Horton.

        Adds a new layout test to verify that after tapping on a multiple select and choosing an option, the select's
        renderer is updated to reflect its new state.

        * fast/forms/ios/ipad/multiple-select-updates-renderer-expected.txt: Added.
        * fast/forms/ios/ipad/multiple-select-updates-renderer.html: Added.
        * resources/basic-gestures.js:

2018-03-28  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/preload/download_resources.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179297

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-28  Daniel Bates  <dabates@apple.com>

        WebSocket cookie incorrectly stored
        https://bugs.webkit.org/show_bug.cgi?id=184100
        <rdar://problem/37928715>

        Reviewed by Brent Fulgham.

        * http/tests/websocket/tests/hybi/cookie_wsh.py: Added. Downloaded from
        <https://github.com/w3c/pywebsocket/blob/b2e1d11086fdf00b33a0d30c504f227e7d4fa86b/src/example/cookie_wsh.py>.
        (_add_set_cookie):
        (web_socket_do_extra_handshake):
        (web_socket_transfer_data):
        * http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt: Added.
        * http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html: Added.

2018-03-28  Matt Lewis  <jlewis3@apple.com>

        Skipped imported/mozilla/css-animations/test_keyframeeffect-getkeyframes.html.
        https://bugs.webkit.org/show_bug.cgi?id=183848

        Unreviewed test gardening.

        * TestExpectations:

2018-03-28  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r230033.

        The LayoutTests modified in this change fail an assertion on
        WK1.

        Reverted changeset:

        "[Web Animations] Implement more CSSPropertyBlendingClient
        methods"
        https://bugs.webkit.org/show_bug.cgi?id=184077
        https://trac.webkit.org/changeset/230033

2018-03-28  Alicia Boya García  <aboya@igalia.com>

        Unreviewed GTK test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=184088

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:

2018-03-28  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement more CSSPropertyBlendingClient methods
        https://bugs.webkit.org/show_bug.cgi?id=184077

        Reviewed by Dean Jackson.

        Make 31 tests opt into the CSS Animations and CSS Transitions as Web Animations feature.

        * animations/3d/replace-filling-transform.html:
        * animations/additive-transform-animations.html:
        * animations/animation-direction-reverse-fill-mode-hardware.html:
        * animations/combo-transform-rotate+scale.html:
        * animations/simultaneous-start-transform.html:
        * compositing/animation/layer-for-filling-animation.html:
        * compositing/reflections/animation-inside-reflection.html:
        * compositing/reflections/nested-reflection-animated.html:
        * css3/filters/backdrop/animation.html:
        * css3/filters/composited-during-animation.html:
        * css3/filters/filter-animation-from-none-hw.html:
        * css3/filters/filter-animation-from-none-multi-hw.html:
        * css3/filters/filter-animation-from-none-multi.html:
        * css3/filters/filter-animation-from-none.html:
        * css3/filters/filter-animation-hw.html:
        * css3/filters/filter-animation-multi-hw.html:
        * css3/filters/filter-animation-multi.html:
        * css3/filters/filter-animation.html:
        * css3/masking/clip-path-animation.html:
        * fast/filter-image/filter-image-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html:
        * fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
        * transitions/clip-path-transitions.html:
        * transitions/color-transition-premultiplied.html:
        * transitions/cross-fade-border-image.html:
        * transitions/cubic-bezier-overflow-length.html:
        * transitions/cubic-bezier-overflow-svg-length.html:
        * transitions/delay.html:
        * transitions/longhand-vs-shorthand-initial.html:
        * transitions/multiple-background-transitions.html:

2018-03-27  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Modernize some utility functions
        https://bugs.webkit.org/show_bug.cgi?id=184047

        Rubber-stamped by Matt Baker.

        * inspector/unit-tests/string-utilities-expected.txt: Updated.
        * inspector/unit-tests/string-utilities.html: Added String.prototype.escapeCharacters test.

2018-03-26  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/wpt/service-workers/third-party-registration.html.
        https://bugs.webkit.org/show_bug.cgi?id=183860

        Unreviewed test gardening.

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

2018-03-27  Youenn Fablet  <youenn@apple.com>

        Move request checking out of PingLoad for future reuse in NetworkLoad
        https://bugs.webkit.org/show_bug.cgi?id=183865

        Reviewed by Chris Dumez.

        * http/wpt/beacon/cors/cors-preflight-cookie-expected.txt:
        * http/wpt/beacon/cors/cors-preflight-cookie.html:

2018-03-27  Daniel Bates  <dabates@apple.com>

        CSS mask images should be retrieved using potentially CORS-enabled fetch
        https://bugs.webkit.org/show_bug.cgi?id=179983
        <rdar://problem/35678149>

        Reviewed by Brent Fulgham.

        Add a test to ensure we do not fetch a cross-origin CSS mask image that does
        not allow CORS access.

        * http/tests/security/css-mask-image-expected.html: Added.
        * http/tests/security/css-mask-image.html: Added.
        * http/tests/security/resources/black-square.png: Added.
        * http/tests/security/resources/fail-mask.png: Added.
        * media/modern-media-controls/resources/media-controls-loader.js: Disable "Anonymous" mode
        fetching of mask images to allow modern media controls to load mask assets from the filesystem.

2018-03-27  Zalan Bujtas  <zalan@apple.com>

        RenderBox::parent/firstChild/nextSibling/previousSiblingBox() functions should type check.
        https://bugs.webkit.org/show_bug.cgi?id=184032
        <rdar://problem/38384984>

        Reviewed by Antti Koivisto.

        * fast/multicol/parent-box-when-spanner-is-present-expected.txt: Added.
        * fast/multicol/parent-box-when-spanner-is-present.html: Added.


2018-03-27  Antoine Quint  <graouts@apple.com>

        [Web Animations] Stop using internals.pauseAnimationAtTimeOnElement() in favor of Web Animations API for animations tests
        https://bugs.webkit.org/show_bug.cgi?id=184038

        Reviewed by Dean Jackson.

        Make 48 tests opt into CSS Animations and CSS Transitions as Web Animations. These tests used the internals.pauseAnimationAtTimeOnElement()
        method, but this method should be going away since the Web Animations API allows seeking and pausing. To support this, we make
        animation-test-helpers.js use the Web Animations API instead of internals.pauseAnimationAtTimeOnElement() if the tests has opted
        into CSS Animations and CSS Transitions as Web Animations and we know it's safe to use these APIs.

        * animations/3d/matrix-transform-type-animation.html:
        * animations/3d/transform-perspective.html:
        * animations/animation-callback-timestamp.html:
        * animations/animation-direction-reverse-hardware-opacity.html:
        * animations/animation-direction-reverse-hardware.html:
        * animations/animation-direction-reverse-non-hardware.html:
        * animations/animation-direction-reverse-timing-functions-hardware.html:
        * animations/animation-direction-reverse-timing-functions.html:
        * animations/animation-direction.html:
        * animations/animation-hit-test.html:
        * animations/animation-offscreen-to-onscreen.html:
        * animations/change-keyframes-expected.txt:
        * animations/change-keyframes.html:
        * animations/cross-fade-background-image.html:
        * animations/cross-fade-border-image-source.html:
        * animations/cross-fade-list-style-image.html:
        * animations/cross-fade-webkit-mask-box-image.html:
        * animations/duplicate-keys-expected.html:
        * animations/duplicate-keys.html:
        * animations/font-variations/font-stretch.html:
        * animations/font-variations/font-style.html:
        * animations/font-variations/font-variation-settings-order.html:
        * animations/font-variations/font-variation-settings-unlike.html:
        * animations/font-variations/font-variation-settings.html:
        * animations/font-variations/font-weight.html:
        * animations/generic-from-to.html:
        * animations/import.html:
        * animations/keyframe-multiple-timing-functions-transform.html:
        * animations/keyframes-comma-separated.html:
        * animations/keyframes-infinite-iterations.html:
        * animations/keyframes-invalid-keys.html:
        * animations/keyframes-out-of-order.html:
        * animations/keyframes.html:
        * animations/longhand-timing-function.html:
        * animations/matrix-anim.html:
        * animations/missing-keyframe-properties-repeating.html:
        * animations/missing-keyframe-properties.html:
        * animations/missing-values-first-keyframe.html:
        * animations/missing-values-last-keyframe.html:
        * animations/multiple-animations-timing-function.html:
        * animations/multiple-animations.html:
        * animations/multiple-keyframes.html:
        * animations/negative-delay.html:
        * animations/pause-crash.html:
        * animations/resources/animation-test-helpers.js:
        (checkExpectedValue):
        (pauseAnimationAtTimeOnElement):
        (startTest):
        (runAnimationTest):
        * animations/simultaneous-start-left.html:
        * animations/spring-function.html:
        * animations/stacking-context-unchanged-while-running.html:
        * animations/timing-functions.html:
        * animations/unanimated-style.html:
        * animations/unprefixed-keyframes.html:

2018-03-27  Per Arne Vollan  <pvollan@apple.com>

        Mark some CSS animations tests as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=183953

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-27  Eric Carlson  <eric.carlson@apple.com>

        Make AVFoundationEnabled preference available on iOS
        https://bugs.webkit.org/show_bug.cgi?id=183876
        <rdar://problem/38726459>

        Reviewed by Youenn Fablet.

        * media/media-error-fired-once-expected.txt: Added.
        * media/media-error-fired-once.html: Added.

2018-03-27  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Layout test editing/deleting/delete-surrogatepair.html crashing with CRITICAL **: enchant_dict_check: assertion 'g_utf8_validate(word, len, NULL)' failed
        https://bugs.webkit.org/show_bug.cgi?id=176799

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations: Unmarked editing/deleting/delete-surrogatepair.html.

2018-03-23  Antoine Quint  <graouts@apple.com>

        [Web Animations] Make imported/mozilla/css-animations/test_animation-currenttime.html pass reliably
        https://bugs.webkit.org/show_bug.cgi?id=183819

        Reviewed by Dean Jackson.

        The test imported/mozilla/css-animations/test_animation-currenttime.html now passes reliably.

        * TestExpectations:

2018-03-23  Antoine Quint  <graouts@apple.com>

        [Web Animations] Correctly handle timing functions specified by CSS Animations and CSS Transitions
        https://bugs.webkit.org/show_bug.cgi?id=183935

        Reviewed by Dean Jackson.

        We now pass 2 additional Mozilla tests completely, so they no longer need to be marked as flaky failures or timeouts.
        We also update tests that we wrote ourselves and which incorrectly assumed that the effect's timing would reflect
        the timing function set by CSS.

        * TestExpectations:
        * webanimations/css-animations-expected.txt:
        * webanimations/css-animations.html:
        * webanimations/css-transitions-expected.txt:
        * webanimations/css-transitions.html:

2018-03-26  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/mozilla/css-animations/test_animation-cancel.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=184011

        Unreviewed test gardening.

        * TestExpectations:

2018-03-23  Daniel Bates  <dabates@apple.com>

        Unreviewed, rolling out r229868.

        Caused media controls tests to timeout. Will investigate
        offline.

        Reverted changeset:

        "CSS mask images should be retrieved using potentially CORS-
        enabled fetch"
        https://bugs.webkit.org/show_bug.cgi?id=179983
        https://trac.webkit.org/changeset/229868

2018-03-23  Per Arne Vollan  <pvollan@apple.com>

        Mark accessibility/row-with-aria-role-in-native-table.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=183955

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-23  Per Arne Vollan  <pvollan@apple.com>

        Mark some CSS animations tests as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=183953

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-23  Eric Carlson  <eric.carlson@apple.com>

        HTMLElement factory doesn't need to call MediaPlayer::isAvailable
        https://bugs.webkit.org/show_bug.cgi?id=183946
        <rdar://problem/38802687>

        Reviewed by Youenn Fablet.

        * media/media-disabled-expected.txt: Added.
        * media/media-disabled.html: Added.

2018-03-23  Ryan Haddad  <ryanhaddad@apple.com>

        Only enable LayoutTest fast/css/apple-system-control-colors.html on macOS.

        Unreviewed test gardening.

        * TestExpectations:
        * platform/mac/TestExpectations:

2018-03-23  Adrian Perez de Castro  <aperez@igalia.com>

        Unreviewed WPE gardening.

        Removed imported/mathml-in-html5 from WPE test expectations, as the
        path does not exit anymore after r229601

        * platform/wpe/TestExpectations: Removd imported/mathml-in-html5

2018-03-23  Youenn Fablet  <youenn@apple.com>

        Safari WebKitWebRTCAudioModule crash during <video> tag update when audio track present in MediaStream
        https://bugs.webkit.org/show_bug.cgi?id=181180
        <rdar://problem/36302375>

        Reviewed by Eric Carlson.

        * webrtc/video-update-often-expected.txt: Added.
        * webrtc/video-update-often.html: Added.

2018-03-23  Antoine Quint  <graouts@apple.com>

        [Web Animations] infinite repeat counts aren't reflected for CSS Animations
        https://bugs.webkit.org/show_bug.cgi?id=183932

        Reviewed by Dean Jackson.

        One of the Mozilla tests now passes completely and reliably.

        * TestExpectations:

2018-03-22  Antoine Quint  <graouts@apple.com>

        [Web Animations] Correctly cancel animations when a parent gets a "display: none" style or when an element is removed
        https://bugs.webkit.org/show_bug.cgi?id=183919

        Reviewed by Dean Jackson.

        Three of the imported Mozilla tests now pass reliably, removing them from the list of flaky failure and timeout tests.

        * TestExpectations:

2018-03-23  Antoine Quint  <graouts@apple.com>

        [Web Animations] Animated transform styles are ignored when calling getComputedStyle()
        https://bugs.webkit.org/show_bug.cgi?id=183918

        Reviewed by Dean Jackson.

        We obtain a number of progressions by correctly serializing the transform property on getComputedStyle().

        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:

2018-03-23  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        Add a port-specific baseline for fast/css/apple-system-control.html.

        Mark http/wpt/service-workers tests as a mix of failures and passes,
        since a lot of the tests pass now that service workers were enabled, but
        the passing ones are still in minority and there's additionally flaky
        tests. This should improve after necessary testing SW directories are
        properly specified.

        In contrast, a bunch of SW-reliant tests under
        imported/w3c/web-platform-tests/streams are now passing consistently.
        Failure expectations for these are removed.

        Failue expectations for three compositing tests are also removed after
        r229804 fixed them.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/css/apple-system-control-colors-expected.txt: Added.

2018-03-22  Nan Wang  <n_wang@apple.com>

        AX: Web table row count is incorrect when role row is added to <tr> in DOM
        https://bugs.webkit.org/show_bug.cgi?id=183922

        Reviewed by Chris Fleizach.

        * accessibility/row-with-aria-role-in-native-table-expected.txt: Added.
        * accessibility/row-with-aria-role-in-native-table.html: Added.

2018-03-22  Daniel Bates  <dabates@apple.com>

        CSS mask images should be retrieved using potentially CORS-enabled fetch
        https://bugs.webkit.org/show_bug.cgi?id=179983
        <rdar://problem/35678149>

        Reviewed by Brent Fulgham.

        Add a test to ensure we do not fetch a cross-origin CSS mask image that does
        not allow CORS access.

        * http/tests/security/css-mask-image-expected.html: Added.
        * http/tests/security/css-mask-image.html: Added.
        * http/tests/security/resources/black-square.png: Added.
        * http/tests/security/resources/fail-mask.png: Added.

2018-03-22  Zalan Bujtas  <zalan@apple.com>

        [Simple line layout] Text with letter spacing is not positioned properly.
        https://bugs.webkit.org/show_bug.cgi?id=183079
        <rdar://problem/38762569>

        Reviewed by Antti Koivisto.

        * fast/text/simple-line-layout-dynamic-letter-word-spacing-expected.html: Added.
        * fast/text/simple-line-layout-dynamic-letter-word-spacing.html: Added.

2018-03-22  Adrian Perez de Castro  <aperez@igalia.com>

        [WPE] Enable WOFF2 support
        https://bugs.webkit.org/show_bug.cgi?id=178158

        Reviewed by Frédéric Wang.

        * platform/wpe/TestExpectations: Unskip the fast/text/woff2.html and fast/text/woff2-totalsfntsize.html

2018-03-21  Antoine Quint  <graouts@apple.com>

        [Web Animations] Make imported/mozilla/css-animations/test_event-dispatch.html pass reliably
        https://bugs.webkit.org/show_bug.cgi?id=183845

        Reviewed by Dean Jackson.

        A couple of crashing tests no longer crash and a couple are now reliably passing.

        * TestExpectations:

2018-03-22  Ross Kirsling  <ross.kirsling@sony.com>

        Unreviewed gardening. Update WinCairo TestExpectations and drop the unnecessary suffix.

        * platform/wincairo-win10/TestExpectations: Removed.
        * platform/wincairo/TestExpectations: Added.

2018-03-22  Zalan Bujtas  <zalan@apple.com>

        Unreviewed gardening.

        Unskipping imported/blink/svg/css/path-layout-crash.html (should have been unskipped with r229782). 

        * TestExpectations:

2018-03-22  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening after r229847.

        * platform/gtk/TestExpectations:
        * platform/gtk/http/tests/loading/simple-subframe-expected.txt:
        * platform/gtk/http/tests/navigation/redirect-to-fragment2-expected.txt: Added.
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:

2018-03-22  Zalan Bujtas  <zalan@apple.com>

        SVG root is skipped while marking percentage height descendants dirty.
        https://bugs.webkit.org/show_bug.cgi?id=183877

        Reviewed by Antti Koivisto.

        * TestExpectations:

2018-03-22  Frederic Wang  <fwang@igalia.com>

        [MathML] Import WPT test to replace mathml/opentype/large-operators-italic-correction.html
        https://bugs.webkit.org/show_bug.cgi?id=183891

        Reviewed by Manuel Rego Casasnovas.

        Remove large-operators-italic-correction.html. Italic correction is tested more completely by
        a new WPT test that does not require Latin Modern Math to be installed on the try bots.

        * mathml/opentype/large-operators-italic-correction-expected.txt: Removed.
        * mathml/opentype/large-operators-italic-correction.html: Removed.
        * platform/ios/TestExpectations: Remove test expectation.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2018-03-21  Chris Dumez  <cdumez@apple.com>

        Regression(r229831): fast/loader/javascript-url-iframe-remove-on-navigate-async-delegate.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=183885

        Unreviewed, temporarily mark the test as flaky while I investigate.

        * TestExpectations:

2018-03-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/scrolling/latching/scroll-div-no-latching.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=183879

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-03-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/console/messageAdded-from-named-evaluations.html as slow.
        https://bugs.webkit.org/show_bug.cgi?id=183880

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-03-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/seek-backward-support/seek-backward-support.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=183869

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-03-21  Chris Dumez  <cdumez@apple.com>

        Make policy decisions asynchronous
        https://bugs.webkit.org/show_bug.cgi?id=180568
        <rdar://problem/37131297>

        Reviewed by Alex Christensen.

        Rebaseline tests for WebKit2. The issue is that some tests dump policy delegate calls
        and things now happen in a slightly different order now that those delegates are
        asynchronous.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt:
        * platform/ios/http/tests/loading/simple-subframe-expected.txt:
        * platform/mac-wk2/http/tests/loading/simple-subframe-expected.txt: Copied from LayoutTests/platform/ios/http/tests/loading/simple-subframe-expected.txt.
        * platform/wk2/fast/loader/fragment-navigation-base-blank-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/fast/loader/iframe-meta-refresh-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/iframe-set-location-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/main-document-url-for-non-http-loads-expected.txt: Added.
        * platform/wk2/fast/loader/refresh-iframe-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/subframe-removes-itself-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/contentdispositionattachmentsandbox/cross-origin-frames-disabled-expected.txt: Added.
        * platform/wk2/http/tests/contentextensions/block-everything-unless-domain-expected.txt: Added.
        * platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt:
        * platform/wk2/http/tests/loading/bad-server-subframe-expected.txt: Added.
        * platform/wk2/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt:
        * platform/wk2/http/tests/loading/redirect-with-no-location-crash-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
        * platform/wk2/http/tests/loading/slow-parsing-subframe-expected.txt: Added.
        * platform/wk2/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Added.
        * platform/wk2/http/tests/misc/window-dot-stop-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-preserves-fragment-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-to-fragment-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-allowall-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/blocked-on-redirect-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/data-url-iframe-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-report-only-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-enforced-and-report-policies-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-javascript-url-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-xslt-document-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/secure-image-after-upgrade-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/secure-image-after-upgrade-redirect-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/http-0.9/iframe-blocked-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/about-blank-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/data-url-iframe-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/data-url-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-with-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-form-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-image-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/javascript-url-form-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/inspector/page/frameScheduledNavigation-expected.txt: Added.
        * platform/wk2/loader/go-back-cached-main-resource-expected.txt: Added.
        * platform/wk2/webarchive/loading/mainresource-null-mimetype-crash-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/webarchive/loading/test-loading-archive-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/webarchive/loading/video-in-webarchive-expected.txt: Renamed from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.

2018-03-21  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Disconnect the SVGPathSegList items from their SVGPathElement before rebuilding a new list
        https://bugs.webkit.org/show_bug.cgi?id=183723
        <rdar://problem/38517871>

        Reviewed by Daniel Bates.

        * svg/dom/reuse-pathseg-after-changing-d-expected.txt: Added.
        * svg/dom/reuse-pathseg-after-changing-d.html: Added.

2018-03-21  Ryan Haddad  <ryanhaddad@apple.com>

        Skip imported/w3c/web-platform-tests/service-workers/service-worker/appcache-ordering-main.https.html.
        https://bugs.webkit.org/show_bug.cgi?id=182176

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-03-21  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html.
        https://bugs.webkit.org/show_bug.cgi?id=183093

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-03-21  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/track/track-css-matching-timestamps.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=183220

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-03-21  Jer Noble  <jer.noble@apple.com>

        REGRESSION (r226059?): [macOS WK2] Layout Test fast/mediastream/MediaStream-MediaElement-setObject-null.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=181069
        <rdar://problem/36188221>

        Reviewed by Youenn Fablet.

        Pass the function into the play() promise handler rather than calling it immediately.

        * fast/mediastream/MediaStream-MediaElement-setObject-null.html:
        * platform/mac-wk2/TestExpectations:

2018-03-21  Antoine Quint  <graouts@apple.com>

        [Web Animations] Dispatch DOM events for CSS Transitions and CSS Animations implemented as Web Animations
        https://bugs.webkit.org/show_bug.cgi?id=183781

        Reviewed by Dean Jackson.

        New attribute-based event handlers are now exposed, update the expectations for those.

        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2018-03-21  Antoine Quint  <graouts@apple.com>

        [Web Animations] Import CSS Animations and CSS Transitions as Web Animations tests from Mozilla
        https://bugs.webkit.org/show_bug.cgi?id=183851

        Reviewed by Jon Lee.

        Mark all imported tests as flaky failures or timeouts while we work on making them pass reliably.
        Each test has a dedicated bug tracking progress.

        * TestExpectations:

2018-03-21  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Mark fast/forms/file/entries-api/webkitdirectory-open-panel.html as passing.
        https://bugs.webkit.org/show_bug.cgi?id=176024

        Unreviewed test gardening.

        It has been passing since the test was changed not to rely on the order
        of files in the list in r229642.

        * platform/gtk/TestExpectations:

2018-03-21  Frederic Wang  <fwang@igalia.com>

        [iOS] Text highlighted by the Find UI overlaps with NBC news header on google.com
        https://bugs.webkit.org/show_bug.cgi?id=183658

        Reviewed by Tim Horton.

        Improve the test added in r224284, so that we test when a result is revealed at
        the center of the overflow node.

        * platform/ios/fast/scrolling/find-text-in-overflow-node.html: Put some content after
        'match 4' so that the overflow node can scroll and make the text appear at the center.
        Perform more accurate testing of the scrollTop of the overflow node.
        * platform/ios/fast/scrolling/find-text-in-overflow-node-expected.txt: Update expectation.

2018-03-20  Zalan Bujtas  <zalan@apple.com>

        RenderTreeNeedsLayoutChecker fails with absolutely positioned svg and <use>
        https://bugs.webkit.org/show_bug.cgi?id=183718

        Reviewed by Antti Koivisto.

        * svg/in-html/path-with-absolute-positioned-svg-and-use-crash-expected.txt: Added.
        * svg/in-html/path-with-absolute-positioned-svg-and-use-crash.html: Added.

2018-03-20  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/appcache/abort-cache-onprogress.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=183684

        Unreviewed test gardening.

        * TestExpectations:

2018-03-20  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/wpt/webrtc/third-party-frame-ice-candidate-filtering.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=183801

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2018-03-20  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r229726 and r229763.

        Caused some API test failures on iOS

        Reverted changesets:

        "Make policy decisions asynchronous"
        https://bugs.webkit.org/show_bug.cgi?id=180568
        https://trac.webkit.org/changeset/229726

        "Rebaseline three webarchive tests for WK2 after r229726."
        https://bugs.webkit.org/show_bug.cgi?id=180568
        https://trac.webkit.org/changeset/229763

2018-03-20  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline three webarchive tests for WK2 after r229726.
        https://bugs.webkit.org/show_bug.cgi?id=180568

        Unreviewed test gardening.

        * platform/wk2/webarchive/loading/missing-data-expected.txt: Added.
        * platform/wk2/webarchive/loading/object-expected.txt: Added.
        * platform/wk2/webarchive/loading/test-loading-archive-subresource-null-mimetype-expected.txt: Added.

2018-03-20  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline three forms tests after r229730.

        Unreviewed test gardening.

        * platform/mac/fast/forms/basic-selects-expected.txt:
        * platform/mac/fast/forms/disabled-select-change-index-expected.txt:
        * platform/mac/fast/forms/select-disabled-appearance-expected.txt:

2018-03-20  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline a test after the case of the 'Strong Password' localized string was changed in r229724.

        Unreviewed test gardening.

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

2018-03-20  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/storageAccess/grant-storage-access-under-opener.html on iOS debug.
        https://bugs.webkit.org/show_bug.cgi?id=183714

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2018-03-19  Brady Eidson  <beidson@apple.com>

        Add a layout test verifying AppCache resource fetches have the document's cookie in place.
        https://bugs.webkit.org/show_bug.cgi?id=183757

        Reviewed by Alex Christensen.

        * http/tests/appcache/document-cookie-expected.txt: Added.
        * http/tests/appcache/document-cookie.php: Added.
        * http/tests/appcache/resources/cookie-protected-script.php: Added.
        * http/tests/appcache/resources/document-cookie.manifest: Added.

2018-03-19  Chris Dumez  <cdumez@apple.com>

        Make policy decisions asynchronous
        https://bugs.webkit.org/show_bug.cgi?id=180568
        <rdar://problem/37131297>

        Reviewed by Alex Christensen.

        Rebaseline tests for WebKit2. The issue is that some tests dump policy delegate calls
        and things now happen in a slightly different order now that those delegates are
        asynchronous.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt:
        * platform/ios/http/tests/loading/simple-subframe-expected.txt:
        * platform/mac-wk2/http/tests/loading/simple-subframe-expected.txt: Copied from LayoutTests/platform/ios/http/tests/loading/simple-subframe-expected.txt.
        * platform/wk2/fast/loader/fragment-navigation-base-blank-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/fast/loader/iframe-meta-refresh-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/iframe-set-location-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/main-document-url-for-non-http-loads-expected.txt: Added.
        * platform/wk2/fast/loader/refresh-iframe-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/subframe-removes-itself-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/contentdispositionattachmentsandbox/cross-origin-frames-disabled-expected.txt: Added.
        * platform/wk2/http/tests/contentextensions/block-everything-unless-domain-expected.txt: Added.
        * platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt:
        * platform/wk2/http/tests/loading/bad-server-subframe-expected.txt: Added.
        * platform/wk2/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt:
        * platform/wk2/http/tests/loading/redirect-with-no-location-crash-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
        * platform/wk2/http/tests/loading/slow-parsing-subframe-expected.txt: Added.
        * platform/wk2/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Added.
        * platform/wk2/http/tests/misc/window-dot-stop-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-preserves-fragment-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-to-fragment-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-allowall-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/blocked-on-redirect-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/data-url-iframe-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-report-only-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-enforced-and-report-policies-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-javascript-url-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-xslt-document-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/secure-image-after-upgrade-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/secure-image-after-upgrade-redirect-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/http-0.9/iframe-blocked-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/about-blank-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/data-url-iframe-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/data-url-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-with-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-form-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-image-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/javascript-url-form-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/inspector/page/frameScheduledNavigation-expected.txt: Added.
        * platform/wk2/loader/go-back-cached-main-resource-expected.txt: Added.
        * platform/wk2/webarchive/loading/mainresource-null-mimetype-crash-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/webarchive/loading/test-loading-archive-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/webarchive/loading/video-in-webarchive-expected.txt: Renamed from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.

2018-03-19  Chris Dumez  <cdumez@apple.com>

        WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183702
        <rdar://problem/38566060>

        Reviewed by Alex Christensen.

        Add variant of fast/loader/inner-iframe-loads-data-url-into-parent-on-unload-crash.html with async navigation
        delegate since the previous iteration of this patch broke this test case.

        * fast/loader/inner-iframe-loads-data-url-into-parent-on-unload-crash-async-delegate-expected.txt: Added.
        * fast/loader/inner-iframe-loads-data-url-into-parent-on-unload-crash-async-delegate.html: Added.

2018-03-17  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Implement authenticatorMakeCredential
        https://bugs.webkit.org/show_bug.cgi?id=183527
        <rdar://problem/35275886>

        Reviewed by Brent Fulgham.

        * http/wpt/credential-management/credentialscontainer-store-basics.https.html:
        * http/wpt/webauthn/idl.https.html:
        * http/wpt/webauthn/public-key-credential-create-success.https.html:

2018-03-16  Brent Fulgham  <bfulgham@apple.com>

        Correct debug assertion in Range::borderAndTextRects
        https://bugs.webkit.org/show_bug.cgi?id=183710
        <rdar://problem/38466976>

        Reviewed by Ryosuke Niwa.

        * fast/dom/Range/range-selection-empty-body-expected.txt: Added.
        * fast/dom/Range/range-selection-empty-body.html: Added.

2018-03-16  Youenn Fablet  <youenn@apple.com>

        Add a test verifying that an AppCache manifest request includes credentials
        https://bugs.webkit.org/show_bug.cgi?id=183716

        Reviewed by Chris Dumez.

        * http/tests/appcache/appcache-cookies-expected.txt: Added.
        * http/tests/appcache/appcache-cookies.html: Added.
        * http/tests/appcache/resources/appcache-cookies-test.html: Added.
        * http/tests/appcache/resources/manifest-if-cookie.php: Added.

2018-03-15  Ryan Haddad  <ryanhaddad@apple.com>

        Skip editing/pasteboard/data-transfer-get-data-on-pasting-html-uses-blob-url.html on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=183219

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-03-16  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: AccessibilityNodeObject::textForLabelElement() doesn't follow AccName calculation rules
        https://bugs.webkit.org/show_bug.cgi?id=183661

        Reviewed by Chris Fleizach.

        * accessibility/aria-label-on-label-element-expected.txt: Moved from Mac tests to shared tests.
        * accessibility/aria-label-on-label-element.html: Moved from Mac tests to shared tests.
        * accessibility/label-with-pseudo-elements-expected.txt: Added.
        * accessibility/label-with-pseudo-elements.html: Added.
        * platform/gtk/accessibility/aria-label-on-label-element-expected.txt: Added.
        * platform/gtk/accessibility/label-with-pseudo-elements-expected.txt: Added.
        * platform/mac/accessibility/label-with-pseudo-elements-expected.txt: Added.
        * platform/win/accessibility/label-with-pseudo-elements-expected.txt: Added.

2018-03-16  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Rebaseline for web-platform-tests specific test

        Unreviewed gardening.
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:

2018-03-16  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK][WPE] Remove baselines for FileAPI test.

        Unreviewed gardening. Now with service workers the results in both
        WPE and GTK+ are the same as the default expectation.
        * platform/gtk/imported/w3c/web-platform-tests/FileAPI/historical.https-expected.txt: Removed.
        * platform/wpe/imported/w3c/web-platform-tests/FileAPI/historical.https-expected.txt: Removed.

2018-03-15  Matt Lewis  <jlewis3@apple.com>

        Rebaselined test on macOS WK1 after r229642.

        Unreviewed test gardening.

        * platform/mac-wk1/fast/forms/file/entries-api/webkitdirectory-open-panel-expected.txt:

2018-03-15  Chris Dumez  <cdumez@apple.com>

        Unreviewed, mark location-protocol-setter-non-broken-async-delegate.html as flaky on all platforms, not just WK1

        * TestExpectations:
        * platform/mac-wk1/TestExpectations:

2018-03-15  Youenn Fablet  <youenn@apple.com>

        Bad configuration parameters should make RTCPeerConnection constructor throw
        https://bugs.webkit.org/show_bug.cgi?id=183615

        Reviewed by Eric Carlson.

        Removed tests that are subsumed by WPT ones.

        * fast/mediastream/RTCPeerConnection-expected.txt: Removed.
        * fast/mediastream/RTCPeerConnection-getConfiguration-expected.txt: Removed.
        * fast/mediastream/RTCPeerConnection-getConfiguration.html: Removed.
        * fast/mediastream/RTCPeerConnection.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:

2018-03-15  Youenn Fablet  <youenn@apple.com>

        replaceTrack triggers negotiationneeded
        https://bugs.webkit.org/show_bug.cgi?id=180342
        <rdar://problem/35822426>

        Reviewed by Eric Carlson.

        * webrtc/video-replace-track.html:

2018-03-15  Chris Dumez  <cdumez@apple.com>

        webkitdirectory-open-panel stumbles over unordered results
        https://bugs.webkit.org/show_bug.cgi?id=183643

        Reviewed by Wenson Hsieh.

        Update fast/forms/file/entries-api/webkitdirectory-open-panel.html to not rely on a
        specific file ordering when checking input.files.

        * fast/forms/file/entries-api/webkitdirectory-open-panel-expected.txt:
        * fast/forms/file/entries-api/webkitdirectory-open-panel.html:

2018-03-15  Youenn Fablet  <youenn@apple.com>

        Layout Test http/wpt/service-workers/update-service-worker.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=181753
        <rdar://problem/36605091>

        Unreviewed.

        * platform/mac-wk2/TestExpectations: Test is no longer flaky on High Sierra Release.

2018-03-15  Youenn Fablet  <youenn@apple.com>

        MessagePort is not always destroyed on the right thread
        https://bugs.webkit.org/show_bug.cgi?id=183619
        <rdar://problem/38204711>

        Reviewed by Chris Dumez.

        * TestExpectations:
        * http/tests/workers/worker-messageport-2-expected.txt: Added.
        * http/tests/workers/worker-messageport-2.html: Added.

2018-03-15  Ms2ger  <Ms2ger@igalia.com>

        [GTK][WPE] Enable service workers
        https://bugs.webkit.org/show_bug.cgi?id=178576

        Reviewed by Žan Doberšek.

        * platform/wpe/TestExpectations: update remaining expectations to point to another bug.

2018-03-14  Devin Rousso  <webkit@devinrousso.com>

        Web Inspector: Canvas: a recording initiated by the user should be shown immediately on completion
        https://bugs.webkit.org/show_bug.cgi?id=183647
        <rdar://problem/38479187>

        Reviewed by Matt Baker.

        * inspector/canvas/recording-2d.html:
        Reorder the agent calls so that the CanvasManager `_recordingCanvas` state variable has a
        chance to properly update after a recording is stopped.

2018-03-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r229613.

        Caused API test failures

        Reverted changeset:

        "Make policy decisions asynchronous"
        https://bugs.webkit.org/show_bug.cgi?id=180568
        https://trac.webkit.org/changeset/229613

2018-03-14  Youenn Fablet  <youenn@apple.com>

        MessagePort should remove its listeners when being closed
        https://bugs.webkit.org/show_bug.cgi?id=183644

        Reviewed by Chris Dumez.

        * http/tests/workers/resources/messageport-echo-worker.js: Added.
        * http/tests/workers/worker-messageport-expected.txt: Added.
        * http/tests/workers/worker-messageport.html: Added.

2018-03-14  Chris Dumez  <cdumez@apple.com>

        Make policy decisions asynchronous
        https://bugs.webkit.org/show_bug.cgi?id=180568
        <rdar://problem/37131297>

        Reviewed by Alex Christensen.

        Rebaseline tests for WebKit2. The issue is that some tests dump policy delegate calls
        and things now happen in a slightly different order now that those delegates are
        asynchronous.

        * TestExpectations:
        * http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt:
        * platform/ios/http/tests/loading/simple-subframe-expected.txt:
        * platform/mac-wk2/http/tests/loading/simple-subframe-expected.txt: Copied from LayoutTests/platform/ios/http/tests/loading/simple-subframe-expected.txt.
        * platform/wk2/fast/loader/fragment-navigation-base-blank-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/fast/loader/iframe-meta-refresh-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/iframe-set-location-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/main-document-url-for-non-http-loads-expected.txt: Added.
        * platform/wk2/fast/loader/refresh-iframe-base-blank-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt.
        * platform/wk2/fast/loader/subframe-removes-itself-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/contentdispositionattachmentsandbox/cross-origin-frames-disabled-expected.txt: Added.
        * platform/wk2/http/tests/contentextensions/block-everything-unless-domain-expected.txt: Added.
        * platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt:
        * platform/wk2/http/tests/loading/bad-server-subframe-expected.txt: Added.
        * platform/wk2/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt:
        * platform/wk2/http/tests/loading/redirect-with-no-location-crash-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
        * platform/wk2/http/tests/loading/slow-parsing-subframe-expected.txt: Added.
        * platform/wk2/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Added.
        * platform/wk2/http/tests/misc/window-dot-stop-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-preserves-fragment-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-to-fragment-expected.txt: Added.
        * platform/wk2/http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-allowall-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Added.
        * platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added.
        * platform/wk2/http/tests/security/blocked-on-redirect-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/data-url-iframe-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-report-only-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-enforced-and-report-policies-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-javascript-url-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-xslt-document-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-with-inherited-policy-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-main-frame-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/secure-image-after-upgrade-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/secure-image-after-upgrade-redirect-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades-expected.txt: Added.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/http-0.9/iframe-blocked-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/about-blank-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/data-url-iframe-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/data-url-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-css-with-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-form-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-iframe-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/insecure-image-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/javascript-url-form-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/inspector/page/frameScheduledNavigation-expected.txt: Added.
        * platform/wk2/loader/go-back-cached-main-resource-expected.txt: Added.
        * platform/wk2/webarchive/loading/mainresource-null-mimetype-crash-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/webarchive/loading/test-loading-archive-expected.txt: Copied from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.
        * platform/wk2/webarchive/loading/video-in-webarchive-expected.txt: Renamed from LayoutTests/platform/mac/webarchive/loading/mainresource-null-mimetype-crash-expected.txt.

2018-03-14  Ryan Haddad  <ryanhaddad@apple.com>

        Skip three svg LayoutTests.
        https://bugs.webkit.org/show_bug.cgi?id=183572

        Unreviewed test gardening.

        * TestExpectations:

2018-03-14  Alicia Boya García  <aboya@igalia.com>

        Unreviewed GTK test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=183636

        * platform/gtk/TestExpectations:

2018-03-14  Chris Fleizach  <cfleizach@apple.com>

        AX: Implement accessible dismiss action on iOS
        https://bugs.webkit.org/show_bug.cgi?id=183352
        <rdar://problem/38161500>

        Reviewed by Zalan Bujtas.

        * accessibility/ios-simulator/AOM-dismiss-event-expected.txt: Added.
        * accessibility/ios-simulator/AOM-dismiss-event.html: Added.
        * platform/mac-wk1/TestExpectations:

2018-03-14  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
        https://bugs.webkit.org/show_bug.cgi?id=183481

        Reviewed by Eric Carlson.

        * webrtc/video-stats.html:

2018-03-14  Frederic Wang  <fwang@igalia.com>

        Finish migration to MathML WPT tests
        https://bugs.webkit.org/show_bug.cgi?id=183628

        Reviewed by Manuel Rego Casasnovas.

        In r225162, the MathML tests from the WPT repository were imported. They were intended to
        replace the ones in imported/mathml-in-html5 but the migration was not fully possible. The
        main issue was that many MathML tests use Web fonts to test the use of OpenType parameters
        but document.fonts.ready is unreliable in WebKit (bug 174030). A workaround was implemented
        in WPT ( https://github.com/w3c/web-platform-tests/pull/10025 ) so this commit finishes
        the migration. We update the WPT MathML tests and now run them all, we remove
        imported/mathml-in-html5 and the associated TestExpectations failures. Two cases unrelated to
        font loading are still failing: One for the SuperscriptShiftUpCramped parameter (bug 156401)
        and one for the RadicalDegreeBottomRaisePercent parameter (bug 183631).

        * TestExpectations: Unskip MathML WPT tests.
        * imported/mathml-in-html5/LICENSE: Removed.
        * imported/mathml-in-html5/README.md: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-1.html: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2.html: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/radicals/root-parameters-1.html: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1.html: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html: Removed.
        * imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html: Removed.
        * platform/mac-wk2/TestExpectations: Remove the expectation.
        * platform/win/TestExpectations: Remove the expectation.

2018-03-13  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Immediately forward cookie access for domains with previous user interaction when there's an opener document
        https://bugs.webkit.org/show_bug.cgi?id=183620
        <rdar://problem/38431469>

        Reviewed by Brent Fulgham.

        * http/tests/storageAccess/deny-storage-access-under-opener-expected.txt: Added.
        * http/tests/storageAccess/deny-storage-access-under-opener.html: Added.
        * http/tests/storageAccess/grant-storage-access-under-opener-expected.txt: Added.
        * http/tests/storageAccess/grant-storage-access-under-opener.html: Added.
        * http/tests/storageAccess/resources/set-cookie-and-report-back.html: Added.
        * platform/ios/TestExpectations:
            New tests marked as [ Pass ].
        * platform/mac-wk2/TestExpectations:
            New tests marked as [ Pass ].

2018-03-13  Youenn Fablet  <youenn@apple.com>

        Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/register-closed-window.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=182853
        <rdar://problem/37645429>

        Reviewed by Chris Dumez.

        * TestExpectations:
        * platform/ios/TestExpectations:

2018-03-13  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK expectations gardening

        * platform/gtk/TestExpectations:

2018-03-13  Youenn Fablet  <youenn@apple.com>

        Changing link element rel attribute from preload to stylesheet should succeed loading the stylesheet
        https://bugs.webkit.org/show_bug.cgi?id=183601
        <rdar://problem/38309441>

        Reviewed by Antti Koivisto.

        * http/wpt/preload/change-link-rel-attribute-expected.txt: Added.
        * http/wpt/preload/change-link-rel-attribute.html: Added.
        * http/wpt/preload/resources/style.css: Added.
        (body):

2018-03-13  Frederic Wang  <fwang@igalia.com>

        Skip mathml-in-dashboard-expected on Windows
        https://bugs.webkit.org/show_bug.cgi?id=183562

        There is no dashboard compatibility mode on Windows so the test is not necessary.

        Reviewed by Alexey Proskuryakov.

        * platform/win/TestExpectations: Skip test.
        * platform/win/mathml/mathml-in-dashboard-expected.png: Removed.
        * platform/win/mathml/mathml-in-dashboard-expected.txt: Removed.

2018-03-13  Chris Dumez  <cdumez@apple.com>

        fast/loader/javascript-url-iframe-remove-on-navigate.html is flaky with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183588

        Reviewed by Alex Christensen.

        The test was setting the frame's src to a javascript URL in a setTimeout(0), expecting the
        navigation policy delegate to have already completed. However, with asynchronous policy
        delegates, this is not necessarily the case. Therefore, we now wait for the beforeunload
        event to be fired at the window, since this indicates a policy decision has been made and
        we are actually navigating.

        I checked that this test was printing the "FAIL" alert in both Firefox and Chrome before
        this change.

        * fast/loader/javascript-url-iframe-remove-on-navigate-async-delegate-expected.txt: Added.
        * fast/loader/javascript-url-iframe-remove-on-navigate-async-delegate.html: Added.
        * fast/loader/javascript-url-iframe-remove-on-navigate.html:

2018-03-13  Ross Kirsling  <ross.kirsling@sony.com>

        [Win] Layout Test fast/html/menuitem-element.html is failing.
        https://bugs.webkit.org/show_bug.cgi?id=179299

        Reviewed by Per Arne Vollan.

        * platform/win/TestExpectations:
        Remove "failure" line.

2018-03-13  Danyao Wang  <danyao@chromium.org>

        LayoutTests/http/tests/navigation/page-cache-iframe-provisional-load.html fails with async policy delegate
        https://bugs.webkit.org/show_bug.cgi?id=183386

        Reviewed by Chris Dumez.

        This test relies on the happenstance that with sync poicy decision, the subframe transitions
        to FrameLoadProvisional before main frame navigation is committed. With async delegate,
        policy checks for the main frame and subframe are interleaved. When the main frame policy
        decision is received, it cancels the subframe check. So the page ends up being cached when
        navigating away. This is working as intended.

        * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates-expected.txt: Added.
        * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: Copied from LayoutTests/http/tests/navigation/page-cache-iframe-provisional-load.html.
        Add a new version of the test that forces async policy delegate.

        * http/tests/navigation/page-cache-iframe-provisional-load.html:
        Update test to sequence main frame navigation after start of provisional navigation in subframe.

2018-03-13  Frederic Wang  <fwang@igalia.com>

        Rewrite frameset-flattening-simple to make expectation clearer
        https://bugs.webkit.org/show_bug.cgi?id=183129

        The description of fast/frames/flattening/frameset-flattening-simple.html says that the
        iframe should be 800px wide and should not have any scrollbars. However, it is a bit
        difficult to know the size when checking the test visually. Moreover, the scrollbars of the
        main frame are visible, which makes things a bit confusing and may be the cause of bug 71655
        on GTK.

        Reviewed by Javier Fernandez.

        * fast/frames/flattening/frameset-flattening-simple.html: Put the frame inside a 200x300
        frameset cell and set its width to 300px. The frame should be a 300x300 square when it is
        flattened (test passes) and a 200x300 rectangle when it is not (test fails). That's easier
        to verify visually. That also avoids scrollbars on the main frame.
        * platform/gtk/TestExpectations: Attempt to remove flacky expectation.
        * platform/gtk/fast/frames/flattening/frameset-flattening-simple-expected.png: Update.
        * platform/gtk/fast/frames/flattening/frameset-flattening-simple-expected.txt: Ditto.
        * platform/ios/fast/frames/flattening/frameset-flattening-simple-expected.txt: Ditto.
        * platform/mac-wk2/fast/frames/flattening/frameset-flattening-simple-expected.txt: Ditto.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.png: Ditto.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: Ditto.
        * platform/win/fast/frames/flattening/frameset-flattening-simple-expected.txt: Ditto.

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

        Load may get committed before receiving policy for the resource response
        https://bugs.webkit.org/show_bug.cgi?id=183579
        <rdar://problem/38268780>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/cache/cachedEntry-waits-for-response-policy-expected.txt: Added.
        * http/tests/cache/cachedEntry-waits-for-response-policy.html: Added.

2018-03-12  Ali Juma  <ajuma@chromium.org>

        http/tests/workers/service/service-worker-download.https.html times out with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183479

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/service-worker-download-async-delegates.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-download-async-delegates.https.html: Added.

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

        http/tests/security/frame-loading-via-document-write-async-delegates.html fails with async delegates
        https://bugs.webkit.org/show_bug.cgi?id=183460

        Reviewed by Alex Christensen.

        The test has 3 frames which all initially load "about:blank". Then using document.write(), it inserts
        HTML in each frame.
        Frame 1: body has an onload event handler, which calls JS is click an anchor link to navigate the frame.
        Frame 2: body has an onload event handler to do some logging
        Frame 3: body has an onload event handler and finishes the test (calls testRunner.notifyDone())

        The issue is that with asynchronous policy delegates, the first frame may not have navigated yet by the
        time the third frame is loaded. Indeed, the onload event of the first frame merely clicks am anchor link
        which will trigger a navigation policy check and then later navigate.

        To make the test more robust, we now count the number of loads and call testRunner.notifyDone() when
        we've reached the expected number of loads.

        * http/tests/security/frame-loading-via-document-write-async-delegates-expected.txt: Added.
        * http/tests/security/frame-loading-via-document-write-async-delegates.html: Copied from LayoutTests/http/tests/security/frame-loading-via-document-write.html.
        * http/tests/security/frame-loading-via-document-write.html:
        * http/tests/security/resources/frame-loading-via-document-write.js:

2018-03-12  Per Arne Vollan  <pvollan@apple.com>

        Mark webanimations/css-animations.html and webanimations/css-transitions.html as failures on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=183569

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-12  Frederic Wang  <fwang@igalia.com>

        Do not rely on Latin Modern Math to test fraction/radical bars
        https://bugs.webkit.org/show_bug.cgi?id=183446

        Reviewed by Manuel Rego Casasnovas.

        mathml/opentype/fraction-line.html was added in bug 155639 to test OpenType MATH parameters
        for fraction but relies on the presence of the Latin Modern Math font, which is not available
        on several platforms. Since these features are now already covered by the Web Platform
        tests in Layout/imported/mathml-in-html5/mathml/presentation-markup/fractions/ we just remove
        the test. Similarly, mathml/presentation/fractions-linethickness.html relies on Latin Modern
        Math to ensure correct linethickness and we rewrite that test to use the web font
        fraction-rulethickness10000.woff instead. We perform similar rewriting for
        radical-bar-visibility.html, using a WOFF font with a specified radical line thickness.
        Finally, we update the test expectations accordingly on iOS, macOS and Windows platform.

        * mathml/opentype/fraction-line.html: Removed. Already tested by other tests.
        * mathml/opentype/fraction-line-expected.html: Ditto.
        * mathml/presentation/fractions-linethickness.html: Use fraction-rulethickness10000.woff
        * mathml/presentation/fractions-linethickness-expected.html: Ditto.
        * mathml/presentation/radical-bar-visibility.html: Use radical-degreebottomraisepercent25-rulethickness1000.woff
        * platform/ios/TestExpectations: Update expectations.
        * platform/mac/TestExpectations: Ditto.
        * platform/win/TestExpectations: Ditto.

2018-03-12  Javier Fernandez  <jfernandez@igalia.com>

        Remove GridLayout runtime flag
        https://bugs.webkit.org/show_bug.cgi?id=183484

        Reviewed by Myles C. Maxfield.

        Since the GridLayout runtime flag is removed and the feature
        enabled by default, we don't need the tests verifying the
        codepaths run when the feature is disabled.

        * css3/flexbox/flexbox-lines-must-be-stretched-by-default.html:
        * css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled-expected.txt: Removed.
        * css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html: Removed.
        * fast/css-grid-layout/grid-disable-expected.txt: Removed.
        * fast/css-grid-layout/grid-disable.html: Removed.
        * fast/css/ensure-flexbox-compatibility-with-initial-values-expected.txt: Removed.
        * fast/css/ensure-flexbox-compatibility-with-initial-values.html: Removed.

2018-03-12  Antoine Quint  <graouts@apple.com>

        [Web Animations] Implement CSS Animations and CSS Transitions as Web Animations
        https://bugs.webkit.org/show_bug.cgi?id=183504
        <rdar://problem/38372965>

        Reviewed by Dean Jackson and Jon Lee.

        Add a series of new tests to check CSSAnimation and CSSTransition objects are correctly created
        as CSS animation-* and CSS transition-* properties are used. We also update some existing tests
        to use a more concise API since we've implement Element.animate() since their creation.

        * webanimations/animation-opacity-animation-crash.html:
        * webanimations/css-animations-expected.txt: Added.
        * webanimations/css-animations.html: Added.
        * webanimations/css-transitions-expected.txt: Added.
        * webanimations/css-transitions.html: Added.
        * webanimations/opacity-animation-no-longer-composited-upon-completion.html:
        * webanimations/opacity-animation-yields-compositing.html:

2018-03-09  Zalan Bujtas  <zalan@apple.com>

        Turn off offset*/scroll* optimization for input elements with shadow content
        https://bugs.webkit.org/show_bug.cgi?id=182383
        <rdar://problem/37114190>

        Reviewed by Antti Koivisto.

        * fast/forms/scrollheight-with-mutation-crash-expected.txt: Added.
        * fast/forms/scrollheight-with-mutation-crash.html: Added.

2018-03-10  Wenson Hsieh  <wenson_hsieh@apple.com>

        [macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails
        https://bugs.webkit.org/show_bug.cgi?id=183485
        <rdar://problem/38041984>

        Reviewed by Ryosuke Niwa.

        Rebaseline some pasteboard-related layout tests, in which we now expose text/plain alongside files that were
        written to the DataTransfer by the page itself.

        * editing/pasteboard/data-transfer-item-list-add-file-multiple-times-expected.txt:
        * editing/pasteboard/data-transfer-item-list-add-file-on-copy-expected.txt:
        * editing/pasteboard/data-transfer-item-list-add-file-on-drag-expected.txt:

2018-03-09  Chris Dumez  <cdumez@apple.com>

        inspector/page/frameScheduledNavigation.html has different output with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183469

        Reviewed by Ryosuke Niwa.

        The test tracks 3 internal events:
        1. frameScheduledNavigation
        2. frameStartedLoading
        3. frameClearedScheduledNavigation

        Without async policy delegates, the events happen in this order. However, with asynchronous
        policy delegates, frameStartedLoading happens *after* frameClearedScheduledNavigation. What
        happens *before* frameClearedScheduledNavigation is the navigation policy check. When we
        get the policy response to continue (asynchronously), we then actually start the load and
        frameStartedLoading gets logged.

        * inspector/page/frameScheduledNavigation-async-delegates-expected.txt: Added.
        * inspector/page/frameScheduledNavigation-async-delegates.html: Copied from LayoutTests/inspector/page/frameScheduledNavigation.html.
        * inspector/page/frameScheduledNavigation.html:

2018-03-09  Chris Fleizach  <cfleizach@apple.com>

        AX: WebKit seems to be running spell checker even on non-editable content text
        https://bugs.webkit.org/show_bug.cgi?id=183456
        <rdar://problem/38076042>

        Reviewed by Joanmarie Diggs.

        * accessibility/mac/attributed-string/attributed-string-does-not-includes-misspelled-for-non-editable-expected.txt: Added.
        * accessibility/mac/attributed-string/attributed-string-does-not-includes-misspelled-for-non-editable.html: Added.
        * accessibility/mac/attributed-string/attributed-string-for-range-with-options.html:
        * accessibility/mac/attributed-string/attributed-string-for-range.html:
             Update tests to reflect that only editable content returns misspelled attributes.

2018-03-09  Nan Wang  <n_wang@apple.com>

        AX: AOM: More accessibility events support
        https://bugs.webkit.org/show_bug.cgi?id=183023
        <rdar://problem/37764380>

        Reviewed by Chris Fleizach.

        * accessibility/mac/AOM-events-webarea-crash.html:

2018-03-09  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r229468.

        This change caused http/tests/security/frame-loading-via-
        document-write.html to fail.

        Reverted changeset:

        "http/tests/security/frame-loading-via-document-write-async-
        delegates.html fails with async delegates"
        https://bugs.webkit.org/show_bug.cgi?id=183460
        https://trac.webkit.org/changeset/229468

2018-03-09  Youenn Fablet  <youenn@apple.com>

        ServiceWorker should respect IDB and DOMCache partitioning
        https://bugs.webkit.org/show_bug.cgi?id=183496

        Reviewed by Brady Eidson.

        * http/wpt/service-workers/resources/third-party-registration-frame.html: Added.
        * http/wpt/service-workers/resources/third-party-worker.js: Added.
        * http/wpt/service-workers/third-party-registration-expected.txt: Added.
        * http/wpt/service-workers/third-party-registration.html: Added.

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

        Add new CSS env constants for use with fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=183498

        Reviewed by Dean Jackson.

        * fullscreen/full-screen-test.js:
        (run):
        * fullscreen/fullscreen-auto-hide-delay-expected.txt: Added.
        * fullscreen/fullscreen-auto-hide-delay.html: Added.
        * fullscreen/fullscreen-inset-top-expected.txt: Added.
        * fullscreen/fullscreen-inset-top.html: Added.

2018-03-09  Zalan Bujtas  <zalan@apple.com>

        RenderTreeBuilder::splitAnonymousBoxesAroundChild should take multicolumn spanners into account.
        https://bugs.webkit.org/show_bug.cgi?id=183493
        <rdar://problem/38030461>

        Reviewed by Antti Koivisto.

        * fast/multicol/adjust-beforeChild-for-spanner-crash-expected.txt: Added.
        * fast/multicol/adjust-beforeChild-for-spanner-crash.html: Added.

2018-03-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>

        [webkitpy, WinCairo] Launch Apache HTTPD for HTTP Tests.
        https://bugs.webkit.org/show_bug.cgi?id=183265

        Reviewed by Daniel Bates.

        Launch apache httpd server from python script for WinCairo HTTP LayoutTests. By now, AppleWin uses
        Cygwin to launch httpd server. This patch enables native Windows to run HTTP LayoutTests by starting
        and stopping httpd server from the script.

        * http/conf/win-httpd-2.4-php7.conf: Added.
        For WinCairo from native Windows environment.

2018-03-09  Chris Dumez  <cdumez@apple.com>

        http/tests/security/frame-loading-via-document-write-async-delegates.html fails with async delegates
        https://bugs.webkit.org/show_bug.cgi?id=183460

        Reviewed by Alex Christensen.

        The test has 3 frames which all initially load "about:blank". Then using document.write(), it inserts
        HTML in each frame.
        Frame 1: body has an onload event handler, which calls JS is click an anchor link to navigate the frame.
        Frame 2: body has an onload event handler to do some logging
        Frame 3: body has an onload event handler and finishes the test (calls testRunner.notifyDone())

        The issue is that with asynchronous policy delegates, the first frame may not have navigated yet by the
        time the third frame is loaded. Indeed, the onload event of the first frame merely clicks am anchor link
        which will trigger a navigation policy check and then later navigate.

        To make the test more robust, we now count the number of loads and call testRunner.notifyDone() when
        we've reached the expected number of loads.

        * http/tests/security/frame-loading-via-document-write-async-delegates-expected.txt: Added.
        * http/tests/security/frame-loading-via-document-write-async-delegates.html: Copied from LayoutTests/http/tests/security/frame-loading-via-document-write.html.
        * http/tests/security/frame-loading-via-document-write.html:
        * http/tests/security/resources/frame-loading-via-document-write.js:

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

        webkitfullscreenchange event not fired at the same time as :-webkit-full-screen pseudo selector changes; causes glitchiness
        https://bugs.webkit.org/show_bug.cgi?id=183383

        Fix a couple tests that depended on non-standard behavior, and skip other tests to be fixed later.

        Reviewed by Eric Carlson.

        * media/fullscreen-video-going-into-pip.html:
        * media/video-fullscreeen-only-playback.html:
        * platform/mac/TestExpectations:

2018-03-09  Frederic Wang  <fwang@igalia.com>

        Unreviewed GTK+ gardening.

        * platform/gtk/TestExpectations: Skip test requiring DASHBOARD_SUPPORT.
        * platform/gtk/mathml/mathml-in-dashboard-expected.txt: Removed.

2018-03-09  Andy Estes  <aestes@apple.com>

        [Mac] WebKit fails to receive file promises when the embedding app is sandboxed
        https://bugs.webkit.org/show_bug.cgi?id=183489
        <rdar://problem/38267517>

        Reviewed by Wenson Hsieh.

        Now that we create a unique temporary directory per drop, this test no longer encounters a
        name conflict for apple.gif.

        * editing/pasteboard/file-input-files-access-promise-expected.txt:
        * editing/pasteboard/file-input-files-access-promise.html:

2018-03-09  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        * platform/gtk/TestExpectations: Add a failure expectation for the
        http/tests/preconnect/link-header-rel-preconnect-http.html test.
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
        Update baseline after r229310.

2018-03-08  Nan Wang  <n_wang@apple.com>

        AX: AOM: More accessibility events support
        https://bugs.webkit.org/show_bug.cgi?id=183023
        <rdar://problem/37764380>

        Reviewed by Chris Fleizach.

        * accessibility/mac/AOM-events-webarea-crash-expected.txt: Added.
        * accessibility/mac/AOM-events-webarea-crash.html: Added.

2018-03-08  Chris Dumez  <cdumez@apple.com>

        Safari not handling undefined global variables with same name as element Id correctly.
        https://bugs.webkit.org/show_bug.cgi?id=183087
        <rdar://problem/37927596>

        Reviewed by Ryosuke Niwa.

        * fast/dom/Window/es52-globals-expected.txt:
        Rebaseline test now that we are passing more checks. This covers the code change.

        * fast/forms/listbox-visible-size.html:
        * js/dom/var-declarations-shadowing-expected.txt:
        * js/dom/var-declarations-shadowing.html:
        Tweak existing tests due to behavior change. I have checked that these tests
        were failing in other browsers as well.

2018-03-08  Chris Dumez  <cdumez@apple.com>

        fast/events/before-unload-returnValue.html times out with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183472

        Reviewed by Ryosuke Niwa.

        Delay setting the beforeunload handler on the iframe until after the initial load
        (of resources/onclick.html). With asynchronous policy delegates, the beforeunload
        handler was set too early, during the async policy decision for navigating to
        "resources/onclick.html". As a result, the beforeunload handler would get called
        for the load to "resources/onclick.html", after receiving the navigation policy
        decision, which the test does not expect. The test only expects the beforeunload
        handler to be called for later navigations to "resources/does-not-exist.html".

        * fast/events/before-unload-returnValue-async-delegates-expected.txt: Copied from LayoutTests/fast/events/before-unload-returnValue-expected.txt.
        * fast/events/before-unload-returnValue-async-delegates.html: Copied from LayoutTests/fast/events/before-unload-returnValue.html.
        * fast/events/before-unload-returnValue-expected.txt:
        * fast/events/before-unload-returnValue.html:

2018-03-08  Chris Dumez  <cdumez@apple.com>

        fast/html/marquee-reparent-check.html is flaky with async delegates
        https://bugs.webkit.org/show_bug.cgi?id=183425

        Reviewed by Youenn Fablet.

        The test was missing the "TEST COMPLETE" line at the end of its output.
        When enabling async delegates, the "TEST COMPLETE" line would sometimes
        show. Move the test away from js-test.js and to js-test-pre.js / js-test-post.js
        so that the "TEST COMPLETE" line gets printed out consistently.

        * fast/html/marquee-reparent-check-expected.txt:
        * fast/html/marquee-reparent-check.html:

2018-03-08  Chris Dumez  <cdumez@apple.com>

        Unreviewed, skip imported/w3c/web-platform-tests/cors/remote-origin.htm

        This test is timing out via testharness.js, there is no point in running it and
        it slows down running layout tests.

        * TestExpectations:

2018-03-08  Ryan Haddad  <ryanhaddad@apple.com>

        Move a test from fast/DOM to fast/dom and delete the fast/DOM directory.

        Unreviewed test gardening.

        * fast/dom/HTMLInputElement/input-value-and-type-change-crash-expected.txt: Renamed from LayoutTests/fast/DOM/HTMLInputElement/input-value-and-type-change-crash-expected.txt.
        * fast/dom/HTMLInputElement/input-value-and-type-change-crash.html: Renamed from LayoutTests/fast/DOM/HTMLInputElement/input-value-and-type-change-crash.html.

2018-03-08  Frederic Wang  <fwang@igalia.com>

        Add references to bug 160161 for some MathML failures on iOS and macOS.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-03-08  Frederic Wang  <fwang@igalia.com>

        [iOS] Unskip MathML tests requiring a font with Mathematical Alphanumeric Symbols
        https://bugs.webkit.org/show_bug.cgi?id=183445

        Unreviewed test gardening.

        * platform/ios/TestExpectations: Unskip the tests.

2018-03-08  Frederic Wang  <fwang@igalia.com>

        [iOS] Update PNG expectations for some MathML pixel tests.

        Unreviewed test gardening.

        * platform/ios/TestExpectations: Remove ImageOnlyFailure for pixel tests, add reference to
        bug 183441 for the reftest.
        * platform/ios/mathml/opentype/opentype-stretchy-expected.png: Update expectation.
        * platform/ios/mathml/presentation/menclose-notation-values-expected.png: Ditto.
        * platform/ios/mathml/presentation/mo-stretch-expected.png: Ditto.
        * platform/ios/mathml/presentation/roots-expected.png: Ditto.
        * platform/ios/mathml/radical-fallback-expected.png: Ditto.

2018-03-07  Zalan Bujtas  <zalan@apple.com>

        Invalid innerTextRenderer in RenderTextControlSingleLine::styleDidChange()
        https://bugs.webkit.org/show_bug.cgi?id=183385
        <rdar://problem/38085397>

        Reviewed by Antti Koivisto.

        * fast/DOM/HTMLInputElement/input-value-and-type-change-crash-expected.txt: Added.
        * fast/DOM/HTMLInputElement/input-value-and-type-change-crash.html: Added.

2018-03-06  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for media/modern-media-controls/fullscreen-support/fullscreen-support-press.html.
        https://bugs.webkit.org/show_bug.cgi?id=173946

        Unreviewed test gardening.

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

2018-03-07  Sihui Liu  <sihui_liu@apple.com>

        replaceState cause back/forward malfunction on html page with <base href="/"> tag
        https://bugs.webkit.org/show_bug.cgi?id=182678
        <rdar://problem/37517821>

        Reviewed by Chris Dumez.

        * http/tests/history/replacestate-no-url-expected.txt: Added.
        * http/tests/history/replacestate-no-url.html: Added.
        Add layout test coverage.

        * fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange-expected.txt:
        Rebaseline a layout test as empty string for URL is handled differently.

2018-03-07  Chris Dumez  <cdumez@apple.com>

        http/tests/misc/location-replace-crossdomain.html is failing with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183408

        Reviewed by Alex Christensen.

        The test was trying to navigate a cross-origin iframe via location.replace() and checking
        that the load succeeded in a setTimeout(1). There is no guarantee that the frame has loaded
        by that point. We would normally rely on the 'load' event but it is not feasible here since
        the iframe is cross-origin. Instead, I opted to have the iframe to a page that posts a
        message to its parent window to indicate that the load has succeeded.

        * http/tests/misc/location-replace-crossdomain-async-delegates-expected.txt: Added.
        * http/tests/misc/location-replace-crossdomain-async-delegates.html: Added.
        * http/tests/misc/location-replace-crossdomain-expected.txt: Added.
        * http/tests/misc/location-replace-crossdomain.html:
        * platform/gtk/http/tests/misc/location-replace-crossdomain-expected.txt: Removed.
        * platform/ios/http/tests/misc/location-replace-crossdomain-expected.txt: Removed.
        * platform/mac/http/tests/misc/location-replace-crossdomain-expected.txt: Removed.
        * platform/win/http/tests/misc/location-replace-crossdomain-expected.txt: Removed.

2018-03-07  Per Arne Vollan  <pvollan@apple.com>

        Fix incorrect test expectations for http/wpt/resource-timing/rt-initiatorType-media.html.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-07  Chris Dumez  <cdumez@apple.com>

        http/tests/dom/window-open-about-webkit-org-and-access-document.html is failing with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183394

        Reviewed by Alex Christensen.

        http/tests/dom/window-open-about-webkit-org-and-access-document.html is failing with async policy delegates.
        The issue is that the test calls window.open() with a cross-origin URL and then right away tries to access
        newWindow.document, expecting it to throw. However, there is no guarantee that the cross origin URL has
        started loading at this point. In particular, when the navigation policy decision is made asynchronously,
        the URL is initially "about:blank" and it is OK to access the newWindow's document at this point.

        We would normally rely on the window's load event before doing the check. However, this would not work
        here since the window is cross origin. As a result, I am using a setInterval() in order to wait for the
        cross-origin URL to load and for newWindow.document to start throwing.

        * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates-expected.txt: Added.
        * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: Added.
        * http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt:
        * http/tests/dom/window-open-about-webkit-org-and-access-document.html:

2018-03-07  Yusuke Suzuki  <utatane.tea@gmail.com>

        HTML `pattern` attribute should set `u` flag for regular expressions
        https://bugs.webkit.org/show_bug.cgi?id=151598

        Reviewed by Chris Dumez.

        * fast/forms/ValidityState-patternMismatch-expected.txt:
        * fast/forms/ValidityState-patternMismatch.html:

2018-03-07  Frederic Wang  <fwang@igalia.com>

        Relayout frames after AsyncFrameScrolling or FrameFlattening option is changed
        https://bugs.webkit.org/show_bug.cgi?id=183081

        Reviewed by Antonio Gomes.

        Add a test to check whether an iframe changes its flattening status after one of the option
        AsyncFrameScrolling/FrameFlattening is enabled/disabled.

        * platform/ios-simulator/TestExpectations: Remove failure for scrolling-in-object.html.
        * platform/ios/fast/frames/flattening/iframe-flattening-async-frame-scrolling-dynamic-expected.txt: Added.
        * platform/ios/fast/frames/flattening/iframe-flattening-async-frame-scrolling-dynamic.html: Added.

2018-03-07  Per Arne Vollan  <pvollan@apple.com>

        Mark http/wpt/resource-timing/rt-initiatorType-media.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179297

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-07  Ms2ger  <Ms2ger@igalia.com>

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

        Unreviewed test gardening.

        * platform/gtk/TestExpectations: skip some more appcache-sw tests.
        * platform/wpe/TestExpectations:
          - Mark http/tests/appcache/different-https-origin-resource-main.html as passing after r228892.
          - Mark fast/canvas/canvas-createPattern-video-modify.html as passing after r228221.
          - Mark storage/indexeddb/modern/index-3-private.html as passing since r228560.
          - Skip some more appcache - service worker tests.
          - Mark some svg/animations tests as flaky (as they already are on GTK).
          - Mark imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys.html as passing after r228983.
          - Mark http/tests/appcache/fail-on-update-2.html as flaky.
        * platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Added baseline.
        * platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Added baseline.
        * platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Added baseline.
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt: rebaseline.

2018-03-07  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] fast/animation/request-animation-frame-during-modal.html sometimes crashing

        Unreviewed gardening
        * platform/gtk/TestExpectations:

2018-03-06  Per Arne Vollan  <pvollan@apple.com>

        Skip fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html and related tests on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=183393

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-06  Ross Kirsling  <ross.kirsling@sony.com>

        [WinCairo] Unreviewed. Add platform-specific expectations.

        Individual filenames are omitted for brevity.

        * platform/wincairo/accessibility/: Added.
        * platform/wincairo/animations/: Added.
        * platform/wincairo/css1/: Added.
        * platform/wincairo/css2.1/: Added.
        * platform/wincairo/css3/: Added.
        * platform/wincairo/editing/: Added.
        * platform/wincairo/fast/: Added.
        * platform/wincairo/fonts/: Added.
        * platform/wincairo/ietestcenter/: Added.
        * platform/wincairo/js/: Added.
        * platform/wincairo/mathml/: Added.
        * platform/wincairo/media/: Added.
        * platform/wincairo/plugins/: Added.
        * platform/wincairo/printing/: Added.
        * platform/wincairo/scrollbars/: Added.
        * platform/wincairo/svg/: Added.
        * platform/wincairo/tables/: Added.
        * platform/wincairo/transforms/: Added.
        * platform/wincairo/transitions/: Added.

2018-03-06  Youenn Fablet  <youenn@apple.com>

        didReceiveServerRedirectForProvisionalNavigation is not called in case of document redirection with service worker registration change
        https://bugs.webkit.org/show_bug.cgi?id=183299
        <rdar://problem/37547029>

        Reviewed by Alex Christensen.

        * http/wpt/service-workers/navigation-redirect-main-frame-worker.js: Added.
        * http/wpt/service-workers/navigation-redirect-main-frame.https-expected.txt: Added.
        * http/wpt/service-workers/navigation-redirect-main-frame.https.html: Added.

2018-03-06  Chris Dumez  <cdumez@apple.com>

        http/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-async-delegate.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=183390

        Unreviewed, temporarily mark the test as flaky while I investigate.

        * platform/mac-wk1/TestExpectations:

2018-03-06  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed, fixed incorrect name of test expectation file.

        * platform/win/fast/text/combining-enclosing-keycap-expected.txt: Copied from LayoutTests/platform/win/fast/text/combining-enclosing-keycap.txt.
        * platform/win/fast/text/combining-enclosing-keycap.txt: Removed.

2018-03-06  Nan Wang  <n_wang@apple.com>

        AX: Flaky test after r229310
        https://bugs.webkit.org/show_bug.cgi?id=183376
        <rdar://problem/38188685>

        Reviewed by Chris Fleizach.

        * accessibility/mac/AOM-events-all-expected.txt:
        * accessibility/mac/AOM-events-all.html:

2018-03-06  Chris Dumez  <cdumez@apple.com>

        fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html fails with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183345

        Reviewed by Alex Christensen.

        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-async-delegates-expected.txt: Added.
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-async-delegates.html: Added.
        Add layout test coverage.

        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt:
        * fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html:
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt:
        * fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html:
        * fast/loader/window-open-to-invalid-url-disallowed-expected.txt:
        * fast/loader/window-open-to-invalid-url-disallowed.html:
        * platform/mac-wk1/fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt:
        * platform/mac-wk1/fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-async-delegates-expected.txt: Added.
        * platform/mac-wk1/fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt:
        * platform/mac-wk1/fast/loader/window-open-to-invalid-url-disallowed-expected.txt:
        Update tests that were relying on a 0-timer to make sure that didCancelClientRedirectForFrame was
        called to rely on our new test infrastructure instead. This is needed so that these tests keep passing
        once we make policy delegates asynchronous by default. Without this, the didCancelClientRedirectForFrame lines
        would be missing in the tests' output.

2018-03-06  Youenn Fablet  <youenn@apple.com>

        Service worker test gardening
        https://bugs.webkit.org/show_bug.cgi?id=183264
        <rdar://problem/38048743>

        Unreviewed.

        * TestExpectations: mark test as slow in Debug.

2018-03-06  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Add new baseline after r229177

        Unreviewed gardening.

        This baseline is needed because our mimetype database recognizes
        the type of the file in the test and therefore the extension gets
        added to the downloaded file.
        * platform/gtk/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate-expected.txt: Added.

2018-03-06  Per Arne Vollan  <pvollan@apple.com>

        Unreviewed, add baseline for fast/text/combining-enclosing-keycap.html.

        * platform/win/fast/text/combining-enclosing-keycap.txt: Added.

2018-03-06  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Mark a few Wayland tests as failing

        Unreviewed gardening
        * platform/gtk-wayland/TestExpectations:

2018-03-06  Dominik Infuehr  <dinfuehr@igalia.com>

        [ARM] Disable tests that run out of memory
        https://bugs.webkit.org/show_bug.cgi?id=182699

        Reviewed by Žan Doberšek.

        Do not run test with LLInt disabled on Linux.

        * js/script-tests/dfg-osr-entry-hoisted-clobbered-structure-check.js:

2018-03-06  Nan Wang  <n_wang@apple.com>

        AX: AOM: More accessibility events support
        https://bugs.webkit.org/show_bug.cgi?id=183023
        <rdar://problem/37764380>

        Reviewed by Chris Fleizach.

        * accessibility/mac/AOM-events-all-expected.txt: Added.
        * accessibility/mac/AOM-events-all.html: Added.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2018-03-05  Yoav Weiss  <yoav@yoav.ws>

        Support for preconnect Link headers
        https://bugs.webkit.org/show_bug.cgi?id=181657

        Reviewed by Darin Adler.

        Add test to see Link preconnect headers trigger a connection.

        * http/tests/preconnect/link-header-rel-preconnect-http-expected.txt: Added.
        * http/tests/preconnect/link-header-rel-preconnect-http.html: Added.
        * http/tests/preconnect/resources/header-preconnect.php: Added.
        * platform/win/TestExpectations: Skipped the preconnect test directory, rather than the individual files in it.

2018-03-05  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/registration-updateviacache.https.html as slow.
        https://bugs.webkit.org/show_bug.cgi?id=180982

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-03-05  Chris Dumez  <cdumez@apple.com>

        fast/loader/onload-policy-ignore-for-frame.html is timing out with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183337

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/loader/onload-policy-ignore-for-frame-async-delegates-expected.txt: Added.
        * fast/loader/onload-policy-ignore-for-frame-async-delegates.html: Added.

2018-03-05  Andy Estes  <aestes@apple.com>

        [Mac] Teach WebCore::Pasteboard about file promise drags
        https://bugs.webkit.org/show_bug.cgi?id=183314
        <rdar://problem/38105493>

        Reviewed by Darin Adler.

        Added versions of file dragging tests in editing/pasteboard/ that use
        beginDragWithFilePromises() instead of beginDragWithFiles().

        * TestExpectations: Skipped the new tests.
        * editing/pasteboard/data-transfer-items-drag-drop-file-promise-expected.txt: Added.
        * editing/pasteboard/data-transfer-items-drag-drop-file-promise.html: Added.
        * editing/pasteboard/data-transfer-items-drop-file-promise-expected.txt: Added.
        * editing/pasteboard/data-transfer-items-drop-file-promise.html: Added.
        * editing/pasteboard/datatransfer-items-drop-plaintext-file-promise-expected.txt: Added.
        * editing/pasteboard/datatransfer-items-drop-plaintext-file-promise.html: Added.
        * editing/pasteboard/datatransfer-types-dropping-text-file-promise-expected.txt: Added.
        * editing/pasteboard/datatransfer-types-dropping-text-file-promise.html: Added.
        * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs-expected.txt: Added.
        * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: Added.
        * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment-expected.txt: Added.
        * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: Added.
        * editing/pasteboard/file-input-files-access-promise-expected.txt: Added.
        * editing/pasteboard/file-input-files-access-promise.html: Added.
        * platform/mac-wk1/TestExpectations: Un-skipped the new tests.
        * platform/win/TestExpectations: Skipped the new tests.

2018-03-05  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, add baseline for fast/text/combining-enclosing-keycap.html.

        * platform/ios/fast/text/combining-enclosing-keycap-expected.txt: Added.
        * platform/mac/fast/text/combining-enclosing-keycap-expected.txt: Added.

2018-03-05  Ali Juma  <ajuma@chromium.org>

        imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click-404.html times out with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183297

        Reviewed by Chris Dumez.

        Add layout test coverage. Copy expectations from the existing sync-policy version of the test.

        * http/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404-expected.txt: Added.
        * http/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404.html: Added.
        * http/wpt/html/semantics/text-level-semantics/the-a-element/resources/a-download-404.html: Added.
        * platform/ios-wk2/http/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404-expected.txt: Added.
        * platform/mac-wk1/http/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404-expected.txt: Added.
        * platform/win/http/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404-expected.txt: Added.
        * platform/wpe/TestExpectations:

2018-03-05  Youenn Fablet  <youenn@apple.com>

        Service worker test gardening
        https://bugs.webkit.org/show_bug.cgi?id=183264
        <rdar://problem/38048743>

        Unreviewed.

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

2018-03-05  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] fast/events/blur-focus-window-should-blur-focus-element.html failing

        Unreviewed gardening.

        * platform/gtk/TestExpectations: Move this test to the failing test section.

2018-03-05  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Implement WTR's PlatformWebView::setWindowIsKey()
        https://bugs.webkit.org/show_bug.cgi?id=183143

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations: Unmark the passing tests

2018-03-04  Per Arne Vollan  <pvollan@apple.com>

        Mark http/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-async-delegate.html as failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=183322

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-03-03  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Delete incorrect version of clampTo() function from SVGToOTFFontConversion.cpp
        https://bugs.webkit.org/show_bug.cgi?id=183165

        Reviewed by Darin Adler.

        Re-baseline the results of these two tests since the local version of
        clampTo() was not returning the expected results always.

        * platform/ios/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
        * platform/ios/svg/text/text-altglyph-01-b-expected.txt:

2018-03-03  Zalan Bujtas  <zalan@apple.com>

        [RenderTreeBuilder] Move styleDidChange mutation logic to RenderTreeUpdater
        https://bugs.webkit.org/show_bug.cgi?id=183273
        <rdar://problem/38054892>

        Reviewed by Antti Koivisto.

        This is just a different repaint order.

        * fast/repaint/absolute-position-change-containing-block-expected.txt:

2018-03-03  Yoav Weiss  <yoav@yoav.ws>

        Link headers for subresources are not being processed
        https://bugs.webkit.org/show_bug.cgi?id=181789

        Reviewed by Youenn Fablet.

        Adds tests to make sure Link headers on subresources are being processed.

        * http/tests/preload/link-header-on-subresource-expected.txt: Added.
        * http/tests/preload/link-header-on-subresource.html: Added.
        * http/tests/preload/resources/dummy-preloads-subresource.css.php: Added.

2018-03-02  Youenn Fablet  <youenn@apple.com>

        Service worker test gardening
        https://bugs.webkit.org/show_bug.cgi?id=183264
        <rdar://problem/38048743>

        Unreviewed.

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

2018-03-02  Chris Dumez  <cdumez@apple.com>

        imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html crashes with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183294
        <rdar://problem/38073596>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-async-delegate-expected.txt: Added.
        * http/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-async-delegate.html: Added.

2018-03-02  Chris Dumez  <cdumez@apple.com>

        fast/events/before-unload-remove-itself.html crashes with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183290
        <rdar://problem/38069045>

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * fast/events/before-unload-remove-itself-async-delegate-expected.txt: Added.
        * fast/events/before-unload-remove-itself-async-delegate.html: Added.

2018-03-02  Chris Dumez  <cdumez@apple.com>

        Converting a load to a download does not work with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183254
        <rdar://problem/38035334>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate-expected.txt: Added.
        * fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate.html: Added.

2018-03-02  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Unreviewed gardening

        * platform/gtk/TestExpectations: Add
        imported/w3c/web-platform-tests/css/css-ui/text-overflow-022.html,
        which started failing in the bots.

2018-03-02  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK][WPE] Update js/dom static properties after r229112

        Unreviewed gardening.
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:

2018-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r222843): [HarfBuzz] Combining enclosed keycap not correctly handled
        https://bugs.webkit.org/show_bug.cgi?id=183246

        Reviewed by Michael Catanzaro.

        * fast/text/combining-enclosing-keycap-expected.txt: Added.
        * platform/gtk/fast/text/combining-enclosing-keycap.html: Added.
        * platform/gtk/TestExpectations:

2018-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        [FreeType] Remove FontPlatformData fallbacks
        https://bugs.webkit.org/show_bug.cgi?id=183210

        Reviewed by Michael Catanzaro.

        Rebaseline 3 tests that progressed.

        * 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:

2018-03-01  Youenn Fablet  <youenn@apple.com>

        Service worker test gardening
        https://bugs.webkit.org/show_bug.cgi?id=183264

        Unreviewed.

        * TestExpectations: Unflake/Unskip some tests that seem stable now.

2018-03-01  John Wilander  <wilander@apple.com>

        Move resource load statistics tests from js-test-pre.js to js-test.js
        https://bugs.webkit.org/show_bug.cgi?id=183249
        <rdar://problem/38033096>

        Unreviewed test gardening.

        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt:
        * http/tests/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:
        * http/tests/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:
        * http/tests/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:
        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt:
        * http/tests/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:
        * http/tests/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:
        * http/tests/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:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:
        * http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html:
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt:
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt:
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html:
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html:
        * http/tests/resourceLoadStatistics/grandfathering-expected.txt:
        * http/tests/resourceLoadStatistics/grandfathering.html:
        * http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt:
        * http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
        * http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt:
        * http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt:
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt:
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
        * http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html:
        * http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html:
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt:
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt:
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html:
        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html:
        * http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt:
        * http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html:

2018-03-01  Youenn Fablet  <youenn@apple.com>

        LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=179248
        <rdar://problem/35377756>

        Reviewed by Chris Dumez.

        * TestExpectations:

2018-03-01  Youenn Fablet  <youenn@apple.com>

        Add API test to validate setting of service worker and cache storage directories
        https://bugs.webkit.org/show_bug.cgi?id=182543

        Reviewed by Chris Dumez.

        Updated tests according new engine representation.

        * http/tests/cache-storage/cache-clearing-origin.https.html:
        * http/tests/cache-storage/cache-origins.https.html:
        * http/tests/cache-storage/cache-representation.https.html:

2018-03-01  Daniel Bates  <dabates@apple.com>

        CSS ::selection stroke-color and stroke-width are not applied to selected text in text fields
        and ::selection:window-inactive stroke-color and stroke-width are never applied
        https://bugs.webkit.org/show_bug.cgi?id=183178

        Reviewed by David Hyatt.

        Add tests to ensure that we paint ::selection stroke-color and stroke-width for selected text
        in text fields. Add tests to ensure that we apply ::selection:window-inactive stroke-color
        and stroke-width to selected text when the page is deactivated.

        * fast/selectors/selection-window-inactive-stroke-color-expected.html: Added.
        * fast/selectors/selection-window-inactive-stroke-color.html: Added.
        * fast/selectors/selection-window-inactive-text-shadow-expected.html: Added.
        * fast/selectors/selection-window-inactive-text-shadow.html: Added.
        * fast/selectors/text-field-selection-stroke-color-expected.html: Added.
        * fast/selectors/text-field-selection-stroke-color.html: Added.
        * fast/selectors/text-field-selection-text-shadow-expected.html: Added.
        * fast/selectors/text-field-selection-text-shadow.html: Added.
        * fast/selectors/text-field-selection-window-inactive-stroke-color-expected.html: Added.
        * fast/selectors/text-field-selection-window-inactive-stroke-color.html: Added.
        * fast/selectors/text-field-selection-window-inactive-text-shadow-expected.html: Added.
        * fast/selectors/text-field-selection-window-inactive-text-shadow.html: Added.
        * platform/gtk/TestExpectations: Skip the ::selection:window-inactive tests until we fix
        <https://bugs.webkit.org/show_bug.cgi?id=183143>.
        * platform/ios/TestExpectations: Mark the tests as won't fix since UIKit draws selection on iOS.
        * platform/win/TestExpectations: Mark tests as image failures an associated with <https://bugs.webkit.org/show_bug.cgi?id=117322>.
        Windows does not seem to be updating selectors when the window is deactivated or window deactivation,
        testRunner.setWindowIsKey() is broken.
        * platform/wpe/TestExpectations: Skip the ::selection:window-inactive tests until we fix
        <https://bugs.webkit.org/show_bug.cgi?id=183144>.

2018-03-01  Ross Kirsling  <ross.kirsling@sony.com>

        [Win][DRT] Implement setSpatialNavigationEnabled.
        https://bugs.webkit.org/show_bug.cgi?id=183166

        Reviewed by Per Arne Vollan.

        * platform/win/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt:
        * platform/wincairo/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt: Added.
        This test requires an expectation for every platform. AppleWin had one but it must've been a copy-paste job?

        * platform/win/TestExpectations:
        Enable fast/spatial-navigation tests on AppleWin too.

2018-03-01  Chris Dumez  <cdumez@apple.com>

        imported/w3c/web-platform-tests/html/browsers/windows/browsing-context.html fails with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183225
        <rdar://problem/38003828>

        Reviewed by Alex Christensen.

        * http/wpt/html/browsers/windows/browsing-context-expected.txt: Added.
        * http/wpt/html/browsers/windows/browsing-context.html: Added.
        Add layout test coverage.

        * fast/loader/iframe-src-invalid-url-expected.txt:
        * fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt:
        * loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt:
        * loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt:
        Rebaseline a few layout tests now that the log lines for the about:blank policy checks are
        gone.

2018-02-28  Nan Wang  <n_wang@apple.com>

        Layout Test accessibility/mac/accessibility-make-first-responder.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=183232

        Reviewed by Chris Fleizach.

        The test is flaky because that the UIProcess might have received the IPC message
        to set the first responder after we check the current state. Added a delay 
        in the test to fix that.

        * accessibility/mac/accessibility-make-first-responder.html:

2018-02-28  Nan Wang  <n_wang@apple.com>

        AX: AOM: Dispatch accessiblesetvalue event
        https://bugs.webkit.org/show_bug.cgi?id=183021
        <rdar://problem/37764242>

        Reviewed by Chris Fleizach.

        * accessibility/mac/AOM-event-accessiblesetvalue-expected.txt: Added.
        * accessibility/mac/AOM-event-accessiblesetvalue.html: Added.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:

2018-02-28  Chris Dumez  <cdumez@apple.com>

        html/browsers/browsing-the-web/navigating-across-documents/006.html fails with async policy delegates
        https://bugs.webkit.org/show_bug.cgi?id=183168
        <rdar://problem/37951341>

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * TestExpectations:
        * http/wpt/html/browsers/browsing-the-web/navigating-across-documents/006-expected.txt: Added.
        * http/wpt/html/browsers/browsing-the-web/navigating-across-documents/006.html: Added.
        * http/wpt/html/browsers/browsing-the-web/navigating-across-documents/click.html: Added.
        * http/wpt/html/browsers/browsing-the-web/navigating-across-documents/href.html: Added.

2018-02-28  Alicia Boya García  <aboya@igalia.com>

        Unreviewed GTK test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=183217

        * platform/gtk/TestExpectations:

2018-02-28  John Wilander  <wilander@apple.com>

        Add a second tier of prevalence to facilitate telemetry on very prevalent domains
        https://bugs.webkit.org/show_bug.cgi?id=183218
        <rdar://problem/37992388>

        Reviewed by Brent Fulgham.

        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html:
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html:
        * http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-expected.txt: Added.
        * http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html: Added.
        * platform/wk2/TestExpectations:
            New test marked as [ Pass ].

2018-02-28  Ryan Haddad  <ryanhaddad@apple.com>

        Disable three resourceLoadStatistics tests on iOS Simulator Debug because they frequently time out.
        https://bugs.webkit.org/show_bug.cgi?id=183216

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-02-28  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182983

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2018-02-27  Commit Queue  <commit-queue@webkit.org>

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

        This patch causes crashes on two SVG tests (Requested by fredw
        on #webkit).

        Reverted changeset:

        "Relayout frames after AsyncFrameScrolling or FrameFlattening
        option is changed"
        https://bugs.webkit.org/show_bug.cgi?id=183081
        https://trac.webkit.org/changeset/229060

2018-02-27  Youenn Fablet  <youenn@apple.com>

        Do not trigger a service worker match in case of document redirection if it will be already served by AppCache
        https://bugs.webkit.org/show_bug.cgi?id=183185
        <rdar://problem/37693796>

        Reviewed by Chris Dumez.

        * http/tests/appcache/main-resource-redirect-with-sw-expected.txt: Added.
        * http/tests/appcache/main-resource-redirect-with-sw.html: Added.
        * http/tests/appcache/resources/main-resource-redirect-with-sw.manifest: Added.
        * http/tests/appcache/resources/register-resources-service-worker.html: Added.
        * http/tests/appcache/service-worker-proxy.js: Added.
        * platform/gtk/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

2018-02-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=183094

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-27  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/dom/Window/window-focus-self.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=183164

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-27  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * TestExpectations:
        * platform/gtk/TestExpectations:

2018-02-27  Doug Russell  <doug@getitdownonpaper.com>

        AX: Spell check and style attributes should be optional when fetching attributed string
        https://bugs.webkit.org/show_bug.cgi?id=160744

        Reviewed by Chris Fleizach.

        The overhead of fetching a spell checked attributed string via AX API is substantial. 
        In some cases on the order of 7/8 of the total time spent fetching the string.

        This change introduces the new attribute AXAttributedStringForTextMarkerRangeWithOptions which accepts an NSDictionary as it's parameter with keys "AXTextMarkerRange" (AXTextMarkerRangeRef) and "AXSpellCheck" (NSNumber(BOOL)).

        AXAttributedStringForTextMarkerRange will remain unchanged.

        * accessibility/mac/attributed-string: Added.
        * accessibility/mac/attributed-string/attributed-string-for-range-expected.txt: Added.
        * accessibility/mac/attributed-string/attributed-string-for-range-with-options-expected.txt: Added.
        * accessibility/mac/attributed-string/attributed-string-for-range-with-options.html: Added.
        * accessibility/mac/attributed-string/attributed-string-for-range.html: Added.
        * accessibility/mac/bounds-for-range-expected.txt:

2018-02-27  Antoine Quint  <graouts@apple.com>

        Unreviewed, marking a number of Web Animations WPT tests non-flaky.

        * TestExpectations:

2018-02-27  Frederic Wang  <fwang@igalia.com>

        Relayout frames after AsyncFrameScrolling or FrameFlattening option is changed
        https://bugs.webkit.org/show_bug.cgi?id=183081

        Reviewed by Antonio Gomes.

        Add a test to check whether an iframe changes its flattening status after one of the option
        AsyncFrameScrolling/FrameFlattening is enabled/disabled.

        * platform/ios-simulator/TestExpectations: Remove failure.
        * platform/ios/fast/frames/flattening/iframe-flattening-async-frame-scrolling-dynamic-expected.txt: Added.
        * platform/ios/fast/frames/flattening/iframe-flattening-async-frame-scrolling-dynamic.html: Added.

2018-02-26  Daniel Bates  <dabates@apple.com>

        testRunner.setWindowIsKey() has no effect on the web process side in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=81736
        <rdar://problem/11088268>

        Remove some tests from the platform-independent WebKit2 TestExpectations file that
        now pass on iOS and Mac following r189959 and r211910, respectively. Skip these
        tests on GTK and WPE. For GTK we need to fix <https://bugs.webkit.org/show_bug.cgi?id=183140>
        For WPE we need to fix <https://bugs.webkit.org/show_bug.cgi?id=183144>.

        The test fast/selectors/querySelector-window-inactive.html still fails on WebKit2,
        but for a different reason. See <https://bugs.webkit.org/show_bug.cgi?id=183140>
        for more details.

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

2018-02-26  Commit Queue  <commit-queue@webkit.org>

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

        This is breaking some websites (Requested by youenn on
        #webkit).

        Reverted changeset:

        "Use no-cache fetch mode when loading main documents with
        location.reload()"
        https://bugs.webkit.org/show_bug.cgi?id=181285
        https://trac.webkit.org/changeset/226745

2018-02-25  Fujii Hironori  <Hironori.Fujii@sony.com>

        [WK2] http/tests/navigation/new-window-redirect-history.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=127683

        Reviewed by Dan Bernstein.

        * platform/ios-wk2/TestExpectations:
        Unmarked http/tests/navigation/new-window-redirect-history.html.
        * platform/wk2/TestExpectations: Ditto.

2018-02-22  Antoine Quint  <graouts@apple.com>

        REGRESSION (r228445): A big pause button shows over YouTube videos if you tap "Tap To Unmute" on iOS
        https://bugs.webkit.org/show_bug.cgi?id=183074
        <rdar://problem/37747028>

        Reviewed by Eric Carlson.

        Add a new test that set controls on the video, then immediately removes them, plays the video and turns the controls
        back on as soon as the video starts to check that the "showsStartButton" property is false on the media controls.
        Prior to this patch this test would fail.

        * media/modern-media-controls/start-support/start-support-disable-controls-and-re-enable-post-play-expected.txt: Added.
        * media/modern-media-controls/start-support/start-support-disable-controls-and-re-enable-post-play.html: Added.
        * platform/ios/TestExpectations:

2018-02-22  Youenn Fablet  <youenn@apple.com>

        CacheStorage::Engine::Caches::writeRecord is not always calling the completion handler
        https://bugs.webkit.org/show_bug.cgi?id=183055

        Reviewed by Chris Dumez.

        * http/tests/cache-storage/resources/cache-persistency-iframe.html:

2018-02-22  Chris Dumez  <cdumez@apple.com>

        Document.open() cancels existing provisional load but not navigation policy check
        https://bugs.webkit.org/show_bug.cgi?id=183012
        <rdar://problem/37755831>

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * fast/dom/Document/open-with-pending-load-async-policy-expected.txt: Added.
        * fast/dom/Document/open-with-pending-load-async-policy.html: Added.

2018-02-22  Matt Lewis  <jlewis3@apple.com>

        Updated expectations for http/tests/appcache/404-resource-with-slow-main-resource.php.
        https://bugs.webkit.org/show_bug.cgi?id=153503

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-22  Per Arne Vollan  <pvollan@apple.com>

        Mark http/tests/preload/onerror_event.html as a flaky crash on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=179297

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-02-22  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening after r228915.

        * platform/gtk/TestExpectations:

2018-02-21  John Wilander  <wilander@apple.com>

        Add delay to make cookie purge catch up when running http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html
        https://bugs.webkit.org/show_bug.cgi?id=183024
        <rdar://problem/37765207>

        Unreviewed test gardening.

        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
            Added a setTimeout() delay.

2018-02-21  Youenn Fablet  <youenn@apple.com>

        Move AppCache loading to the NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=178540
        <rdar://problem/37119346>

        Reviewed by Alex Christensen.

        There is no guarantee that aborting in an event handler will be executed before some loads finish,
        as the events are fired asynchronously.
        Making tests less flaky by waiting some time before fnishing some loads.

        * http/tests/appcache/abort-cache-onchecking.html:
        * http/tests/appcache/resource-redirect-2-expected.txt:
        * http/tests/appcache/resources/abort-cache-onchecking-resource-404.manifest:
        * http/tests/appcache/resources/abort-cache-onchecking.manifest: Removed.
        * http/tests/appcache/resources/abort-cache-onchecking.manifest.php: Added.
        * http/tests/appcache/resources/abort-cache-ondownloading.manifest:
        * http/tests/appcache/resources/abort-cache-ondownloading.text: Removed.
        * http/tests/appcache/resources/abort-cache-ondownloading.text.php: Added.
        * http/tests/appcache/resources/not-exist.vob.php: Added.

2018-02-21  Youenn Fablet  <youenn@apple.com>

        Use ResourceLoader to load appcache manifest
        https://bugs.webkit.org/show_bug.cgi?id=182861

        Reviewed by Alex Christensen.

        * http/tests/appcache/fail-on-update-2-expected.txt:
        * http/tests/appcache/manifest-redirect-2-expected.txt:
        * http/tests/appcache/offline-access-expected.txt:

2018-02-21  Chris Dumez  <cdumez@apple.com>

        VTTCue constructor should use 'double' type for startTime / endTime
        https://bugs.webkit.org/show_bug.cgi?id=182988

        Reviewed by Eric Carlson.

        Update existing test to reflect behavior change.

        * media/track/track-add-remove-cue-expected.txt:
        * media/track/track-add-remove-cue.html:

2018-02-21  Ms2ger  <Ms2ger@gmail.com>

        Test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=183006

        Unreviewed test gardening.

        * TestExpectations: add ietestcenter/css3/valuesandunits/units-000.htm.
        * platform/gtk/TestExpectations: remove ietestcenter/css3/valuesandunits/units-000.htm.
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt: update for r228827.
        * platform/ios/TestExpectations: remove ietestcenter/css3/valuesandunits/units-000.htm.
        * platform/mac/TestExpectations: remove ietestcenter/css3/valuesandunits/units-000.htm.
        * platform/win/TestExpectations: remove ietestcenter/css3/valuesandunits/units-000.htm.
        * platform/wpe/TestExpectations: remove ietestcenter/css3/valuesandunits/units-000.htm.
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt: update for r228827.

2018-02-21  Charlie Turner  <cturner@igalia.com>

        Update test expectations
        https://bugs.webkit.org/show_bug.cgi?id=182973

        Unreviewed gardening.

        * platform/gtk/TestExpectations:

2018-02-21  Charlie Turner  <cturner@igalia.com>

        Rebaseline web animations tests after r228717
        https://bugs.webkit.org/show_bug.cgi?id=182970

        Reviewed by Antoine Quint.

        * platform/gtk/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Added.
        * platform/gtk/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Added.

2018-02-21  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Make system-ui obey the user-installed-font policy
        https://bugs.webkit.org/show_bug.cgi?id=182860
        <rdar://problem/36158249>

        Reviewed by Antti Koivisto.

        FakeHelvetica-ArmenianCharacter.ttf is a font which supports a particular Armenian character which
        isn't supported by any other font on the system. Installing this font will cause it to be added to
        the 'system-ui' font cascade list. When we disable user-installed-fonts, this font should not be
        used to render the character.

        * fast/text/user-installed-fonts/system-ui-expected-mismatch.html:
        * fast/text/user-installed-fonts/system-ui.html:

2018-02-20  Nan Wang  <n_wang@apple.com>

        AX: Keyboard focus not following VoiceOver cursor into web content or within web content.
        https://bugs.webkit.org/show_bug.cgi?id=182752
        <rdar://problem/37518233>

        Reviewed by Ryosuke Niwa.

        * accessibility/mac/accessibility-make-first-responder-expected.txt: Added.
        * accessibility/mac/accessibility-make-first-responder.html: Added.
        * platform/mac-wk1/TestExpectations:

2018-02-20  Chris Dumez  <cdumez@apple.com>

        Crash under JSC::JSCell::toNumber(JSC::ExecState*)
        https://bugs.webkit.org/show_bug.cgi?id=182984
        <rdar://problem/37694346>

        Reviewed by Mark Lam.

        Add layout test coverage.

        * js/dom/webidl-type-mapping-expected.txt:
        * js/dom/webidl-type-mapping.html:

2018-02-20  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two imported/w3c/web-platform-tests/2dcontext/imagebitmap tests as flaky on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=182833

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-02-20  Manuel Rego Casasnovas  <rego@igalia.com>

        Skip tests that need ENABLE_LINK_PREFETCH
        https://bugs.webkit.org/show_bug.cgi?id=182981

        Unreviewed gardening.

        These tests were marked in the different TestExpectations fails of each port,
        when actually none of them were testing this code as ENABLE_LINK_PREFETCH is disabled by default
        (even in development builds).

        The patch just moves the flagged tests from the port specific TestExpectations files
        to the generic TestExpectations file skipping them.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/win/TestExpectations:

2018-02-20  John Wilander  <wilander@apple.com>

        Make WebResourceLoadStatisticsStore::processStatisticsAndDataRecords() call WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed() in a proper callback
        https://bugs.webkit.org/show_bug.cgi?id=182719
        <rdar://problem/37517370>

        Reviewed by Brent Fulgham.

        * platform/mac-wk2/TestExpectations:
            Marked http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html
            as [ Pass ].
        * platform/wk2/TestExpectations:
            Marked http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html
            as [ Pass ]. This should have been done already in r227223:
            https://bugs.webkit.org/show_bug.cgi?id=181822

2018-02-20  Nan Wang  <n_wang@apple.com>

        AX: AOM: Dispatch accessibleclick event
        https://bugs.webkit.org/show_bug.cgi?id=180898
        <rdar://problem/36086710>

        Reviewed by Ryosuke Niwa.

        * accessibility/mac/AOM-events-expected.txt: Added.
        * accessibility/mac/AOM-events.html: Added.
        * js/dom/dom-static-property-for-in-iteration-expected.txt:
        * platform/mac-wk1/TestExpectations:

2018-02-19  Dean Jackson  <dino@apple.com>

        Handle all writing-modes in downcast
        https://bugs.webkit.org/show_bug.cgi?id=182949
        <rdar://problem/37710687>

        Reviewed by Myles Maxfield.

        Test all the deprecated SVG writing modes.

        * fast/writing-mode/svg-writing-modes-expected.html: Added.
        * fast/writing-mode/svg-writing-modes.html: Added.

2018-02-20  Manuel Rego Casasnovas  <rego@igalia.com>

        [css3-text] Skip tests that need ENABLE_CSS3_TEXT
        https://bugs.webkit.org/show_bug.cgi?id=182963

        Unreviewed gardening.

        These tests were marked in the different TestExpectations fails of each port,
        when actually none of them were testing this code as ENABLE_CSS3_TEXT is disabled by default
        (even in development builds).

        The patch just moves the flagged tests from the port specific TestExpectations files
        to the generic TestExpectations file skipping them.

        It also removes editing/pasteboard/insert-text-decoration.html from the skipping list
        as it should be passing for Mac an iOs too.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-19  Fujii Hironori  <Hironori.Fujii@sony.com>

        null m_lastNodeInserted dereference at ReplaceSelectionCommand::InsertedNodes::lastLeafInserted
        https://bugs.webkit.org/show_bug.cgi?id=161947

        Reviewed by Ryosuke Niwa.

        * platform/gtk/TestExpectations:
        Unmarked editing/execCommand/crash-replacing-list-by-list.html and editing/inserting/insert-table-in-paragraph-crash.html.

2018-02-19  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Implement a compact set of media controls
        https://bugs.webkit.org/show_bug.cgi?id=182937
        <rdar://problem/37682257>

        Reviewed by Eric Carlson.

        Add new tests that cover the basic properties and layout under different situations of the new CompactMediaControls.

        * media/modern-media-controls/compact-media-controls/compact-media-controls-constructor-expected.txt: Added.
        * media/modern-media-controls/compact-media-controls/compact-media-controls-constructor.html: Added.
        * media/modern-media-controls/compact-media-controls/compact-media-controls-layout-expected.txt: Added.
        * media/modern-media-controls/compact-media-controls/compact-media-controls-layout.html: Added.

2018-02-19  Antoine Quint  <graouts@apple.com>

        [Web Animations] Make KeyframeEffect target nullable and read-write
        https://bugs.webkit.org/show_bug.cgi?id=182741

        Reviewed by Dean Jackson.

        Add some platform-specific results for Sierra where we don't support the "font-variation-settings" property.

        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Added.
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Added.
        * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Added.

2018-02-19  Dean Jackson  <dino@apple.com>

        SIGFPE @ int WebCore::SVGToOTFFontConverter::scaleUnitsPerEm<int> const + 45
        https://bugs.webkit.org/show_bug.cgi?id=182944
        <rdar://problem/35369984>

        Reviewed by Myles Maxfield.

        Add a test with a 0 unitsperem SVG font.

        * svg/text/font-bad-unitsperem-expected.txt: Added.
        * svg/text/font-bad-unitsperem.html: Added.
        * svg/text/resources/font-bad-unitsperem.svg: Added.

2018-02-19  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r219342): Touch event coordinates and elementFromPoint coordinates differ
        https://bugs.webkit.org/show_bug.cgi?id=182910
        <rdar://problem/37533950>

        Reviewed by Simon Fraser.

        * fast/dom/elementFromPoint-scaled-scrolled.html:
        Revert changes to this test made in r219342.

        * fast/dom/elementFromPoint-scaled-scrolled-layout-viewport.html:
        * fast/dom/elementFromPoint-scaled-scrolled-layout-viewport-expected.txt:
        Add a test that is equivalent to elementFromPoint-scaled-scrolled.html after r219342,
        which turns on the new setting. This test is disabled on iOS (like it was
        in r219342) because it needs window.scrollTo.

        * platform/ios-wk2/fast/dom/elementFromPoint-relative-to-viewport-expected.txt:
        This now passes.

        * platform/ios/TestExpectations:
        Re-mark-failing a test that was un-marked-failing by r219342.

2018-02-19  Daniel Bates  <dabates@apple.com>

        Do not block authentication challenge to navigated resources
        https://bugs.webkit.org/show_bug.cgi?id=182807
        <rdar://problem/37481619>

        Reviewed by Brent Fulgham.

        Update tests based on the new behavior.

        * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt:
        * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html:
        * http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https-expected.txt: Removed.
        * http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https.html: Removed.
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials-expected.txt:
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html:
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-expected.txt:
        * http/tests/security/mixedContent/resources/frame-with-insecure-image-redirects-to-basic-auth-secure-image.html:
        * http/tests/security/mixedContent/resources/subresource/protected-pdf.php: Removed.
        * http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-insecure-page.https-expected.txt:
        * http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-secure-page-via-insecure-redirect.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html:
        * platform/wk2/http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-insecure-page.https-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-secure-page-via-insecure-redirect.https-expected.txt: Added.
        * platform/wk2/http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt.

2018-02-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/track/track-css-matching-default.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182932

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-02-19  Ryan Haddad  <ryanhaddad@apple.com>

        Skip editing/pasteboard/data-transfer-set-data-sanitizes-html-when-copying-in-null-origin.html on iOS Release.
        https://bugs.webkit.org/show_bug.cgi?id=182850

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-02-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/cache-storage/cache-representation.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182928

        Unreviewed test gardening.

        * TestExpectations:

2018-02-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/console/messageRepeatCountUpdated.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=152452

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-02-19  Frederic Wang  <fwang@igalia.com>

        IFrame is resized incorrectly on orientation change
        https://bugs.webkit.org/show_bug.cgi?id=155198

        Reviewed by Antonio Gomes.

        Add a non-regression test to verify that iframes are properly resized after orientation
        changes. This bug happened in iOS 10.0 but not in trunk.

        * fast/events/ios/rotation/resize-iframe-after-orientation-change-expected.txt: Added.
        * fast/events/ios/rotation/resize-iframe-after-orientation-change.html: Added.

2018-02-19  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Update test expectations

        Unreviewed gardening.

        * platform/gtk/TestExpectations: inspector/heap/getPreview.html is
        passing again after r228600.

2018-02-19  Fujii Hironori  <Hironori.Fujii@sony.com>

        REGRESSION(r219298): RELEASE_ASSERT(!m_owningPointerForClose) fails in WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose
        https://bugs.webkit.org/show_bug.cgi?id=174354
        <rdar://problem/33294987>

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations:
        Unmarked imported/w3c/IndexedDB-private-browsing/idbfactory_open.html.
        * platform/ios-wk2/TestExpectations:
        Unmarked imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html.
        * platform/mac/TestExpectations: Ditto.
        * platform/wpe/TestExpectations: Unmarked
        imported/w3c/IndexedDB-private-browsing/idbfactory_open.html and
        imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html.

2018-02-18  Philippe Normand  <pnormand@igalia.com>

        [GTK][WPE] Fullscreen video is broken
        https://bugs.webkit.org/show_bug.cgi?id=182740

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Unflag now-passing fullscreen tests.

2018-02-18  Zalan Bujtas  <zalan@apple.com>

        [RenderTreeBuilder] REGRESSION(r228238) Detach renderer before destroying its subtree.
        https://bugs.webkit.org/show_bug.cgi?id=182908
        <rdar://problem/37619394>

        Reviewed by Antti Koivisto.

        * fast/block/crash-when-subtree-is-still-attached-expected.txt: Added.
        * fast/block/crash-when-subtree-is-still-attached.html: Added.

2018-02-16  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r228575.

        Introduced LayoutTest crashes under GuardMalloc.

        Reverted changeset:

        "Use ResourceLoader to load appcache manifest"
        https://bugs.webkit.org/show_bug.cgi?id=182861
        https://trac.webkit.org/changeset/228575

2018-02-16  Youenn Fablet  <youenn@apple.com>

        Allow specifying which plug-ins are supported
        https://bugs.webkit.org/show_bug.cgi?id=182748

        Reviewed by Chris Dumez.

        * http/tests/plugins/nounsupported-plugin-expected.txt: Added.
        * http/tests/plugins/nounsupported-plugin.html: Added.
        * http/tests/plugins/supported-plugin-all-origin-visibility-expected.txt: Added.
        * http/tests/plugins/supported-plugin-all-origin-visibility.html: Added.
        * http/tests/plugins/supported-plugin-on-specific-origin-expected.txt: Added.
        * http/tests/plugins/supported-plugin-on-specific-origin.html: Added.
        * http/tests/plugins/supported-plugin-origin-specific-visibility-expected.txt: Added.
        * http/tests/plugins/supported-plugin-origin-specific-visibility.html: Added.
        * http/tests/plugins/unsupported-plugin-on-specific-origin-expected.txt: Added.
        * http/tests/plugins/unsupported-plugin-on-specific-origin.html: Added.
        * plugins/unsupported-plugin-expected.txt: Added.
        * plugins/unsupported-plugin.html: Added.
        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:

2018-02-16  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/block/positioning/fixed-container-with-relative-parent.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181834

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-02-16  Youenn Fablet  <youenn@apple.com>

        Use ResourceLoader to load appcache manifest
        https://bugs.webkit.org/show_bug.cgi?id=182861

        Reviewed by Alex Christensen.

        * http/tests/appcache/fail-on-update-2-expected.txt:
        * http/tests/appcache/manifest-redirect-2-expected.txt:
        * http/tests/appcache/offline-access-expected.txt:

2018-02-16  Chris Dumez  <cdumez@apple.com>

        Crash under WebCore::EventTarget::fireEventListeners
        https://bugs.webkit.org/show_bug.cgi?id=182880
        <rdar://problem/20788804>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * webaudio/audiobuffersource-ended-detached-frame-expected.txt: Added.
        * webaudio/audiobuffersource-ended-detached-frame.html: Added.
        * webaudio/resources/audiobuffersource-ended-detached-frame-iframe.html: Added.

2018-02-16  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Implement PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
        https://bugs.webkit.org/show_bug.cgi?id=182771
        <rdar://problem/36459988>

        Reviewed by Brent Fulgham.

        * http/wpt/webauthn/public-key-is-user-verifying-platform-authenticator-available-expected.txt: Added.
        * http/wpt/webauthn/public-key-is-user-verifying-platform-authenticator-available.html: Added.

2018-02-16  Fujii Hironori  <Hironori.Fujii@sony.com>

        fast/frames/sandboxed-iframe-navigation-top-denied.html is crashing in Inspector::createScriptCallStackForConsole::Exec for GTK
        https://bugs.webkit.org/show_bug.cgi?id=172952

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Unmarked fast/frames/sandboxed-iframe-navigation-top-denied.html.

2018-02-16  Fujii Hironori  <Hironori.Fujii@sony.com>

        IndexedDB: Several test crash in when destroying a IDBKeyData
        https://bugs.webkit.org/show_bug.cgi?id=167576

        Reviewed by Michael Catanzaro.

        * platform/gtk/TestExpectations: Unmarked
        imported/w3c/IndexedDB-private-browsing/idbcursor_iterating.html,
        imported/w3c/IndexedDB-private-browsing/idbcursor_iterating_index.html
        and storage/indexeddb/modern/index-3-private.html.
        * platform/wpe/TestExpectations: Unmarked
        imported/w3c/IndexedDB-private-browsing/idbcursor_iterating.html and
        imported/w3c/IndexedDB-private-browsing/idbcursor_iterating_index.html.

2018-02-16  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Update expectations for a couple of flaky tests

        Unreviewed gardening.

        http/tests/appcache/fail-on-update.html and
        svg/as-image/svg-as-image-canvas.html are flaky.
        * platform/wpe/TestExpectations:

2018-02-16  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] New rebaseline after r228427

        Unreviewed gardening
        * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt: Remove
        gone AccessibleNode class.

2018-02-16  Claudio Saavedra  <csaavedra@igalia.com>

        Update expectations for a couple of failing tests.

        Unreviewed gardening.
        * platform/gtk/TestExpectations:

2018-02-15  Youenn Fablet  <youenn@apple.com>

        Resources loaded from service workers are not downloadable
        https://bugs.webkit.org/show_bug.cgi?id=182848

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/download-binary.php: Added.
        * http/tests/workers/service/resources/service-worker-download-worker.js: Added.
        * http/tests/workers/service/service-worker-download.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-download.https.html: Added.

2018-02-15  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/register-closed-window.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182853

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-02-15  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182849

        Unreviewed test gardening.

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

2018-02-15  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap tests.
        https://bugs.webkit.org/show_bug.cgi?id=182833

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-02-15  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Revisit the whole async model of task dispatching, timeout and aborting
        https://bugs.webkit.org/show_bug.cgi?id=181946
        <rdar://problem/37258262>

        Reviewed by Chris Dumez.

        * http/wpt/credential-management/credentialscontainer-store-basics.https.html:
        * http/wpt/webauthn/idl.https.html:
        * http/wpt/webauthn/public-key-credential-create-failure.https.html:
        * http/wpt/webauthn/public-key-credential-create-success.https.html:
        * http/wpt/webauthn/public-key-credential-get-failure.https.html:
        * http/wpt/webauthn/public-key-credential-get-success.https.html:
        * http/wpt/webauthn/resources/util.js:

2018-02-14  Antti Koivisto  <antti@apple.com>

        Do sibling invalidation on mutation
        https://bugs.webkit.org/show_bug.cgi?id=182809

        Reviewed by Zalan Bujtas.

        Sibling invalidation now happens on mutation. Update the tests.

        * fast/css/indirect-adjacent-style-invalidation-1-expected.txt:
        * fast/css/indirect-adjacent-style-invalidation-1.html:
        * fast/css/indirect-adjacent-style-invalidation-2-expected.txt:
        * fast/css/indirect-adjacent-style-invalidation-2.html:
        * fast/css/indirect-adjacent-style-invalidation-3-expected.txt:
        * fast/css/indirect-adjacent-style-invalidation-3.html:

2018-02-14  Daniel Bates  <dabates@apple.com>

        Disallow cross-origin subresources from asking for credentials
        https://bugs.webkit.org/show_bug.cgi?id=182579
        <rdar://problem/36162271>

        Reviewed by Andy Estes.

        Copied existing tests that depended on cross-origin subresources being able prompt for credentials
        to files with suffix allowCrossOriginSubresourcesToAskForCredentials. These copies were modified
        to set allowCrossOriginSubresourcesToAskForCredentials to false so as to opt-into the behavior
        before this change. Updated existing tests to reflect the new behavior and added new tests to
        ensure that we do not regress the new behavior.

        * http/tests/media/video-auth-expected.txt:
        * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials-expected.txt: Copied from LayoutTests/http/tests/media/video-auth-expected.txt.
        * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: Copied from LayoutTests/http/tests/media/video-auth.html.
        * http/tests/media/video-auth.html:
        * http/tests/security/basic-auth-subresource-expected.txt: Added.
        * http/tests/security/basic-auth-subresource.html: Added.
        * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials-expected.txt: Renamed from LayoutTests/platform/mac-wk1/http/tests/security/credentials-iframes-expected.txt.
        * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: Added.
        * http/tests/security/credentials-iframes-expected.txt:
        * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/insecure-basic-auth-image.https-expected.txt.
        * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html.
        * http/tests/security/mixedContent/insecure-basic-auth-image.https-expected.txt:
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-expected.txt.
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: Added.
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https-expected.txt.
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html.
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https-expected.txt.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Renamed from LayoutTests/platform/mac-wk1/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html.
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html:
        * http/tests/security/resources/basic-auth-subresource.html: Added.
        * http/tests/security/resources/subresource1/protected-image.php: Added.
        * http/tests/security/resources/subresource2/protected-image.php: Added.
        * platform/win/TestExpectations: Skip allowCrossOriginSubresourcesToAskForCredentials-suffixed tests as
        DumpRenderTree on Windows does not support parsing test options. See <https://bugs.webkit.org/show_bug.cgi?id=173281>.
        * platform/win/http/tests/security/basic-auth-subresource-expected.txt: Added Windows-specific result. For some reason
        connections to localhost:8443 are not allowed. See <https://bugs.webkit.org/show_bug.cgi?id=182609> for more details.
        * platform/wk2/http/tests/media/video-auth-expected.txt:
        * platform/wk2/http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials-expected.txt: Copied from LayoutTests/platform/wk2/http/tests/media/video-auth-expected.txt.
        * platform/wk2/http/tests/security/basic-auth-subresource-expected.txt: Added.
        * platform/wk2/http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials-expected.txt: Copied from LayoutTests/http/tests/security/credentials-iframes-expected.txt.
        * platform/wk2/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt.

2018-02-14  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-storage-match.https.html as flaky on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=177198

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-14  Alicia Boya García  <aboya@igalia.com>

        Unreviewed GTK test gardening
        https://bugs.webkit.org/show_bug.cgi?id=182794

        * platform/gtk/TestExpectations:

2018-02-14  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Don't use arrays as values for localisable strings
        https://bugs.webkit.org/show_bug.cgi?id=182791
        <rdar://problem/36007262>

        Reviewed by Dean Jackson.

        * media/modern-media-controls/localized-strings/replaced-string-expected.txt:
        * media/modern-media-controls/localized-strings/replaced-string.html:

2018-02-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r228444.

        Introduced API and Layout test failures.

        Reverted changeset:

        "[WebAuthN] Revisit the whole async model of task dispatching,
        timeout and aborting"
        https://bugs.webkit.org/show_bug.cgi?id=181946
        https://trac.webkit.org/changeset/228444

2018-02-13  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed GTK test gardening

        * platform/gtk/TestExpectations:
        * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:

2018-02-13  Antoine Quint  <graouts@apple.com>

        Removing the controls attribute from a <video> element does not tear down the controls shadow DOM nor cancel event listeners.
        https://bugs.webkit.org/show_bug.cgi?id=182668

        Reviewed by Jer Noble.

        Ensure controls are turned on for a number of tests that would fail otherwise since media events would not be handled by media
        controls without it.

        * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html:
        * http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html:
        * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html:
        * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html:
        * http/tests/media/modern-media-controls/status-support/status-support-live-broadcast.html:
        * http/tests/media/modern-media-controls/status-support/status-support-loading.html:
        * media/modern-media-controls/airplay-support/airplay-support.html:
        * media/modern-media-controls/mute-support/mute-support-media-api.html:
        * media/modern-media-controls/playback-support/playback-support-autoplay.html:
        * media/modern-media-controls/playback-support/playback-support-media-api.html:
        * media/modern-media-controls/start-support/start-support-error.html:
        * media/modern-media-controls/start-support/start-support-lowPowerMode.html:
        * media/modern-media-controls/start-support/start-support-manual-play.html:
        * media/modern-media-controls/status-support/status-support-error.html:
        * media/modern-media-controls/time-labels-support/elapsed-time.html:
        * media/modern-media-controls/time-labels-support/remaining-time.html:
        * media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html:
        * media/modern-media-controls/tracks-support/tracks-support-text-tracks.html:
        * media/modern-media-controls/volume-support/volume-support-media-api-mute.html:
        * media/modern-media-controls/volume-support/volume-support-media-api.html:

2018-02-13  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Revisit the whole async model of task dispatching, timeout and aborting
        https://bugs.webkit.org/show_bug.cgi?id=181946
        <rdar://problem/37258262>

        Reviewed by Chris Dumez.

        * http/wpt/credential-management/credentialscontainer-store-basics.https.html:
        * http/wpt/webauthn/idl.https.html:
        * http/wpt/webauthn/public-key-credential-create-failure.https.html:
        * http/wpt/webauthn/public-key-credential-create-success.https.html:
        * http/wpt/webauthn/public-key-credential-get-failure.https.html:
        * http/wpt/webauthn/public-key-credential-get-success.https.html:
        * http/wpt/webauthn/resources/util.js:

2018-02-13  Antti Koivisto  <antti@apple.com>

        Crash when breakpoint hit in unload handler
        https://bugs.webkit.org/show_bug.cgi?id=169855
        <rdar://problem/28683567>

        Reviewed by Daniel Bates and Joseph Pecoraro.

        * inspector/debugger/reload-paused-expected.txt: Added.
        * inspector/debugger/reload-paused.html: Added.

2018-02-13  Nan Wang  <n_wang@apple.com>

        AX: Remove AccessibleNode class
        https://bugs.webkit.org/show_bug.cgi?id=182724
        <rdar://problem/37486024>

        Reviewed by Chris Fleizach.

        * accessibility/accessibility-object-model-expected.txt: Removed.
        * accessibility/accessibility-object-model.html: Removed.
        * accessibility/mac/AOM-bool-properties-expected.txt: Removed.
        * accessibility/mac/AOM-bool-properties.html: Removed.
        * accessibility/mac/AOM-number-properties-expected.txt: Removed.
        * accessibility/mac/AOM-number-properties.html: Removed.
        * accessibility/mac/AOM-relation-property-expected.txt: Removed.
        * accessibility/mac/AOM-relation-property.html: Removed.
        * accessibility/mac/AOM-string-properties-expected.txt: Removed.
        * accessibility/mac/AOM-string-properties.html: Removed.
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:

2018-02-12  Chris Fleizach  <cfleizach@apple.com>

        AX: defer focusedUIElement notifications
        https://bugs.webkit.org/show_bug.cgi?id=182643
        <rdar://problem/37394310>

        Reviewed by Zalan Bujtas.

        * accessibility/mac/aria-menu-item-selected-notification.html:
             Rewrite test to accomodate that focus changes happen asynchronously.
        * accessibility/mac/selection-notification-focus-change-expected.txt:
        * platform/mac-wk2/accessibility/mac/selection-notification-focus-change-expected.txt:
             The order of notifications is different now that focus changes happen later.

2018-02-12  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Classify resources as prevalent based on redirects to other prevalent resources
        https://bugs.webkit.org/show_bug.cgi?id=182664
        <rdar://problem/37372572>

        Reviewed by Brent Fulgham.

        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-expected.txt: Added.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html: Added.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-expected.txt: Added.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html: Added.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-expected.txt: Added.
        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html: Added.
        * platform/wk2/TestExpectations:
            New tests added as [ Pass ].

2018-02-12  Matt Lewis  <jlewis3@apple.com>

        Marked multiple http/tests/resourceLoadStatistics tests as flaky and skip.
        

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-12  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/workers/service/basic-messageport.html as flaky on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=182630

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-12  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r228376.

        This caused accessibility/mac/selection-notification-focus-
        change.html to become flaky on macOS.

        Reverted changeset:

        "AX: defer focusedUIElement notifications"
        https://bugs.webkit.org/show_bug.cgi?id=182643
        https://trac.webkit.org/changeset/228376

2018-02-12  Per Arne Vollan  <pvollan@apple.com>

        Mark imported/mozilla/svg/conditions-07.svg as a flaky failure on Windows.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-02-12  Matt Lewis  <jlewis3@apple.com>

        Skipped webgl/1.0.3/conformance/rendering/many-draw-calls.html on iOS Simulator Debug WK2
        https://bugs.webkit.org/show_bug.cgi?id=182144

        Unreviewed test expectations.

        * platform/ios-wk2/TestExpectations:

2018-02-12  Chris Fleizach  <cfleizach@apple.com>

        AX: defer focusedUIElement notifications
        https://bugs.webkit.org/show_bug.cgi?id=182643
        <rdar://problem/37394310>

        Reviewed by Zalan Bujtas.

        * accessibility/mac/aria-menu-item-selected-notification.html:
             Rewrite test to accomodate that focus changes happen asynchronously.
        * accessibility/mac/selection-notification-focus-change-expected.txt:
        * platform/mac-wk2/accessibility/mac/selection-notification-focus-change-expected.txt:
             The order of notifications is different now that focus changes happen later.        

2018-02-12  Per Arne Vollan  <pvollan@apple.com>

        Update test expectations for some tests which are failing on only one ews Windows bot.
        https://bugs.webkit.org/show_bug.cgi?id=182694

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-02-08  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
        https://bugs.webkit.org/show_bug.cgi?id=182564

        Reviewed by Wenson Hsieh.

        Added a test to make sure special Microsoft Word quirks would not get triggered
        when pasting content copied within WebKit.

        * http/tests/security/clipboard/copy-paste-html-across-origin-strips-mso-list-expected.txt: Added.
        * http/tests/security/clipboard/copy-paste-html-across-origin-strips-mso-list.html: Added.
        * http/tests/security/clipboard/resources/copy-mso-list.html: Added.

2018-02-09  Ryan Haddad  <ryanhaddad@apple.com>

        Mark two service worker LayoutTests as flaky.

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-09  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, updated GTK test expectations after r228276

        * platform/gtk/TestExpectations:

2018-02-08  Wenson Hsieh  <wenson_hsieh@apple.com>

        Pasting from Excel no longer provides text/html data
        https://bugs.webkit.org/show_bug.cgi?id=182636
        <rdar://problem/37087060>

        Reviewed by Ryosuke Niwa.

        Rebaseline some existing layout tests. We now expose "text/html" alongside "Files" on DataTransfer.types() in
        some circumstances. This also provides some test coverage for ensuring that the paste codepath iOS allows the
        page to request HTML, even if there are files on the pasteboard. See the WebCore ChangeLog for more detail.

        * editing/pasteboard/data-transfer-item-list-add-file-multiple-times-expected.txt:
        * editing/pasteboard/data-transfer-item-list-add-file-on-copy-expected.txt:
        * editing/pasteboard/data-transfer-item-list-add-file-on-drag-expected.txt:

        Adjust test expectations for the additional "text/html" type.

        * editing/pasteboard/paste-image-does-not-reveal-file-url-expected.txt:
        * editing/pasteboard/paste-image-does-not-reveal-file-url.html:

        Instead of checking that types is [ "Files" ], just check that types contains "Files". On iOS, copying a
        selected image does not also copy HTML, but on macOS it does; this covers both cases.

2018-02-09  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Object.shallowEqual always fails when comparing array property values
        https://bugs.webkit.org/show_bug.cgi?id=182634
        <rdar://problem/37374639>

        Reviewed by Devin Rousso.

        * inspector/unit-tests/object-utilities-expected.txt:
        * inspector/unit-tests/object-utilities.html:

2018-02-09  Andy Estes  <aestes@apple.com>

        [Payment Request] Crash in PaymentRequest::canMakePayment() when Apple Pay payment method data is missing required fields
        https://bugs.webkit.org/show_bug.cgi?id=182631

        Reviewed by Mark Lam.

        * http/tests/paymentrequest/payment-request-canmakepayment-method.https-expected.txt:
        * http/tests/paymentrequest/payment-request-canmakepayment-method.https.html:

2018-02-09  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for fast/forms/textarea/textarea-state-restore.html
        https://bugs.webkit.org/show_bug.cgi?id=90980

        Unreviewed test gardening.

        * TestExpectations:
        * platform/wk2/TestExpectations:

2018-02-09  Philippe Normand  <pnormand@igalia.com>

        [GStreamer][WebAudio] Winamp2-js woes
        https://bugs.webkit.org/show_bug.cgi?id=182612

        Reviewed by Xabier Rodriguez Calvar and Carlos Alberto Lopez Perez.

        * webaudio/silence-after-playback-expected.wav: Added.
        * webaudio/silence-after-playback.html: Added.

2018-02-09  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] Implement the new behavior of 'legacy' for justify-items
        https://bugs.webkit.org/show_bug.cgi?id=172712

        Reviewed by Antti Koivisto.

        Rebaselined Default Alignment related tests because of the new 'legacy' value.

        * css3/parse-alignment-of-root-elements.html:
        * css3/parse-place-items.html:
        * fast/css/parse-justify-items.html:

2018-02-08  Matt Lewis  <jlewis3@apple.com>

        Marked media/W3C/video/events/event_progress_manual.html as flaky on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=177663

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-08  Chris Dumez  <cdumez@apple.com>

        Form submission after navigation fails when decidePolicyForNavigationAction is async
        https://bugs.webkit.org/show_bug.cgi?id=182412
        <rdar://problem/35181099>

        Reviewed by Alex Christensen.

        Import layout test coverage from Alex's earlier patch.

        * http/tests/navigation/resources/a.html: Added.
        * http/tests/navigation/resources/b.html: Added.
        * http/tests/navigation/sync-form-submit-iframe-expected.txt: Added.
        * http/tests/navigation/sync-form-submit-iframe.html: Added.

2018-02-08  Per Arne Vollan  <pvollan@apple.com>

        Mark accessibility/aria-hidden-updates-alldescendants.html as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=182626

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-02-08  John Wilander  <wilander@apple.com>

        Switch http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html from testRunner.installStatisticsDidModifyDataRecordsCallback() to testRunner.installStatisticsDidScanDataRecordsCallback()
        https://bugs.webkit.org/show_bug.cgi?id=182624
        <rdar://problem/37364749>

        Unreviewed test gardening.

        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * platform/mac-wk2/TestExpectations:
            Changed from [ Pass Timeout ] to [ Pass ] for the given test.

2018-02-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/console/clearMessages.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182620

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-02-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182571

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-02-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webanimations/animation-opacity-animation-crash.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181612

        Unreviewed test gardening.

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-08  Ryan Haddad  <ryanhaddad@apple.com>

        Mark fast/dom/adopt-node-crash-2.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182589

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-02-08  Chris Fleizach  <cfleizach@apple.com>

        AX: Defer attribute computation until needed.
        https://bugs.webkit.org/show_bug.cgi?id=182386
        <rdar://problem/37115277>

        Reviewed by Zalan Bujtas.

        Update tests to reflect new world of delayed attribute handling for accessibility.

        * accessibility/canvas-fallback-content.html:
             Make test async so attributes can be checked after deferred handling.
        * accessibility/mac/aria-expanded-notifications.html:
             Access elements through AX tree so attribute changes generate notifications.
        * accessibility/mac/aria-listbox-selectedchildren-change.html:
             Make test async so attributes can be checked after deferred handling.
        * accessibility/mac/aria-menu-item-selected-notification.html:
             Access menu item through AX tree so attribute changes generate notifications.
        * accessibility/mac/aria-modal-auto-focus.html:
             Access buttons after delay so attributes have time to be deferred.
        * accessibility/mac/element-busy-changed.html:
             Process second attribute change after delay so we generate two notifications.
        * accessibility/mac/expanded-notification.html:
             Set attributes after a delay so they generate individual notifications.
        * accessibility/notification-listeners.html:
              Access elements through AX tree so attribute changes generate notifications.

2018-02-08  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening after r228270.

        * platform/gtk/TestExpectations:

2018-02-08  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] LayoutTest webaudio/silent-audio-interrupted-in-background.html makes its subsequent test flaky crash
        https://bugs.webkit.org/show_bug.cgi?id=173916

        Reviewed by Xabier Rodriguez Calvar.

        * platform/gtk/TestExpectations: Unskip fixed test.

2018-02-06  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Implement Array.prototype.flatMap and Array.prototype.flatten
        https://bugs.webkit.org/show_bug.cgi?id=182440

        Reviewed by Darin Adler.

        * inspector/model/remote-object-get-properties-expected.txt:
        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2018-01-13  Darin Adler  <darin@apple.com>

        Event improvements
        https://bugs.webkit.org/show_bug.cgi?id=179591

        Reviewed by Chris Dumez.

        * fast/dom/reference-cycle-leaks-expected.txt: Expect success for the
        CustomEvent, MessageEvent, and PopStateEvent cycle leak checks.

2018-02-07  Said Abou-Hallawa  <sabouhallawa@apple.com>

        [iOS] Skip webgl/webgl-texture-image-buffer-reuse.html
        https://bugs.webkit.org/show_bug.cgi?id=182592

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-02-07  Youenn Fablet  <youenn@apple.com>

        Remove www1/www2 URLs from service worker tests
        https://bugs.webkit.org/show_bug.cgi?id=182548

        Reviewed by Chris Dumez.

        * TestExpectations:

2018-02-07  John Wilander  <wilander@apple.com>

        Switch testRunner.installStatisticsDidModifyDataRecordsCallback() to testRunner.installStatisticsDidScanDataRecordsCallback() in two tests
        https://bugs.webkit.org/show_bug.cgi?id=182366
        <rdar://problem/37094805>

        Unreviewed test gardening.

        This change is an attempt to make two flaky test cases stable.
        It also skips http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html
        because the timestamp resolution of 5 seconds is now so short that we run into timing flakiness.

        * http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
        * http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
        * platform/mac-wk2/TestExpectations:
            Removed [ Skip ] entry for http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html
            Added [ Skip ] entry for http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html
        * platform/wk2/TestExpectations:
            Now both the above test cases are marked [ Pass ].

2018-02-07  Ryan Haddad  <ryanhaddad@apple.com>

        Skip media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html.
        https://bugs.webkit.org/show_bug.cgi?id=169158

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-02-07  Youenn Fablet  <youenn@apple.com>

        ASSERTION FAILED: m_timeOrigin in Performance::Performance()
        https://bugs.webkit.org/show_bug.cgi?id=182558
        <rdar://problem/37297551>

        Reviewed by Chris Dumez.

        Make use of WPT cors-preflight-star.any.js test in service worker.
        This test should be removed once WPT will run any.js tests in service workers as well as workers and window.

        * http/wpt/service-workers/cors-preflight-star.any.js: Added.
        * http/wpt/service-workers/cors-preflight-star.any.serviceworker-expected.txt: Added.
        * http/wpt/service-workers/cors-preflight-star.any.serviceworker.html: Added.

2018-02-07  Wenson Hsieh  <wenson_hsieh@apple.com>

        REGRESSION(r226396): File paths are inserted when dropping image files
        https://bugs.webkit.org/show_bug.cgi?id=182557
        <rdar://problem/37294120>

        Reviewed by Ryosuke Niwa.

        Tweak an existing layout test that drops a file into a contenteditable, to check that no text is inserted into
        the editable element after dropping.

        * editing/pasteboard/drag-files-to-editable-element-as-URLs-expected.txt:
        * editing/pasteboard/drag-files-to-editable-element-as-URLs.html:

2018-02-07  John Wilander  <wilander@apple.com>

        Restrict Referer to just the origin for third parties in private mode and third parties ITP blocks cookies for in regular mode
        https://bugs.webkit.org/show_bug.cgi?id=182559
        <rdar://problem/36990337>

        Reviewed by Andy Estes.

        * TestExpectations:
            New tests marked as [ Skip ]. The change only applies to iOS and Mac.
        * http/tests/resourceLoadStatistics/resources/echo-referrer.php: Added.
        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-expected.txt: Added.
        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects.html: Added.
        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-expected.txt: Added.
        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests.html: Added.
        * http/tests/security/resources/echo-referrer.php: Added.
        * http/tests/security/resources/redirect.php: Added.
        * http/tests/security/strip-referrer-to-origin-for-third-party-redirects-in-private-mode-expected.txt: Added.
        * http/tests/security/strip-referrer-to-origin-for-third-party-redirects-in-private-mode.html: Added.
        * http/tests/security/strip-referrer-to-origin-for-third-party-requests-in-private-mode-expected.txt: Added.
        * http/tests/security/strip-referrer-to-origin-for-third-party-requests-in-private-mode.html: Added.
        * platform/ios/TestExpectations:
            New tests marked as [ Pass ].
        * platform/mac-wk2/TestExpectations:
            New tests marked as [ Pass ].
        * platform/wk2/TestExpectations:
            New tests marked as [ Skip ].

2018-02-07  Matt Lewis  <jlewis3@apple.com>

        Adjusted test expectations for storage/indexeddb/modern/idbtransaction-objectstore-failures.html.
        https://bugs.webkit.org/show_bug.cgi?id=171862

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-02-07  Daniel Bates  <dabates@apple.com>

        Log error when authentication challenge is blocked due to an insecure request
        https://bugs.webkit.org/show_bug.cgi?id=182358

        Reviewed by Andy Estes.

        Add more tests and update expected results of existing tests now that we emit console messages.

        Also fixed a typo in LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https.html
        so that it tests what it actually claims to test and made the test programmatically load the image
        to avoid output flakiness caused by the preload scanner preloading it. The preload scanner performs
        mixed content checks and this can cause duplicate mixed content warnings in the test output.

        * http/tests/security/mixedContent/insecure-basic-auth-image.https-expected.txt: Added.
        * http/tests/security/mixedContent/insecure-basic-auth-image.https.html: Copied from LayoutTests/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https.html.
        * http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https-expected.txt:
        * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-expected.txt:
        * http/tests/security/mixedContent/resources/subresource/protected-page.php: Added.
        * http/tests/security/mixedContent/resources/subresource2/protected-image.php: Added.
        * http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-insecure-page.https-expected.txt: Added.
        * http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-insecure-page.https.html: Added.
        * http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-secure-page-via-insecure-redirect.https-expected.txt: Added.
        * http/tests/security/mixedContent/secure-page-navigates-to-basic-auth-secure-page-via-insecure-redirect.https.html: Added.
        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https-expected.txt:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https.html:

2018-02-07  Chris Dumez  <cdumez@apple.com>

        IndexedDB in service workers is using a memory backed store
        https://bugs.webkit.org/show_bug.cgi?id=182574
        <rdar://problem/37316205>

        Reviewed by Youenn Fablet.

        Unskip test that no longer times out.

        * TestExpectations:

2018-02-07  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Enable http/wpt/fetch/response-status-text.html
        https://bugs.webkit.org/show_bug.cgi?id=177872

        Unreviewed test gardening.

        * platform/wpe/TestExpectations: the test appears to pass since r227900.

2018-02-07  Ms2ger  <Ms2ger@igalia.com>

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

        Unreviewed test gardening.

        * platform/wpe/TestExpectations:
          - imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-margin-001.html: fixed in r226404.
          - imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html: fixed in r226404.
          - imported/w3c/web-platform-tests/XMLHttpRequest/getallresponseheaders.htm: fixed in r227900.
          - imported/w3c/web-platform-tests/XMLHttpRequest/status-async.htm: fixed in r227900.
          - imported/w3c/web-platform-tests/XMLHttpRequest/status-basic.htm: fixed in r227900.
          - imported/w3c/web-platform-tests/XMLHttpRequest/status-error.htm: fixed in r227900.
          - svg/custom/filter-update-different-root.html: fixed in r225797.
          - svg/filters/color-space-conversion.svg: fixed in r225797.
          - svg/filters/container-with-filters.svg: fixed in r225797.
          - svg/filters/feComposite-background-rect-control-operators.svg: fixed in r225797.
          - svg/filters/feDisplacementMap-filterUnits.svg: fixed in r225797.
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
          update for error message change, probably in r227900.

2018-02-06  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd
        https://bugs.webkit.org/show_bug.cgi?id=182545

        Reviewed by Brian Burg.

        * inspector/unit-tests/string-utilities-expected.txt:
        * inspector/unit-tests/string-utilities.html:

2018-02-06  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Rendering SVG images with same size as WebGL texture doesn't work correctly
        https://bugs.webkit.org/show_bug.cgi?id=182367

        Reviewed by Dean Jackson.

        * webgl/webgl-texture-image-buffer-reuse-expected.html: Added.
        * webgl/webgl-texture-image-buffer-reuse.html: Added.

2018-02-06  Matt Lewis  <jlewis3@apple.com>

        Marked transitions/transition-display-property.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182554

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-02-06  Youenn Fablet  <youenn@apple.com>

        imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=182541

        Reviewed by Chris Dumez.

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-waits-for-activate.https.html is a flaky failure on macOS and iOS
        https://bugs.webkit.org/show_bug.cgi?id=181392
        <rdar://problem/36384136>

        Reviewed by Youenn Fablet.

        Unskip test that is no longer flaky.

        * platform/mac-wk2/TestExpectations:

2018-02-06  Andy Estes  <aestes@apple.com>

        [Payment Request] show() should take an optional PaymentDetailsUpdate promise
        https://bugs.webkit.org/show_bug.cgi?id=182538
        <rdar://problem/36754552>

        Reviewed by Tim Horton.

        * http/tests/paymentrequest/payment-request-show-method.https-expected.txt:
        * http/tests/paymentrequest/payment-request-show-method.https.html:

2018-02-06  Daniel Bates  <dabates@apple.com>

        Make mixed content basic auth tests more robust
        https://bugs.webkit.org/show_bug.cgi?id=182537

        Reviewed by Chris Dumez.

        Load the test image programmatically instead of declaratively to avoid output flakiness caused by
        the preload scanner preloading the test image. The preload scanner performs mixed content checks
        and this can cause duplicate mixed content warnings in the test output.

        * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https.html:
        * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html:

2018-02-06  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Test at media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html fails
        https://bugs.webkit.org/show_bug.cgi?id=182425

        Reviewed by Dean Jackson.

        Turn the test back on now that it works.

        * platform/mac/TestExpectations:

2018-02-06  Antoine Quint  <graouts@apple.com>

        Layout Test media/modern-media-controls/slider/slider-value.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=182515

        Reviewed by Dean Jackson.

        Ensure we stop printing messages once the test has completed since the bots show that this could happen,
        although I couldn't reproduce locally.

        * media/modern-media-controls/slider/slider-value.html:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip readable-byte-streams/detached-buffers.serviceworker.https.html as it is no longer flaky

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, add bug number of service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip service-worker/about-blank-replacement.https.html as it is no longer flaky

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip service-worker/service-worker-csp-connect.https.html as it is no longer flaky

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip service-worker/uncontrolled-page.https.html as it no longer seems flaky

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, mark service-worker/windowclient-navigate.https.html as slow instead of flaky

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip service-worker/registration-service-worker-attributes.https.html now that it is no longer flaky

        * TestExpectations:

2018-02-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip service-worker/update.https.html now that it is no longer flaky

        * TestExpectations:

2018-02-05  Youenn Fablet  <youenn@apple.com>

        Crash in imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html
        https://bugs.webkit.org/show_bug.cgi?id=182422
        <rdar://problem/37182665>

        Reviewed by Alex Christensen.

        * platform/mac/TestExpectations:

2018-02-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Test gardening after r228044
        https://bugs.webkit.org/show_bug.cgi?id=182517

        Unreviewed.

        * platform/ios/fast/css-generated-content/initial-letter-basic-expected.txt:
        * platform/ios/fast/css-generated-content/initial-letter-border-padding-expected.txt:
        * platform/ios/fast/css-generated-content/initial-letter-raised-expected.txt:
        * platform/ios/fast/css-generated-content/initial-letter-sunken-expected.txt:

2018-02-05  Simon Fraser  <simon.fraser@apple.com>

        iOS WK2: fast/visual-viewport/resize-event-fired.html crashes with GuardMalloc
        https://bugs.webkit.org/show_bug.cgi?id=182504
        rdar://problem/36386435

        Reviewed by Wenson Hsieh.
        
        Don't end the test until both the resize handler has been called, and the zoom is complete, to
        avoid leaving dangling zoom completion handlers.

        * fast/visual-viewport/resize-event-fired.html:
        * platform/ios/TestExpectations:

2018-02-05  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip fetch-event-respond-with-partial-stream.https.html as it no longer times out

        * TestExpectations:

2018-02-05  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        * platform/gtk/TestExpectations: Re-skip the modern media controls tests
        on the GTK+ port after they were unskipped in r228097. They're timing
        out in large enough numbers to cause early exits. They should be
        examined in more detail and unskipped once fixed.

2018-02-05  John Wilander  <wilander@apple.com>

        Storage Access API: Add testRunner.getAllStorageAccessEntries() to make testing easier and more explicit
        https://bugs.webkit.org/show_bug.cgi?id=181601
        <rdar://problem/36475837>

        Reviewed by Alex Christensen.

        http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html
        was found to be flaky. With the testRunner.hasStorageAccessEntry() getter
        it's possible to check access even if a frame doesn't respond timely to
        postMessage after detach and attach.

        * http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-expected.txt:
        * http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html:
        * platform/mac-wk2/TestExpectations:
            http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html
            no longer marked as flaky. Note that the wrong test was marked flaky. It should have been
            http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html.

2018-02-05  Matt Lewis  <jlewis3@apple.com>

        Skipped imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html
        https://bugs.webkit.org/show_bug.cgi?id=182422

        Unreviewed test gardening.

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-05  Chris Dumez  <cdumez@apple.com>

        Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=181166
        <rdar://problem/37169508>

        Reviewed by Youenn Fablet.

        Unskip test that is no longer flaky.

        * platform/mac-wk2/TestExpectations:

2018-02-05  Daniel Bates  <dabates@apple.com>

        Disallow evaluating JavaScript from NPP_Destroy() in WebKit
        https://bugs.webkit.org/show_bug.cgi?id=181889
        <rdar://problem/36674701>

        Reviewed by Brent Fulgham.

        Consolidate all the plugin tests that evaluate JavaScript from NPP_Destroy()
        and mark them as Wont Fix. In a subsequent change we will look to replace
        these tests with tests that ensure that we do not evaluate JavaScript from
        NPP_Destroy().

        * platform/mac/TestExpectations:
        * platform/wk2/TestExpectations:

2018-02-05  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls tests back on by default
        https://bugs.webkit.org/show_bug.cgi?id=182482

        Reviewed by Eric Carlson.

        After updating a significant amount of tests under media/modern-media-controls over the last week, we can stop skipping
        tests in this directory by default, and instead skip tests that do not apply on a per-platform basis. This patch does that
        along with fixing a few remaining tests and adding some more for the new behavior of display 3, 4, 5 or 6 digits for time
        labels depending on the overall video duration.

        * TestExpectations:
        * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt:
        * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html:
        * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click-expected.txt:
        * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html:
        * http/tests/media/modern-media-controls/status-support/status-support-loading-expected.txt:
        * http/tests/media/modern-media-controls/status-support/status-support-loading.html:
        * http/tests/media/modern-media-controls/time-control/1-to-10-hours-expected.txt: Added.
        * http/tests/media/modern-media-controls/time-control/1-to-10-hours.html: Added.
        * http/tests/media/modern-media-controls/time-control/10-hours-or-more-expected.txt: Added.
        * http/tests/media/modern-media-controls/time-control/10-hours-or-more.html: Added.
        * http/tests/media/modern-media-controls/time-control/10-minutes-to-1-hour-expected.txt: Added.
        * http/tests/media/modern-media-controls/time-control/10-minutes-to-1-hour.html: Added.
        * http/tests/media/modern-media-controls/time-control/less-than-10-minutes-expected.txt: Renamed from LayoutTests/http/tests/media/modern-media-controls/time-labels-support/long-time-expected.txt.
        * http/tests/media/modern-media-controls/time-control/less-than-10-minutes.html: Renamed from LayoutTests/http/tests/media/modern-media-controls/time-labels-support/long-time.html.
        * media/modern-media-controls/scrubber-support/scrubber-support-drag.html: Make this test more reliable by going a little further
        left of the slider's left-most point to ensure we always get a 0-value.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-05  Antti Koivisto  <antti@apple.com>

        Crash on sfgate.com because mismatching link preload types
        https://bugs.webkit.org/show_bug.cgi?id=182483
        <rdar://problem/37065331>

        Reviewed by Daniel Bates.

        * http/tests/preload/link-preload-type-mismatch-expected.txt: Added.
        * http/tests/preload/link-preload-type-mismatch.html: Added.

2018-02-05  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-grid] Rename gutter properties to remove "grid-" prefix
        https://bugs.webkit.org/show_bug.cgi?id=180290

        Reviewed by Javier Fernandez.

        * TestExpectations: We're now passing some gutters tests,
        so removing them from TestExpectations.
        * fast/css-grid-layout/grid-gutters-get-set.html: Removed. This is now covered by WPT tests.
        * fast/css-grid-layout/grid-shorthand-get-set-expected.txt: Update results for gutter properties
        as default value is now "normal".
        * fast/css-grid-layout/grid-shorthand-get-set.html: Update checks for gutter properties
        as default value is now "normal".

2018-02-05  Ms2ger  <Ms2ger@igalia.com>

        Implement createImageBitmap(HTMLVideoElement)
        https://bugs.webkit.org/show_bug.cgi?id=182388

        Reviewed by Žan Doberšek.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
        * platform/ios/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:

2018-02-02  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed test gardening, skip fast/visual-viewport/resize-event-fired.html on iOS.

        * platform/ios/TestExpectations:

2018-02-02  Ryan Haddad  <ryanhaddad@apple.com>

        Rebaseline imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html for iOS.

        Unreviewed test gardening.

        * platform/ios/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: Added.

2018-02-02  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls/volume-* back on
        https://bugs.webkit.org/show_bug.cgi?id=182438

        Reviewed by Dean Jackson.

        Update tests to match the modern-media-controls design and expectations.
        One test was reworked as a Slider test since VolumeSlider no longer exists.

        * media/modern-media-controls/slider/slider-value-expected.txt: Renamed from LayoutTests/media/modern-media-controls/volume-slider/volume-slider-value-expected.txt.
        * media/modern-media-controls/slider/slider-value.html: Renamed from LayoutTests/media/modern-media-controls/volume-slider/volume-slider-value.html.
        * media/modern-media-controls/volume-down-support/volume-down-support-expected.txt:
        * media/modern-media-controls/volume-down-support/volume-down-support.html:
        * media/modern-media-controls/volume-slider/volume-slider-expected.txt: Removed.
        * media/modern-media-controls/volume-slider/volume-slider-value-expected.txt: Removed.
        * media/modern-media-controls/volume-slider/volume-slider.html: Removed.
        * media/modern-media-controls/volume-support/volume-support-click-expected.txt:
        * media/modern-media-controls/volume-support/volume-support-click.html:
        * media/modern-media-controls/volume-support/volume-support-drag-expected.txt:
        * media/modern-media-controls/volume-support/volume-support-drag.html:
        * media/modern-media-controls/volume-up-support/volume-up-support-expected.txt:
        * media/modern-media-controls/volume-up-support/volume-up-support.html:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-02  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls/tracks-panel and media/modern-media-controls/tracks-support back on
        https://bugs.webkit.org/show_bug.cgi?id=182426

        Reviewed by Dean Jackson.

        Update tests to match the modern-media-controls design and expectations. One test fails currently due to an issue with the
        auto-hide behavior, it is tracked in webkit.org/b/182425.

        * media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt:
        * media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html:
        * media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt:
        * media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html:
        * 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-audio-tracks-expected.txt:
        * media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html:
        * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt:
        * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html:
        * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt:
        * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html:
        * media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt:
        * media/modern-media-controls/tracks-support/tracks-support-text-tracks.html:
        * platform/mac/TestExpectations:

2018-02-02  Ms2ger  <Ms2ger@igalia.com>

        imagebitmap gardening
        https://bugs.webkit.org/show_bug.cgi?id=182430

        Unreviewed test gardening.

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-02  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK][Wayland][WPE] fast/canvas/canvas-createPattern-video-modify.html failing
        https://bugs.webkit.org/show_bug.cgi?id=182432

        Unreviewed gardening.
        * platform/gtk-wayland/TestExpectations:
        * platform/wpe/TestExpectations:

2018-02-02  Ms2ger  <Ms2ger@igalia.com>

        Update imagebitmap tests.
        https://bugs.webkit.org/show_bug.cgi?id=182335
        <rdar://problem/37110684>

        Unreviewed test gardening.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Removed.
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub-expected.txt: Added.
        * platform/mac/TestExpectations:
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Removed.
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub-expected.txt: Added.

2018-02-02  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] fast/events/message-channel-gc-4.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=182104

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations:
        Unmarked fast/events/message-channel-gc-4.html and fast/workers/worker-cloneport.html.

2018-02-01  Chris Dumez  <cdumez@apple.com>

        When SW install fails, null out registration.installing before setting worker state to "redundant"
        https://bugs.webkit.org/show_bug.cgi?id=182416
        <rdar://problem/37141997>

        Reviewed by Youenn Fablet.

        Add layout test coverage. I have verified that this test is passing in both Firefox and Chrome.

        * http/tests/workers/service/install-fails-expected.txt: Added.
        * http/tests/workers/service/install-fails.html: Added.
        * http/tests/workers/service/resources/install-fails-worker.js: Added.
        (event.event.waitUntil.new.Promise):

2018-02-01  Megan Gardner  <megan_gardner@apple.com>

        Fix race-condition in fast/forms/ios/ipad/select-form-run-twice.html
        https://bugs.webkit.org/show_bug.cgi?id=182370

        Reviewed by Tim Horton.
        
        There is the potential for multiple button clicks, due to looping function calls that can cause timed functions to 
        still be running in the next test, causing crashes. Guarding against repeated clicks, and cancelling the timers should 
        clean up this problem.

        * fast/forms/ios/ipad/select-form-run-twice.html:
        * fast/forms/ios/ipad/unfocus-inside-fixed-hittest.html:

2018-02-01  Matt Lewis  <jlewis3@apple.com>

        Skipped http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=182366

        Unreviewed test gardening.

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

2018-02-01  Chris Dumez  <cdumez@apple.com>

        Add missing RETURN_IF_EXCEPTION() after object->get() calls in convertDictionary<>()
        https://bugs.webkit.org/show_bug.cgi?id=182392
        <rdar://problem/37119215>

        Reviewed by Geoffrey Garen.

        Rebaseline existing test now that output is slightly different.

        * fast/events/constructors/message-event-constructor-expected.txt:

2018-02-01  Ryosuke Niwa  <rniwa@webkit.org>

        Some test cases in accessibility/mac/selection-notification-focus-change.html fail
        https://bugs.webkit.org/show_bug.cgi?id=182212
        <rdar://problem/36937147>

        Reviewed by Antti Koivisto and Wenson Hsieh.

        Updated and rebaselined the tests.

        * accessibility/ios-simulator/header-elements.html: Force the layout after each call to element.focus
        now that element.focus no longer updates the layout synchronously. Ordinarily, this will happen next time
        the layout is updated for paint, by JS API, etc... but we have to force the accessibility tree to be
        up-to-date for testing purposes.
        * accessibility/ios-simulator/table-cell-for-row-col.html: Ditto.
        * accessibility/mac/selection-notification-focus-change-expected.txt: Now all the test cases are passing.
        * accessibility/mac/table-with-row-col-of-headers.html: Force the layout after each call to element.focus.
        * accessibility/mac/table-with-zebra-rows.html: Ditto.
        * accessibility/scroll-to-global-point-main-window.html: Ditto.
        * accessibility/scroll-to-make-visible-with-subfocus.html: Ditto.
        * editing/input/caret-at-the-edge-of-input.html: Wait for the focused element to reveal itself by a timer.
        * fast/forms/input-text-scroll-left-on-blur.html: Ditto.
        * fast/forms/textarea-no-scroll-on-blur.html: Ditto.
        * fast/forms/textarea-scrolled-type.html: Ditto.
        * platform/mac-wk2/accessibility/mac/selection-notification-focus-change-expected.txt: Rebaselined. We now
        get one less AXTextSelectionChangedFocus notification because selection updates are now coalesced as expected.

2018-02-01  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls/ios-inline-media-controls back on
        https://bugs.webkit.org/show_bug.cgi?id=182390

        Reviewed by Eric Carlson.

        Update tests to match the modern-media-controls design and expectations.

        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding-expected.txt: Removed.
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding.html: Removed.
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles-expected.txt: Removed.
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles.html: Removed.
        * 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/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles-expected.txt:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles.html:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar-expected.txt:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar.html:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-expected.txt:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label.html:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding-expected.txt: Removed.
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding.html: Removed.
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles-expected.txt:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles.html:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls-expected.txt:
        * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls.html:
        * platform/ios/TestExpectations:

2018-02-01  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rebaseline imported/w3c/web-platform-tests/service-workers/service-worker/performance-timeline.https.html

        * TestExpectations:

2018-02-01  Matt Lewis  <jlewis3@apple.com>

        Followup test expectation adjustment from r227947.
        

        Unreviewed test expectations.

        * platform/ios-simulator/TestExpectations:

2018-02-01  Dean Jackson  <dino@apple.com>

        REGRESSION (r219342): Scaled HTML widget is not responding to a clicks outside the body
        https://bugs.webkit.org/show_bug.cgi?id=182394
        <rdar://problem/34840816>

        Reviewed by Simon Fraser.

        Add a test for a scaled down page.

        * fast/dom/elementFromPoint-scaled-scrolled-expected.txt:
        * fast/dom/elementFromPoint-scaled-scrolled.html:

2018-02-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r227958 and r227972.
        https://bugs.webkit.org/show_bug.cgi?id=182393

        This caused a consistent crash on macOS. (Requested by
        mlewis13 on #webkit).

        Reverted changesets:

        "Update imagebitmap tests."
        https://bugs.webkit.org/show_bug.cgi?id=182335
        https://trac.webkit.org/changeset/227958

        "[WPE] Update test expectations for r227958"
        https://bugs.webkit.org/show_bug.cgi?id=182391
        https://trac.webkit.org/changeset/227972

2018-02-01  Ms2ger  <Ms2ger@igalia.com>

        [WPE] Update test expectations for r227958
        https://bugs.webkit.org/show_bug.cgi?id=182391

        Unreviewed test gardening.

        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Removed.
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub-expected.txt: Added.

2018-02-01  Yusuke Suzuki  <utatane.tea@gmail.com>

        Structured cloning a Symbol should throw
        https://bugs.webkit.org/show_bug.cgi?id=182380

        Reviewed by Darin Adler.

        * js/dom/post-message-symbol-expected.txt: Added.
        * js/dom/post-message-symbol.html: Added.

2018-02-01  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls/macos-fullscreen-media-controls back on
        https://bugs.webkit.org/show_bug.cgi?id=182385

        Reviewed by Eric Carlson.

        Update tests to match the modern-media-controls design and expectations.

        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt:
        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html:
        * platform/mac/TestExpectations:

2018-02-01  Frederic Wang  <fwang@igalia.com>

        Rewrite fast/events/scroll-in-scaled-page-with-overflow-hidden.html to conform with CSSOM View
        https://bugs.webkit.org/show_bug.cgi?id=182287

        Reviewed by Antonio Gomes.

        Per the CSSOM View specification, it is wrong to use document.body.scrollTop to retrieve the
        vertical offset of the viewport in this test, because the body is potentially scrollable.
        This commit relies on window.scrollY instead so that the test still works after bug 5991.

        * fast/events/scroll-in-scaled-page-with-overflow-hidden-expected.txt:
        * fast/events/scroll-in-scaled-page-with-overflow-hidden.html:

2018-02-01  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls/media-controls back on
        https://bugs.webkit.org/show_bug.cgi?id=182377

        Reviewed by Dean Jackson.

        Update tests to match the modern-media-controls design and expectations, moving 3 tests under
        media/modern-media-controls/macos-inline-media-controls since they are testing functionality
        that is now specific to inline media controls.

        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-bar-always-ltr-expected.txt: Renamed from LayoutTests/media/modern-media-controls/media-controls/media-controls-controls-bar-always-ltr-expected.txt.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-bar-always-ltr.html: Renamed from LayoutTests/media/modern-media-controls/media-controls/media-controls-controls-bar-always-ltr.html.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-placard-expected.txt: Added.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-placard.html: Added.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-shows-start-button-expected.txt: Renamed from LayoutTests/media/modern-media-controls/media-controls/media-controls-start-button-expected.txt.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-shows-start-button.html: Renamed from LayoutTests/media/modern-media-controls/media-controls/media-controls-start-button.html.
        * media/modern-media-controls/media-controls/media-controls-appear-when-focus-expected.txt:
        * media/modern-media-controls/media-controls/media-controls-appear-when-focus.html:
        * media/modern-media-controls/media-controls/media-controls-constructor-expected.txt:
        * media/modern-media-controls/media-controls/media-controls-constructor.html:
        * media/modern-media-controls/media-controls/media-controls-placard-compressed-metrics-expected.txt:
        * media/modern-media-controls/media-controls/media-controls-placard-compressed-metrics.html:
        * media/modern-media-controls/media-controls/media-controls-placard-expected.txt: Removed.
        * media/modern-media-controls/media-controls/media-controls-placard.html: Removed.
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-02-01  Ms2ger  <Ms2ger@igalia.com>

        Update imagebitmap tests.
        https://bugs.webkit.org/show_bug.cgi?id=182335

        Unreviewed test gardening.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Removed.
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub-expected.txt: Added.

2018-02-01  Antti Koivisto  <antti@apple.com>

        Invalidate style for sibling combinators accurately on class change
        https://bugs.webkit.org/show_bug.cgi?id=182336

        Reviewed by Zalan Bujtas.

        Adapt to progressions.

        * fast/css/direct-adjacent-style-update-optimization-expected.txt:
        * fast/css/direct-adjacent-style-update-optimization.html:
        * fast/css/indirect-adjacent-style-update-optimization-expected.txt:
        * fast/css/indirect-adjacent-style-update-optimization.html:
        * fast/css/nth-last-child-of-style-update-optimization.html:

2018-01-31  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls/macos-inline-media-controls back on
        https://bugs.webkit.org/show_bug.cgi?id=182338

        Reviewed by Eric Carlson.

        Update tests to match the modern-media-controls designs and expectations. Certain tests didn't make any sense anymore
        and were removed, for instance tests related to the compact mode.

        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-audio-background-expected.txt: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-audio-background.html: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles-expected.txt: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-buttons-styles-expected.txt: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-buttons-styles.html: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-controls-bar-styles-expected.txt: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-controls-bar-styles.html: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-expected.txt: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact.html: Removed.
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-resize-with-hidden-controls-bar-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-resize-with-hidden-controls-bar.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-start-button-style-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-start-button-style.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-status-label-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-status-label.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html:
        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-01-31  Per Arne Vollan  <pvollan@apple.com>

        Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing
        https://bugs.webkit.org/show_bug.cgi?id=181204
        <rdar://problem/36256274>

        Reviewed by Ryosuke Niwa.

        * fast/events/beforeunload-dom-manipulation-crash.html: Make it clear that the
        frame element is a child of the 'del' element.
        * fast/events/beforeunload-dom-manipulation-crash-expected.html:
        * platform/mac-wk1/TestExpectations: Unskip test.

2018-01-31  Javier Fernandez  <jfernandez@igalia.com>

        inline-block baseline not computed correctly for vertical-lr
        https://bugs.webkit.org/show_bug.cgi?id=170176

        Reviewed by Manuel Rego Casasnovas.

        Tests to evaluate the baseline alignment in vertical modes.
        Additionally, several tests were rebaselined.

        Some of the new tests are marked as Failure for the ios-sim
        platform because of pixel rounding errors in the absolute
        positioned elements used as reference.

        Finally, there are color differences in the border-styles-vertical-lr-expected.png
        caused by changes in the gtk+ platform. Those differences were not noticeable until
        now that the patch causes diffs in the expected.txt files.

        * fast/inline-block/baseline-vertical-01-expected.html: Added.
        * fast/inline-block/baseline-vertical-01.html: Added.
        * fast/inline-block/baseline-vertical-02-expected.html: Added.
        * fast/inline-block/baseline-vertical-02.html: Added.
        * fast/inline-block/baseline-vertical-03-expected.html: Added.
        * fast/inline-block/baseline-vertical-03.html: Added.
        * fast/inline-block/baseline-vertical-04-expected.html: Added.
        * fast/inline-block/baseline-vertical-04.html: Added.
        * fast/inline-block/baseline-vertical-05-expected.html: Added.
        * fast/inline-block/baseline-vertical-05.html: Added.
        * fast/inline-block/baseline-vertical-06-expected.html: Added.
        * fast/inline-block/baseline-vertical-06.html: Added.
        * fast/inline-block/baseline-vertical-07-expected.html: Added.
        * fast/inline-block/baseline-vertical-07.html: Added.
        * fast/inline-block/baseline-vertical-08-expected.html: Added.
        * fast/inline-block/baseline-vertical-08.html: Added.
        * fast/text/emphasis-avoid-ruby-expected.png:
        * fast/text/emphasis-avoid-ruby-expected.txt:
        * fast/text/emphasis-overlap-expected.png:
        * fast/text/emphasis-overlap-expected.txt:
        * platform/gtk/fast/backgrounds/background-leakage-transforms-expected.png:
        * platform/gtk/fast/backgrounds/background-leakage-transforms-expected.txt:
        * platform/gtk/fast/writing-mode/border-styles-vertical-lr-expected.png:
        * platform/gtk/fast/writing-mode/border-styles-vertical-lr-expected.txt:
        * platform/ios-simulator/TestExpectations:
        * platform/ios/fast/backgrounds/background-leakage-transforms-expected.png: Added.
        * platform/ios/fast/backgrounds/background-leakage-transforms-expected.txt:
        * platform/ios/fast/writing-mode/border-styles-vertical-lr-expected.png:
        * platform/ios/fast/writing-mode/border-styles-vertical-lr-expected.txt:
        * platform/mac/fast/backgrounds/background-leakage-transforms-expected.png:
        * platform/mac/fast/backgrounds/background-leakage-transforms-expected.txt:
        * platform/mac/fast/writing-mode/border-styles-vertical-lr-expected.txt:
        * platform/win/fast/writing-mode/text-orientation-basic-expected.txt:

2018-01-31  Alicia Boya García  <aboya@igalia.com>

        Unreviewed GTK+ test gardening.

        * platform/gtk/TestExpectations:

2018-01-31  Alex Christensen  <achristensen@webkit.org>

        Unreviewed, rolling out r227942.

        r227875 should not have been rolled out.

        Reverted changeset:

        "Unreviewed, rolling out r227875."
        https://bugs.webkit.org/show_bug.cgi?id=182357
        https://trac.webkit.org/changeset/227942

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

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

        Missing cross-platform TestController implementation

        Reverted changeset:

        "Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning()"
        https://bugs.webkit.org/show_bug.cgi?id=181958
        https://trac.webkit.org/changeset/227875

        * http/tests/resourceLoadStatistics/add-blocking-to-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/add-blocking-to-redirect.html:
        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html:
        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html:
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt:
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html:
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html:
        * http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html:
        * platform/mac-wk2/TestExpectations:

2018-01-31  Said Abou-Hallawa  <sabouhallawa@apple.com>

        BitmapImage::drawPattern() may not draw a complete frame even after all the data is received
        https://bugs.webkit.org/show_bug.cgi?id=182277

        Reviewed by Simon Fraser.

        * http/tests/images/draw-pattern-slow-load-large-image-expected.html: Added.
        * http/tests/images/draw-pattern-slow-load-large-image.html: Added.
        * http/tests/resources/load-and-stall.php: Add a new argument to allow
        repeating the stall till the end of the file. This simulates real slow
        network where sending data and stalling happens constantly and not only
        a single time.

2018-01-31  Chris Dumez  <cdumez@apple.com>

        REGRESSION (r227340): Layout Test fast/workers/worker-cloneport.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=182007
        <rdar://problem/37005504>

        Reviewed by Ryosuke Niwa.

        Increase the test's timeout. The test sometimes takes more than 1 second to run and would
        log a FAIL line, even though the test eventually succeeds.

        * fast/workers/worker-cloneport.html:
        * platform/mac-wk2/TestExpectations:

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

        REGRESSION(r227223): http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html, http/tests/resourceLoadStatistics/grandfathering.html timing out on GTK, WPE
        https://bugs.webkit.org/show_bug.cgi?id=182222

        Reviewed by Alex Christensen.

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

2018-01-31  Ryosuke Niwa  <rniwa@webkit.org>

        Release assertion in Performance::resourceTimingBufferFullTimerFired when the resource timing buffer is shrunk
        https://bugs.webkit.org/show_bug.cgi?id=182319
        <rdar://problem/36904312>

        Reviewed by Chris Dumez.

        Added regression tests for shrinking the resoruce timing buffer and queuing a new resource timing entry while
        resourcetimingbufferfull event is being dispatched.

        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull-queue-resource-entry-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull-queue-resource-entry.html: Added.
        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull-shrinking-buffer-crash-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull-shrinking-buffer-crash.html: Added.

        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull-shrinking-buffer-crash-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull-shrinking-buffer-crash.html: Added.

2018-01-31  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectations for fast/forms/searchfield-heights.html.
        https://bugs.webkit.org/show_bug.cgi?id=181831

        Unreviewed test gardening.

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

2018-01-31  Antoine Quint  <graouts@apple.com>

        [Modern Media Controls] Turn media/modern-media-controls/start-support tests back on
        https://bugs.webkit.org/show_bug.cgi?id=182297

        Reviewed by Jon Lee and Eric Carlson.

        Update tests to account for the new variable name for the playPauseButton and ensure we only listen to the
        fullscreen event once to avoid flakiness in cases where we might exit fullscreen before the test completes.

        We also update other tests that tested the behavior of ButtonsContainer.

        * media/modern-media-controls/buttons-container/buttons-container-buttons-property-expected.txt:
        * media/modern-media-controls/buttons-container/buttons-container-buttons-property.html:
        * media/modern-media-controls/buttons-container/buttons-container-constructor-expected.txt:
        * media/modern-media-controls/buttons-container/buttons-container-constructor.html:
        * media/modern-media-controls/buttons-container/buttons-container-layout-expected.txt:
        * media/modern-media-controls/buttons-container/buttons-container-layout.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-rtl-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-rtl.html:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled-expected.txt:
        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled.html:
        * media/modern-media-controls/pip-support/pip-support-click.html:
        * 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/TestExpectations:
        * platform/mac/TestExpectations:

2018-01-31  Saam Barati  <sbarati@apple.com>

        JSC incorrectly interpreting script, sets Global Property instead of Global Lexical variable (LiteralParser / JSONP path)
        https://bugs.webkit.org/show_bug.cgi?id=182074
        <rdar://problem/36846261>

        Reviewed by Mark Lam.

        * http/tests/security/regress-52192-expected.txt:

2018-01-30  John Wilander  <wilander@apple.com>

        Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning()
        https://bugs.webkit.org/show_bug.cgi?id=181958
        https://bugs.webkit.org/show_bug.cgi?id=182072
        <rdar://problem/36801804>
        <rdar://problem/36845795>

        Reviewed by Brent Fulgham.

        Because of the asynchronous nature of XPC and cookies,
        we need callbacks in these TestRunner functions so that
        the layout tests can wait for state changes to finish
        before checking test conditions.

        * http/tests/resourceLoadStatistics/add-blocking-to-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/add-blocking-to-redirect.html:
        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html:
        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html:
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt:
        * http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html:
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt:
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html:
        * http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html:
        * platform/mac-wk2/TestExpectations:

2018-01-30  Youenn Fablet  <youenn@apple.com>

        Move http/wpt/service-workers/clone-opaque-being-loaded-response.https.html to use HTTP
        https://bugs.webkit.org/show_bug.cgi?id=182202
        <rdar://problem/36912402>

        Reviewed by Chris Dumez.
        Follow-up to ensure subresource load is also done in HTTP and not HTTPS

        * http/wpt/service-workers/clone-opaque-being-loaded-response-worker.js:

2018-01-30  Matt Lewis  <jlewis3@apple.com>

        Marked fast/workers/worker-cloneport.html as flaky on macOS Release.
        https://bugs.webkit.org/show_bug.cgi?id=182007

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-30  Chris Nardi  <cnardi@chromium.org>

        Use double-quotes when serializing font-feature-settings
        https://bugs.webkit.org/show_bug.cgi?id=182201

        Update tests with double-quotes instead of single-quotes.

        Reviewed by Myles C. Maxfield.

        * css3/font-feature-settings-parsing-expected.txt:
        * css3/font-feature-settings-parsing.html:
        * fast/css/inherited-properties-rare-text-expected.txt:
        * fast/text/font-face-javascript-expected.txt:
        * fast/text/font-face-javascript.html:

2018-01-30  Ryosuke Niwa  <rniwa@webkit.org>

        Release assert in updateLayout() via AXObjectCache::childrenChanged
        https://bugs.webkit.org/show_bug.cgi?id=182279
        <rdar://problem/36994456>

        Reviewed by Antti Koivisto.

        Added a regression test.

        * accessibility/accessibility-object-update-during-style-resolution-crash-expected.txt: Added.
        * accessibility/accessibility-object-update-during-style-resolution-crash.html: Added.

2018-01-30  Matt Lewis  <jlewis3@apple.com>

        Skipping imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https.html.
        https://bugs.webkit.org/show_bug.cgi?id=182311

        Unreviewed test expectations.

        * TestExpectations:

2018-01-30  Megan Gardner  <megan_gardner@apple.com>

        Make preserve and restore focus more likely to be symmetrical
        https://bugs.webkit.org/show_bug.cgi?id=182264

        Reviewed by Tim Horton.

        Added new test to verify that opening a selection form twice works.

        * fast/forms/ios/ipad/select-form-run-twice-expected.txt: Added.
        * fast/forms/ios/ipad/select-form-run-twice.html: Added.

2018-01-30  Dean Jackson  <dino@apple.com>

        CrashTracer: com.apple.WebKit.WebContent at WebCore: WebCore::Document::updateStyleIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=182299
        <rdar://problem/36853088>

        Reviewed by Simon Fraser.

        * svg/animated-svgImage-scroll-expected.txt: Added.
        * svg/animated-svgImage-scroll.html: Added.

2018-01-30  Frederic Wang  <fwang@igalia.com>

        Unreviewed test gardening.

        * TestExpectations: Add Bugzilla references for scrollingElement-quirks-dynamic tests.

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

        Unreviewed WPE test gardening

        This test now has a global flakiness expectation

        * platform/wpe/TestExpectations:

2018-01-30  Frederic Wang  <fwang@igalia.com>

        Use document.scrollingElement to access viewport scroll properties in tests
        https://bugs.webkit.org/show_bug.cgi?id=182241

        Reviewed by Antonio Gomes.

        Many tests use document.body in standard mode in order to access scroll properties of the
        viewport. This is incorrect per the CSSOM View specification but WebKit does not follow the
        spec at the moment (see bug 5991). This replaces several of these instances with
        document.scrollingElement, so that tests will still work when WebKit's behavior is changed.

        * fast/multicol/scrolling-overflow.html:
        * fast/scrolling/latching/iframe_in_iframe.html:
        * fast/scrolling/latching/scroll-div-no-latching.html:
        * fast/scrolling/latching/scroll-latched-nested-div.html:
        * fast/scrolling/latching/scroll-nested-iframe.html:
        * http/tests/navigation/anchor-frames-expected.txt:
        * http/tests/navigation/anchor-frames-gbk-expected.txt:
        * http/tests/navigation/anchor-frames-same-origin-expected.txt:
        * http/tests/navigation/resources/frame-with-anchor-gbk.html:
        * http/tests/navigation/resources/frame-with-anchor-same-origin.html:
        * http/tests/navigation/resources/frame-with-anchor.html:
        * tiled-drawing/resources/scroll-and-load-page.html:
        * tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html:
        * tiled-drawing/scrolling/frames/resources/autoscrolling-frame-with-fixed.html:
        * tiled-drawing/scrolling/iframe_in_iframe.html:
        * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:

2018-01-29  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Implement trimStart and trimEnd
        https://bugs.webkit.org/show_bug.cgi?id=182233

        Reviewed by Mark Lam.

        * js/Object-getOwnPropertyNames-expected.txt:
        * js/script-tests/Object-getOwnPropertyNames.js:

2018-01-29  Yusuke Suzuki  <utatane.tea@gmail.com>

        [JSC] Relax line terminators in String to make JSON subset of JS
        https://bugs.webkit.org/show_bug.cgi?id=182232

        Reviewed by Keith Miller.

        * sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.3-expected.txt:
        * sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.3.html:
        * sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.4-expected.txt:
        * sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.4.html:

2018-01-29  Youenn Fablet  <youenn@apple.com>

        ServiceWorkerClientFetch should not consider responses without Location headers as redirection responses
        https://bugs.webkit.org/show_bug.cgi?id=182134

        Reviewed by Chris Dumez.

        * TestExpectations:

2018-01-29  Youenn Fablet  <youenn@apple.com>

        Cache API should make sure to resolve caches.open promises in the same order as called
        https://bugs.webkit.org/show_bug.cgi?id=182193
        <rdar://problem/36930363>

        Reviewed by Chris Dumez.

        * http/wpt/cache-storage/cache-open.https-expected.txt: Added.
        * http/wpt/cache-storage/cache-open.https.html: Added.

2018-01-29  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=182177

        Unreviewed test expectations.

        * TestExpectations:

2018-01-29  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Add a compile-time feature flag
        https://bugs.webkit.org/show_bug.cgi?id=182211
        <rdar://problem/36936365>

        Reviewed by Brent Fulgham.

        Skip WebAuthN related tests on certain platforms as they won't
        support it immediately.

        * platform/gtk/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wpe/TestExpectations:

2018-01-29  Ryan Haddad  <ryanhaddad@apple.com>

        Mark webrtc/captureCanvas-webrtc.html as flaky on macOS.
        https://bugs.webkit.org/show_bug.cgi?id=181835

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-29  John Wilander  <wilander@apple.com>

        Switch grandfathering layout test to trigger on data record scanning instead of data record modification
        https://bugs.webkit.org/show_bug.cgi?id=181482
        <rdar://problem/36549026>

        Unreviewed test gardening.

        * http/tests/resourceLoadStatistics/grandfathering.html:
            Switched from
            testRunner.installStatisticsDidModifyDataRecordsCallback()
            to
            testRunner.installStatisticsDidScanDataRecordsCallback().
        * platform/mac-wk2/TestExpectations:
            Marked as [ Pass ] again.

2018-01-29  Andy Estes  <aestes@apple.com>

        [iOS] Restrict synthetic clicks to the origin that handled the underlying touch event
        https://bugs.webkit.org/show_bug.cgi?id=182252
        <rdar://problem/21555881>

        Reviewed by Tim Horton.

        * TestExpectations:
        * http/tests/events/touch/ios/cross-frame-single-tap-same-origin.https-expected.txt: Added.
        * http/tests/events/touch/ios/cross-frame-single-tap-same-origin.https.html: Added.
        * http/tests/events/touch/ios/resources/click-target.html: Added.

2018-01-29  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r227731.

        This caused and assertion failure in API tests.

        Reverted changeset:

        "Layout Test fast/events/beforeunload-dom-manipulation-
        crash.html is crashing"
        https://bugs.webkit.org/show_bug.cgi?id=181204
        https://trac.webkit.org/changeset/227731

2018-01-29  Youenn Fablet  <youenn@apple.com>

        Move http/wpt/service-workers/clone-opaque-being-loaded-response.https.html to use HTTP
        https://bugs.webkit.org/show_bug.cgi?id=182202

        Reviewed by Chris Dumez.

        Some bots dislike cross origin HTTPS fetches.

        * http/wpt/service-workers/clone-opaque-being-loaded-response-expected.txt: Renamed from LayoutTests/http/wpt/service-workers/clone-opaque-being-loaded-response.https-expected.txt.
        * http/wpt/service-workers/clone-opaque-being-loaded-response.html: Renamed from LayoutTests/http/wpt/service-workers/clone-opaque-being-loaded-response.https.html.

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

        Unreviewed WPE test gardening

        * platform/wpe/TestExpectations:

2018-01-29  Per Arne Vollan  <pvollan@apple.com>

        Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing
        https://bugs.webkit.org/show_bug.cgi?id=181204
        <rdar://problem/36256274>

        Reviewed by Ryosuke Niwa.

        * fast/events/beforeunload-dom-manipulation-crash.html: Make it clear that the
        frame element is a child of the 'del' element.
        * fast/events/beforeunload-dom-manipulation-crash-expected.html:
        * platform/mac-wk1/TestExpectations: Unskip test.

2018-01-29  Per Arne Vollan  <pvollan@apple.com>

        Mark js/dom/array-with-double-assign.html as a failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=182239

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-28  Minsheng Liu  <lambda@liu.ms>

        Overflow of formulas is hidden for display mathematics
        https://bugs.webkit.org/show_bug.cgi?id=160547

        Reviewed by Frédéric Wang.

        Add a test to ensure <math> with display="block" will not truncate overflowed contents.

        * mathml/presentation/display-math-horizontal-overflow-expected.txt: Added.
        * mathml/presentation/display-math-horizontal-overflow.html: Added.

2018-01-28  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed WPE gardening.

        * platform/wpe/TestExpectations: Add test failure expectations. Shuffle
        around a few expectations and eliminate duplicate ones, removing overlap
        warnings printed out when invoking run-webkit-tests.

2018-01-28  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK+ gardening.

        * platform/gtk/TestExpectations: Add failure expectations for three tests.
        * platform/gtk/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt:
        Added a test baseline due to console messages being output in a slightly different order.

2018-01-26  Ryosuke Niwa  <rniwa@webkit.org>

        Make accessibility/mac/selection-notification-focus-change.html more reliable and re-enable it
        https://bugs.webkit.org/show_bug.cgi?id=182198
        <rdar://problem/36930258>

        Reviewed by Tim Horton.

        Refactored the test by splitting each test case into its own function split by setTimeout by zero seconds
        instead of triggering the next test case when receiving a specific notification to make the test more robust.

        Also moved functions which trigger the focus move into evalAndLog so that they appear in the expected result,
        and added more logging to make the debugging of the test easier.

        Finally, added WebKit2 specific expected result because it has one extra test failure compared to WebKit1.

        * accessibility/mac/selection-notification-focus-change-expected.txt:
        * accessibility/mac/selection-notification-focus-change.html:
        * platform/mac-wk2/accessibility/mac: Added.
        * platform/mac-wk2/accessibility/mac/selection-notification-focus-change-expected.txt: Added.
        * platform/mac/TestExpectations: Removed the flaky test failure expectation since this test should now have
        the same expected result everywhere on macOS.

2018-01-26  Chris Dumez  <cdumez@apple.com>

        Layout Test http/wpt/beacon/beacon-async-error-logging.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=182184
        <rdar://problem/36929478>

        Reviewed by Youenn Fablet.

        Stop relying on a setTimeout(500) to end the test. Instead rely on the
        internals.setConsoleMessageListener() API to wait for the console message
        we are expecting.

        * http/wpt/beacon/beacon-async-error-logging.html:

2018-01-26  Ricky Mondello  <rmondello@apple.com>

        Use the standard -webkit-autofill color on iOS
        https://bugs.webkit.org/show_bug.cgi?id=182182

        Reviewed by Tim Horton.

        Update test expectations.

        * 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:

2018-01-26  Megan Gardner  <megan_gardner@apple.com>

        Don't retain focus for input peripheral views
        https://bugs.webkit.org/show_bug.cgi?id=182204

        Reviewed by Tim Horton.

        Fixed a spelling error while fixing a bug this test caught.

        * fast/forms/ios/ipad/unfocus-inside-fixed-hittest.html:
        * fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt:

2018-01-26  Youenn Fablet  <youenn@apple.com>

        Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/appcache-ordering-main.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=182176
        <rdar://problem/36915685>

        Unreviewed.

        * TestExpectations: Skiping test for now.

2018-01-26  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/blink/fast/text/international-iteration-simple-text.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179853

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-01-26  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update test expectations.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-25  Ryosuke Niwa  <rniwa@webkit.org>

        Make scrolling to the focused element async
        https://bugs.webkit.org/show_bug.cgi?id=181575
        <rdar://problem/36459767>

        Reviewed by Simon Fraser.

        Updated the tests per the behavioral change and added two more tests for scrolling to the focused element.

        * accessibility/mac/webkit-scrollarea-position.html: Wait for the focus scrolling to take effect.
        * fast/events/reveal-link-when-focused.html: Ditto.
        * fast/images/imagemap-scroll.html: Ditto.
        * fast/overflow/scroll-nested-positioned-layer-in-overflow.html: Ditto.
        * fast/overflow/scrollRevealButton.html: Ditto.
        * fast/transforms/scrollIntoView-transformed.html: Ditto. We need to focus each element in a seperate task
        since only the last focused element will be revealed otherwise.
        * fast/scrolling/scroll-to-focused-element-asynchronously-expected.txt: Added.
        * fast/scrolling/scroll-to-focused-element-asynchronously.html: Added.
        * fast/scrolling/scroll-to-focused-element-canceled-by-fragment-navigation-expected.txt: Added.
        * fast/scrolling/scroll-to-focused-element-canceled-by-fragment-navigation.html: Added.

2018-01-25  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION(r217236): [iOS] PDFDocumentImage does not update its cached ImageBuffer if it has a sub-rectangle of the image
        https://bugs.webkit.org/show_bug.cgi?id=182083

        Reviewed by Simon Fraser.

        PDFDocumentImage renders only on CG platforms. Enable the new test for
        iOS only.

        * TestExpectations:
        * fast/images/pdf-as-image-dest-rect-change-expected.txt: Added.
        * fast/images/pdf-as-image-dest-rect-change.html: Added.
        * platform/ios/TestExpectations:

2018-01-25  Yusuke Suzuki  <utatane.tea@gmail.com>

        imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=181980

        Reviewed by Ryosuke Niwa.

        * TestExpectations:

2018-01-25  Jer Noble  <jer.noble@apple.com>

        Move ImageDecoderAVFObjC from using AVSampleBufferGenerator to AVAssetReaderOutput for parsing
        https://bugs.webkit.org/show_bug.cgi?id=182091

        Reviewed by Eric Carlson.

        * platform/ios/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set-expected.txt: Added.

2018-01-25  Antoine Quint  <graouts@apple.com>

        [Web Animations] Account for provided easings when computing progress and resolving keyframe effect values
        https://bugs.webkit.org/show_bug.cgi?id=182098
        <rdar://problem/36866149>

        Reviewed by Dean Jackson.

        Update an animated value due to more accurate resolution of cubic-bezier() timing functions.

        * platform/mac/transitions/default-timing-function-expected.txt:

2018-01-25  Per Arne Vollan  <pvollan@apple.com>

        [Win] Update test expectations.

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-25  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectation for memory/memory-pressure-simulation.html.
        https://bugs.webkit.org/show_bug.cgi?id=170629

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-25  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ gardening after r227599.

        * platform/gtk/TestExpectations:
        * platform/gtk/fast/overflow/line-clamp-expected.png:
        * platform/gtk/fast/overflow/line-clamp-expected.txt:

2018-01-25  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-multicol] Some test imported in r227600 are failing

        Unreviewed gardening.

        * TestExpectations:

2018-01-25  Manuel Rego Casasnovas  <rego@igalia.com>

        [css-multicol] Update WPT test suite
        https://bugs.webkit.org/show_bug.cgi?id=182087

        Reviewed by Javier Fernandez.

        * TestExpectations:
        * platform/gtk/TestExpectations:

2018-01-25  Antoine Quint  <graouts@apple.com>

        [Web Animations] Update WPT tests and move them to imported/w3c/web-platform-tests
        https://bugs.webkit.org/show_bug.cgi?id=182092

        Unreviewed test gardening.

        * TestExpectations:
        * http/wpt/web-animations/OWNERS: Removed.
        * http/wpt/web-animations/README.md: Removed.
        * http/wpt/web-animations/interfaces/Animatable/animate-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/Animatable/getAnimations.html: Removed.
        * http/wpt/web-animations/interfaces/Animation/constructor.html: Removed.
        * http/wpt/web-animations/interfaces/Animation/finish-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/Animation/finished-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/Animation/playState-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/Animation/playState.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/delay.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/direction.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/duration.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/fill.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations.html: Removed.
        * http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline.html: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/constructor.html: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor.html: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming.html: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes.html: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor-expected.txt: Removed.
        * http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor.html: Removed.
        * http/wpt/web-animations/resources/keyframe-utils.js: Removed.
        * http/wpt/web-animations/timing-model/animation-effects/active-time.html: Removed.
        * http/wpt/web-animations/timing-model/animation-effects/phases-and-states.html: Removed.

2018-01-24  Frederic Wang  <fwang@igalia.com>

        ScrollingStateNode::reconcileLayerPositionForViewportRect is only called on direct children of the root
        https://bugs.webkit.org/show_bug.cgi?id=179946

        Reviewed by Simon Fraser.

        Add a test that verifies the correct update of the graphic layer of a "position: fixed" and
        "position: sticky" nodes inside a non-flat scrolling tree. The test checks recursive call
        on overflow, "position: sticky" and "position: fixed" nodes.

        * fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt: Added.
        * fast/scrolling/ios/reconcile-layer-position-recursive.html: Added.

2018-01-24  Manuel Rego Casasnovas  <rego@igalia.com>

        Move css-color & css-multicol WPT suites to the proper folder
        https://bugs.webkit.org/show_bug.cgi?id=182044

        Reviewed by Youenn Fablet.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-wk1/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/win/TestExpectations:

2018-01-24  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Implement PublicKeyCredential’s [[DiscoverFromExternalSource]] with a dummy authenticator
        https://bugs.webkit.org/show_bug.cgi?id=182032
        <rdar://problem/36459922>

        Reviewed by Brent Fulgham.

        * http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https-expected.txt: Added.
        * http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https.html: Added.
        * http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https-expected.txt:
        * http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https-expected.txt:
        * http/tests/webauthn/resources/last-layer-frame.https.html:
        * http/wpt/credential-management/credentialscontainer-store-basics.https-expected.txt: Added.
        * http/wpt/credential-management/credentialscontainer-store-basics.https.html: Added.
        * http/wpt/webauthn/idl.https-expected.txt:
        * http/wpt/webauthn/idl.https.html:
        * http/wpt/webauthn/public-key-credential-create-success.https.html:
        * http/wpt/webauthn/public-key-credential-get-failure.https-expected.txt: Added.
        * http/wpt/webauthn/public-key-credential-get-failure.https.html: Added.
        * http/wpt/webauthn/public-key-credential-get-success.https-expected.txt: Added.
        * http/wpt/webauthn/public-key-credential-get-success.https.html: Added.

2018-01-24  Youenn Fablet  <youenn@apple.com>

        Opaque being-loaded responses should clone their body
        https://bugs.webkit.org/show_bug.cgi?id=182056

        Reviewed by Brady Eidson.

        * http/wpt/service-workers/clone-opaque-being-loaded-response-worker.js: Added.
        * http/wpt/service-workers/clone-opaque-being-loaded-response.html: Added.
        * http/wpt/service-workers/clone-opaque-being-loaded-response.https-expected.txt: Added.
        * http/wpt/service-workers/resources/clone-opaque-being-loaded-response-iframe.html: Added.
        * http/wpt/service-workers/resources/lengthy-pass.py: Added.
        (main):

2018-01-24  David Hyatt  <hyatt@apple.com>

        Implement line clamp for mail.
        https://bugs.webkit.org/show_bug.cgi?id=180818

        Reviewed by Dean Jackson.

        Added parsing tests, basic and advanced clamping examples, and vertical
        writing tests. Revised an iOS clamp test to account for a slight change
        in rendering caused by altering clamping to be consistent with the pagination
        model of breaking beteween lines.

        * fast/block/lines-clamp-advanced-expected.html: Added.
        * fast/block/lines-clamp-advanced-rl-expected.html: Added.
        * fast/block/lines-clamp-advanced-rl.html: Added.
        * fast/block/lines-clamp-advanced.html: Added.
        * fast/block/lines-clamp-basic-expected.html: Added.
        * fast/block/lines-clamp-basic-rl-expected.html: Added.
        * fast/block/lines-clamp-basic-rl.html: Added.
        * fast/block/lines-clamp-basic.html: Added.
        * fast/css/lines-clamp-parsing-expected.txt: Added.
        * fast/css/lines-clamp-parsing.html: Added.
        * platform/ios-simulator-wk2/fast/overflow: Added.
        * platform/ios-simulator-wk2/fast/overflow/line-clamp-expected.txt: Added.

2018-01-24  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html as flaky on High Sierra Release.
        https://bugs.webkit.org/show_bug.cgi?id=181601

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-24  Jonathan Bedard  <jbedard@apple.com>

        Fix race-condition in fast/text/click-ellipsis-assertion-failure.html
        https://bugs.webkit.org/show_bug.cgi?id=182055
        <rdar://problem/36830203>

        Reviewed by Simon Fraser.

        * fast/text/click-ellipsis-assertion-failure.html: Wait for promise before ending test.

2018-01-24  Antti Koivisto  <antti@apple.com>

        Assertion failure in RenderMultiColumnSet::requiresBalancing() on fast/multicol/spanner-crash-when-adding-summary.html
        https://bugs.webkit.org/show_bug.cgi?id=179308
        <rdar://problem/34592771>

        Reviewed by Zalan Bujtas.

        Unskip fast/multicol/spanner-crash-when-adding-summary.html

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-01-24  Daniel Bates  <dabates@apple.com>

        [CSP] Check policy for targeted windows when navigating to a JavaScript URL
        https://bugs.webkit.org/show_bug.cgi?id=182018
        <rdar://problem/36795781>

        Reviewed by Brent Fulgham.

        * http/tests/security/contentSecurityPolicy/resources/window-open-javascript-url-with-target-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/window-open-javascript-url-with-target-blocked.js: Added.
        (done):
        * http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked.html: Added.

2018-01-24  Chris Dumez  <cdumez@apple.com>

        Add a IPC::SendSyncOption indicating we should not process incoming IPC while waiting for the sync reply
        https://bugs.webkit.org/show_bug.cgi?id=182021
        <rdar://problem/21629943>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage for the new flag.

        * fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Added.
        * fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Added.

2018-01-24  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectations for http/tests/cache/disk-cache/memory-cache-revalidation-updates-disk-cache.html.
        https://bugs.webkit.org/show_bug.cgi?id=162975

        Unreviewed test gardening.
        * platform/mac-wk2/TestExpectations:

2018-01-24  Chris Dumez  <cdumez@apple.com>

        Layout Test http/tests/workers/service/basic-unregister-then-register-again-reuse.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=182030
        <rdar://problem/36802933>

        Reviewed by Youenn Fablet.

        The service worker was only extending its lifetime using waitUntil() for 10 seconds. On the flakiness
        dashboard, I see that the test sometimes takes more than 10 seconds to run on some bots, which can
        cause the test to fail since the service worker is not keeping the registration alive anymore.
        To address the issue, raise the lifetime to 30 seconds.

        * http/tests/workers/service/resources/basic-unregister-then-register-again-reuse-worker.js:
        (event.waitUntil.new.Promise):

2018-01-24  Alex Christensen  <achristensen@webkit.org>

        Remove El Capitan test expectations.

        * platform/mac-elcapitan: Removed.
        * platform/mac-elcapitan-wk2: Removed.
        * platform/mac-elcapitan-wk2/fast: Removed.
        * platform/mac-elcapitan-wk2/fast/dom: Removed.
        * platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement: Removed.
        * platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/fast/dom/navigator-detached-no-crash-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/http: Removed.
        * platform/mac-elcapitan-wk2/http/tests: Removed.
        * platform/mac-elcapitan-wk2/http/tests/contentextensions: Removed.
        * platform/mac-elcapitan-wk2/http/tests/contentextensions/make-https-expected.txt: Removed.
        * platform/mac-elcapitan-wk2/imported: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/basic: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/url: Removed.
        * platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/url/failure-expected.txt: Removed.
        * platform/mac-elcapitan/TestExpectations: Removed.
        * platform/mac-elcapitan/accessibility: Removed.
        * platform/mac-elcapitan/accessibility/form-control-value-settable-expected.txt: Removed.
        * platform/mac-elcapitan/compositing: Removed.
        * platform/mac-elcapitan/compositing/contents-opaque: Removed.
        * platform/mac-elcapitan/compositing/contents-opaque/control-layer-expected.txt: Removed.
        * platform/mac-elcapitan/compositing/repaint: Removed.
        * platform/mac-elcapitan/compositing/repaint/iframes: Removed.
        * platform/mac-elcapitan/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Removed.
        * platform/mac-elcapitan/compositing/rtl: Removed.
        * platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt: Removed.
        * platform/mac-elcapitan/css2.1: Removed.
        * platform/mac-elcapitan/css3: Removed.
        * platform/mac-elcapitan/css3/selectors3: Removed.
        * platform/mac-elcapitan/css3/selectors3/html: Removed.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-19b-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-23-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-24-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-64-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-68-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/html/css3-modsel-69-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xhtml: Removed.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-19b-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-23-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-24-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-64-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-68-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-69-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xml: Removed.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-19b-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-23-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-24-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-64-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-68-expected.txt: Removed.
        * platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-69-expected.txt: Removed.
        * platform/mac-elcapitan/editing: Removed.
        * platform/mac-elcapitan/editing/deleting: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-2-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-3-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-4-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-5-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-6-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-7-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-8-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-9-expected.txt: Removed.
        * platform/mac-elcapitan/editing/deleting/delete-emoji-expected.txt: Removed.
        * platform/mac-elcapitan/editing/input: Removed.
        * platform/mac-elcapitan/editing/input/caret-at-the-edge-of-input-expected.txt: Removed.
        * platform/mac-elcapitan/editing/input/reveal-caret-of-multiline-input-expected.txt: Removed.
        * platform/mac-elcapitan/editing/inserting: Removed.
        * platform/mac-elcapitan/editing/inserting/4960120-1-expected.txt: Removed.
        * platform/mac-elcapitan/editing/inserting/before-after-input-element-expected.txt: Removed.
        * platform/mac-elcapitan/editing/mac: Removed.
        * platform/mac-elcapitan/editing/mac/attributed-string: Removed.
        * platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Removed.
        * platform/mac-elcapitan/editing/mac/spelling: Removed.
        * platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Removed.
        * platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Removed.
        * platform/mac-elcapitan/editing/mac/spelling/delete-autocorrected-word-2-expected.txt: Removed.
        * platform/mac-elcapitan/editing/pasteboard: Removed.
        * platform/mac-elcapitan/editing/pasteboard/4641033-expected.txt: Removed.
        * platform/mac-elcapitan/editing/pasteboard/4806874-expected.txt: Removed.
        * platform/mac-elcapitan/editing/pasteboard/4944770-1-expected.txt: Removed.
        * platform/mac-elcapitan/editing/pasteboard/4944770-2-expected.txt: Removed.
        * platform/mac-elcapitan/editing/pasteboard/drop-text-without-selection-expected.txt: Removed.
        * platform/mac-elcapitan/editing/pasteboard/input-field-1-expected.txt: Removed.
        * platform/mac-elcapitan/editing/pasteboard/pasting-tabs-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection: Removed.
        * platform/mac-elcapitan/editing/selection/3690703-2-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/3690703-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/3690719-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/4397952-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/4895428-3-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/4975120-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/5240265-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/drag-select-1-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/replaced-boundaries-3-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/select-across-readonly-input-3-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/select-box-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/select-element-paragraph-boundary-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/select-from-textfield-outwards-expected.txt: Removed.
        * platform/mac-elcapitan/editing/selection/selection-button-text-expected.txt: Removed.
        * platform/mac-elcapitan/fast: Removed.
        * platform/mac-elcapitan/fast/attachment: Removed.
        * platform/mac-elcapitan/fast/attachment/attachment-label-highlight-expected.txt: Removed.
        * platform/mac-elcapitan/fast/attachment/attachment-progress-expected.txt: Removed.
        * platform/mac-elcapitan/fast/attachment/attachment-select-on-click-expected.txt: Removed.
        * platform/mac-elcapitan/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Removed.
        * platform/mac-elcapitan/fast/attachment/attachment-subtitle-expected.txt: Removed.
        * platform/mac-elcapitan/fast/block: Removed.
        * platform/mac-elcapitan/fast/block/float: Removed.
        * platform/mac-elcapitan/fast/block/float/026-expected.png: Removed.
        * platform/mac-elcapitan/fast/block/float/026-expected.txt: Removed.
        * platform/mac-elcapitan/fast/block/float/028-expected.png: Removed.
        * platform/mac-elcapitan/fast/block/float/028-expected.txt: Removed.
        * platform/mac-elcapitan/fast/block/float/float-avoidance-expected.txt: Removed.
        * platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.png: Removed.
        * platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.txt: Removed.
        * platform/mac-elcapitan/fast/block/margin-collapse: Removed.
        * platform/mac-elcapitan/fast/block/margin-collapse/103-expected.txt: Removed.
        * platform/mac-elcapitan/fast/block/positioning: Removed.
        * platform/mac-elcapitan/fast/block/positioning/inline-block-relposition-expected.txt: Removed.
        * platform/mac-elcapitan/fast/canvas: Removed.
        * platform/mac-elcapitan/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
        * platform/mac-elcapitan/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css: Removed.
        * platform/mac-elcapitan/fast/css/continuationCrash-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css/focus-ring-exists-for-search-field-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css/line-height-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css/margin-top-bottom-dynamic-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css/text-overflow-input-expected.txt: Removed.
        * platform/mac-elcapitan/fast/css/text-transform-select-expected.txt: Removed.
        * platform/mac-elcapitan/fast/dom: Removed.
        * platform/mac-elcapitan/fast/dom/HTMLInputElement: Removed.
        * platform/mac-elcapitan/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt: Removed.
        * platform/mac-elcapitan/fast/dom/HTMLTableColElement: Removed.
        * platform/mac-elcapitan/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt: Removed.
        * platform/mac-elcapitan/fast/dom/HTMLTextAreaElement: Removed.
        * platform/mac-elcapitan/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt: Removed.
        * platform/mac-elcapitan/fast/dynamic: Removed.
        * platform/mac-elcapitan/fast/dynamic/008-expected.txt: Removed.
        * platform/mac-elcapitan/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Removed.
        * platform/mac-elcapitan/fast/events: Removed.
        * platform/mac-elcapitan/fast/events/context-no-deselect-expected.txt: Removed.
        * platform/mac-elcapitan/fast/events/shadow-event-path-2-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms: Removed.
        * platform/mac-elcapitan/fast/forms/001-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/004-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/alternative-presentation-button: Removed.
        * platform/mac-elcapitan/fast/forms/alternative-presentation-button/replacement-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/auto-fill-button: Removed.
        * platform/mac-elcapitan/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/basic-buttons-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/basic-inputs-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/basic-selects-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/basic-textareas-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/basic-textareas-quirks-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/blankbuttons-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/box-shadow-override-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-align-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-cannot-be-nested-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-default-title-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-generated-content-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-positioned-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-sizes-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-style-color-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-table-styles-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-text-transform-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/button-white-space-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/control-clip-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/control-clip-overflow-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/control-restrict-line-height-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/disabled-select-change-index-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/encoding-test-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/fieldset-align-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/file: Removed.
        * platform/mac-elcapitan/fast/forms/file/file-input-direction-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/file/file-input-disabled-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/file/input-file-re-render-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/floating-textfield-relayout-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/form-element-geometry-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/hidden-listbox-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-align-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-bkcolor-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-default-bkcolor-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-disabled-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-focus-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-height-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-preventDefault-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-readonly-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-selection-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-up-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-visibility-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-appearance-width-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-baseline-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-button-sizes-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-disabled-color-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-double-click-selection-gap-bug-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-field-text-truncated-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-first-letter-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-placeholder-visibility-1-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-placeholder-visibility-3-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-readonly-autoscroll-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-readonly-dimmed-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-readonly-empty-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-spaces-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-table-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-click-inside-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-click-outside-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-double-click-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-drag-down-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-option-delete-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-scroll-left-on-blur-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-self-emptying-click-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-text-word-wrap-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-value-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/input-width-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/listbox-scrollbar-incremental-load-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/listbox-width-change-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/menulist-clip-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/menulist-deselect-update-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/menulist-narrow-width-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/menulist-no-overflow-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/menulist-restrict-line-height-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/menulist-style-color-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/menulist-width-change-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/minWidthPercent-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/number: Removed.
        * platform/mac-elcapitan/fast/forms/number/number-appearance-rtl-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-layer-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/option-script-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/option-strip-whitespace-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/option-text-clip-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/placeholder-position-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/placeholder-pseudo-style-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/plaintext-mode-2-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search: Removed.
        * platform/mac-elcapitan/fast/forms/search-cancel-button-style-sharing-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search-display-none-cancel-button-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search-input-rtl-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search-rtl-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search-styled-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search-vertical-alignment-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search/search-padding-cancel-results-buttons-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/searchfield-heights-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select: Removed.
        * platform/mac-elcapitan/fast/forms/select-background-none-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-baseline-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-block-background-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-change-listbox-size-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-change-listbox-to-popup-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-change-popup-to-listbox-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-dirty-parent-pref-widths-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-disabled-appearance-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-empty-option-height-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-initial-position-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-item-background-clip-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-list-box-with-height-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-listbox-multiple-no-focusring-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-non-native-rendering-direction-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-overflow-scroll-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-overflow-scroll-inherited-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-selected-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-style-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select-writing-direction-natural-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/select/optgroup-rendering-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/stuff-on-my-optgroup-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/tabbing-input-iframe-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textAreaLineHeight-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-align-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-placeholder-pseudo-style-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-1-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-2-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-scroll-height-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-scrollbar-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-scrolled-type-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textarea-setinnerhtml-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textfield-focus-ring-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textfield-outline-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/textfield-overflow-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt: Removed.
        * platform/mac-elcapitan/fast/forms/visual-hebrew-text-field-expected.txt: Removed.
        * platform/mac-elcapitan/fast/frames: Removed.
        * platform/mac-elcapitan/fast/frames/take-focus-from-iframe-expected.txt: Removed.
        * platform/mac-elcapitan/fast/hidpi: Removed.
        * platform/mac-elcapitan/fast/hidpi/resize-corner-hidpi-expected.txt: Removed.
        * platform/mac-elcapitan/fast/html: Removed.
        * platform/mac-elcapitan/fast/html/details-no-summary4-expected.txt: Removed.
        * platform/mac-elcapitan/fast/html/details-open-javascript-expected.txt: Removed.
        * platform/mac-elcapitan/fast/html/details-open2-expected.txt: Removed.
        * platform/mac-elcapitan/fast/html/details-open4-expected.txt: Removed.
        * platform/mac-elcapitan/fast/html/keygen-expected.txt: Removed.
        * platform/mac-elcapitan/fast/inline: Removed.
        * platform/mac-elcapitan/fast/lists: Removed.
        * platform/mac-elcapitan/fast/lists/dynamic-marker-crash-expected.txt: Removed.
        * platform/mac-elcapitan/fast/overflow: Removed.
        * platform/mac-elcapitan/fast/overflow/overflow-x-y-expected.txt: Removed.
        * platform/mac-elcapitan/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Removed.
        * platform/mac-elcapitan/fast/overflow/scrollRevealButton-expected.txt: Removed.
        * platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Removed.
        * platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt: Removed.
        * platform/mac-elcapitan/fast/parser: Removed.
        * platform/mac-elcapitan/fast/parser/document-write-option-expected.txt: Removed.
        * platform/mac-elcapitan/fast/parser/entity-comment-in-textarea-expected.txt: Removed.
        * platform/mac-elcapitan/fast/parser/open-comment-in-textarea-expected.txt: Removed.
        * platform/mac-elcapitan/fast/repaint: Removed.
        * platform/mac-elcapitan/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt: Removed.
        * platform/mac-elcapitan/fast/repaint/search-field-cancel-expected.txt: Removed.
        * platform/mac-elcapitan/fast/repaint/subtree-root-skipped-expected.txt: Removed.
        * platform/mac-elcapitan/fast/replaced: Removed.
        * platform/mac-elcapitan/fast/replaced/replaced-breaking-expected.txt: Removed.
        * platform/mac-elcapitan/fast/replaced/replaced-breaking-mixture-expected.txt: Removed.
        * platform/mac-elcapitan/fast/replaced/width100percent-button-expected.txt: Removed.
        * platform/mac-elcapitan/fast/replaced/width100percent-menulist-expected.txt: Removed.
        * platform/mac-elcapitan/fast/replaced/width100percent-textarea-expected.txt: Removed.
        * platform/mac-elcapitan/fast/selectors: Removed.
        * platform/mac-elcapitan/fast/selectors/064-expected.txt: Removed.
        * platform/mac-elcapitan/fast/spatial-navigation: Removed.
        * platform/mac-elcapitan/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt: Removed.
        * platform/mac-elcapitan/fast/table: Removed.
        * platform/mac-elcapitan/fast/table/003-expected.txt: Removed.
        * platform/mac-elcapitan/fast/table/append-cells2-expected.txt: Removed.
        * platform/mac-elcapitan/fast/table/colspanMinWidth-expected.txt: Removed.
        * platform/mac-elcapitan/fast/table/colspanMinWidth-vertical-expected.txt: Removed.
        * platform/mac-elcapitan/fast/table/remove-td-display-none-expected.txt: Removed.
        * platform/mac-elcapitan/fast/table/spanOverlapRepaint-expected.txt: Removed.
        * platform/mac-elcapitan/fast/table/text-field-baseline-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text: Removed.
        * platform/mac-elcapitan/fast/text/backslash-to-yen-sign-euc-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/drawBidiText-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/emoji-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/font-weights-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/font-weights-zh-expected.png: Removed.
        * platform/mac-elcapitan/fast/text/font-weights-zh-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/international: Removed.
        * platform/mac-elcapitan/fast/text/international/hindi-spacing-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png: Removed.
        * platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png: Removed.
        * platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt: Removed.
        * platform/mac-elcapitan/fast/text/textIteratorNilRenderer-expected.txt: Removed.
        * platform/mac-elcapitan/fast/transforms: Removed.
        * platform/mac-elcapitan/fast/transforms/transformed-focused-text-input-expected.txt: Removed.
        * platform/mac-elcapitan/http: Removed.
        * platform/mac-elcapitan/http/tests: Removed.
        * platform/mac-elcapitan/http/tests/navigation: Removed.
        * platform/mac-elcapitan/http/tests/navigation/javascriptlink-frames-expected.txt: Removed.
        * platform/mac-elcapitan/http/tests/security: Removed.
        * platform/mac-elcapitan/http/tests/security/mixedContent: Removed.
        * platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Removed.
        * platform/mac-elcapitan/imported: Removed.
        * platform/mac-elcapitan/imported/w3c: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/basic: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/resource-timing: Removed.
        * platform/mac-elcapitan/imported/w3c/web-platform-tests/resource-timing/test_resource_timing-expected.txt: Removed.
        * platform/mac-elcapitan/media: Removed.
        * platform/mac-elcapitan/media/controls: Removed.
        * platform/mac-elcapitan/media/controls-after-reload-expected.txt: Removed.
        * platform/mac-elcapitan/media/controls-strict-expected.png: Removed.
        * platform/mac-elcapitan/media/controls-styling-expected.txt: Removed.
        * platform/mac-elcapitan/media/controls-without-preload-expected.png: Removed.
        * platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Removed.
        * platform/mac-elcapitan/media/media-document-audio-repaint-expected.txt: Removed.
        * platform/mac-elcapitan/media/media-fullscreen-inline-expected.txt: Removed.
        * platform/mac-elcapitan/media/media-fullscreen-not-in-document-expected.txt: Removed.
        * platform/mac-elcapitan/media/track: Removed.
        * platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt: Removed.
        * platform/mac-elcapitan/media/video-controls-rendering-expected.txt: Removed.
        * platform/mac-elcapitan/media/video-display-toggle-expected.png: Removed.
        * platform/mac-elcapitan/media/video-display-toggle-expected.txt: Removed.
        * platform/mac-elcapitan/media/video-no-audio-expected.txt: Removed.
        * platform/mac-elcapitan/media/video-volume-slider-expected.txt: Removed.
        * platform/mac-elcapitan/platform: Removed.
        * platform/mac-elcapitan/platform/mac: Removed.
        * platform/mac-elcapitan/platform/mac/scrollbars: Removed.
        * platform/mac-elcapitan/platform/mac/scrollbars/key-window-not-first-responder-expected.txt: Removed.
        * platform/mac-elcapitan/plugins: Removed.
        * platform/mac-elcapitan/plugins/mouse-click-plugin-clears-selection-expected.txt: Removed.
        * platform/mac-elcapitan/svg: Removed.
        * platform/mac-elcapitan/svg/custom: Removed.
        * platform/mac-elcapitan/svg/custom/inline-svg-in-xhtml-expected.txt: Removed.
        * platform/mac-elcapitan/svg/hixie: Removed.
        * platform/mac-elcapitan/svg/hixie/mixed: Removed.
        * platform/mac-elcapitan/svg/hixie/mixed/003-expected.txt: Removed.
        * platform/mac-elcapitan/tables: Removed.
        * platform/mac-elcapitan/tables/mozilla: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug1188-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug12384-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug138725-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug18359-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug194024-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug24200-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug2479-2-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug2479-3-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug2479-4-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug26178-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug28928-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug29326-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug30559-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug30692-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug33855-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug39209-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug4382-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug4429-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug4527-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug46368-1-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug46368-2-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug51037-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug51727-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug52505-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug52506-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug55545-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug59354-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug68912-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug7342-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug96334-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/bugs/bug99948-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/collapsing_borders: Removed.
        * platform/mac-elcapitan/tables/mozilla/collapsing_borders/bug41262-4-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/core: Removed.
        * platform/mac-elcapitan/tables/mozilla/core/margins-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/dom: Removed.
        * platform/mac-elcapitan/tables/mozilla/dom/tableDom-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla/other: Removed.
        * platform/mac-elcapitan/tables/mozilla/other/move_row-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug1725-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt: Removed.
        * platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt: Removed.
        * platform/mac-elcapitan/transforms: Removed.
        * platform/mac-elcapitan/transforms/2d: Removed.
        * platform/mac-elcapitan/transforms/2d/zoom-menulist-expected.txt: Removed.
        * platform/mac-elcapitan/transforms/3d: Removed.
        * platform/mac-elcapitan/transforms/3d/general: Removed.
        * platform/mac-elcapitan/transforms/3d/general/perspective-non-layer-expected.txt: Removed.

2018-01-24  Chris Dumez  <cdumez@apple.com>

        Unreviewed, unskip some service worker tests that no longer time out

        * TestExpectations:

2018-01-24  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: SVG AAM mapping trumps ARIA role attribute in the case of SVG root
        https://bugs.webkit.org/show_bug.cgi?id=181994

        Reviewed by Chris Fleizach.

        * accessibility/svg-element-with-aria-role.html: Added.
        * platform/gtk/accessibility/svg-element-with-aria-role-expected.txt: Added.
        * platform/mac/accessibility/svg-element-with-aria-role-expected.txt: Added.
        * platform/win/TestExpectations: Skip test.

2018-01-24  Antoine Quint  <graouts@apple.com>

        [Web Animations] Compute the progress and currentIteration properties on getComputedTiming()
        https://bugs.webkit.org/show_bug.cgi?id=182039
        <rdar://problem/36813568>

        Reviewed by Dean Jackson.

        Update expectations with progressions as we expose more of the API.

        * http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-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/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/set-the-target-effect-of-an-animation-expected.txt:
        * http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:

2018-01-24  Daniel Bates  <dabates@apple.com>

        REGRESSION (r226138): Selecting a line that ends with zero-width joiner (ZWJ) may cause text transformation
        https://bugs.webkit.org/show_bug.cgi?id=181993
        <rdar://problem/36421080>

        Reviewed by David Hyatt.

        Add a Mac-specific test to ensure that selecting the last visible character on a line
        that ends with a zero-width joiner (ZWJ) does not cause a text transformation of the
        selected character.

        We need to fix <https://bugs.webkit.org/show_bug.cgi?id=181964> for this test to
        pass on Mac.

        * TestExpectations: Skip the test directory on non-Mac platforms.
        * fast/text/mac/select-character-before-zero-width-joiner-expected.html: Added.
        * fast/text/mac/select-character-before-zero-width-joiner.html: Added.
        * platform/mac/TestExpectations: Mark the test directory as PASS on Mac so that we run
        all containing tests. Mark the test as ImageOnlyFailure until we fix <https://bugs.webkit.org/show_bug.cgi?id=181964>.

2018-01-24  Youenn Fablet  <youenn@apple.com>

        Fetch response should copy its url from the request if null
        https://bugs.webkit.org/show_bug.cgi?id=182048

        Reviewed by Chris Dumez.

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

2018-01-24  Ms2ger  <Ms2ger@igalia.com>

        WPE-focused test gardening.
        https://bugs.webkit.org/show_bug.cgi?id=182051

        Unreviewed test gardening.

        * TestExpectations:
          - Remove expectation for css3/parse-alignment-of-root-elements.html (rebaselined in r227432).
        * css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto.html:
          Started failing in r226404; this applies the change from
          https://github.com/w3c/web-platform-tests/commit/b4fa639477ba204f175fd242a335be888ce91371
          to make it pass again.
        * platform/gtk/TestExpectations:
          - Add expectation for http/wpt/fetch/response-opaque-clone.html (failing since the test change in r227339).
        * platform/wpe/TestExpectations:
          - Remove expectation for fast/canvas/fallback-content.html (started passing in r226814-r226837, inclusive).
          - Override generic failure expectation for imported/w3c/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html
            (it has been passing for as long as it has run).
          - Update path for imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-sizing-alignment-001.html after r225561.
          - Remove expectation for fast/events/tabindex-focus-blur-all.html (started passing in r226814-r226837, inclusive).
          - Add expectation for http/wpt/fetch/response-opaque-clone.html (failing since the test change in r227339).
          - Add expectation for http/wpt/webrtc/third-party-frame-ice-candidate-filtering.html (failing since it was added).
          - Add expectation for fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html (failing since it was added).
          - Skip fast/text/user-installed-fonts/ (the feature is not supported).
          - Remove expectation for imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin.html (rebaselined in r226965).
          - Remove expectation for imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.html (rebaselined in r226965).
          - Mark perf/show-hide-table-rows.html as flaky (as was intended).

2018-01-24  Chris Fleizach  <cfleizach@apple.com>

        AX: Provide a way for VoiceOver to uniquely identify a web session
        https://bugs.webkit.org/show_bug.cgi?id=181894

        Reviewed by Joanmarie Diggs.

        * accessibility/mac/document-attributes-expected.txt:
        * accessibility/mac/session-id-expected.txt: Added.
        * accessibility/mac/session-id.html: Added.
        * platform/mac/accessibility/parent-delete-expected.txt: Added.

2018-01-24  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Fix some test failures in ATK selection handling.
        https://bugs.webkit.org/show_bug.cgi?id=168369
        <rdar://problem/30534881>

        Reviewed by Joanmarie Diggs.

        Update test expectations for tests that pass again.

        * platform/gtk/TestExpectations:

2018-01-24  Manuel Rego Casasnovas  <rego@igalia.com>

        Update paths of CSS tests from WPT
        https://bugs.webkit.org/show_bug.cgi?id=182043

        Reviewed by Youenn Fablet.

        * TestExpectations:
        * platform/gtk/TestExpectations:
        * platform/ios-wk2/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk1/TestExpectations:
        * platform/wpe/TestExpectations:

2018-01-24  Frederic Wang  <fwang@igalia.com>

        Use basic-gestures.js for fixed-inside-overflow-inside-iframe.html
        https://bugs.webkit.org/show_bug.cgi?id=182041

        Reviewed by Antonio Gomes.

        * fast/scrolling/ios/fixed-inside-overflow-inside-iframe.html: Insert basic-gestures.js,
        remove definition of getSwipeUIScript(), make runTest() async and use functions from
        basic-gestures.js

2018-01-24  Manuel Rego Casasnovas  <rego@igalia.com>

        Remove unneeded -expected.txt files for reftest

        Unreviewed gardening.

        The test fast/multicol/pagination/RightToLeft-max-width.html was converted
        into a reftest in r217943, however expectations for GTK+ and Win port were not removed.

        * platform/gtk/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Removed.
        * platform/win/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Removed.

2018-01-23  Wenson Hsieh  <wenson_hsieh@apple.com>

        Harden against layout passes triggered when iterating through HTMLFormElement::associatedElements
        https://bugs.webkit.org/show_bug.cgi?id=182037
        <rdar://problem/36747812>

        Reviewed by Ryosuke Niwa.

        Add a new layout test covering these hardening changes. See WebCore ChangeLog for more details.

        * fast/forms/form-data-associated-element-iteration-expected.txt: Added.
        * fast/forms/form-data-associated-element-iteration.html: Added.

2018-01-23  Yusuke Suzuki  <utatane.tea@gmail.com>

        Import WPT for modules
        https://bugs.webkit.org/show_bug.cgi?id=181981

        Reviewed by Sam Weinig.

        * TestExpectations:

2018-01-23  Yusuke Suzuki  <utatane.tea@gmail.com>

        Add more module scope related tests with code evaluation by string
        https://bugs.webkit.org/show_bug.cgi?id=181983

        Reviewed by Sam Weinig.

        * js/dom/modules/module-scope-event-handler-expected.txt: Added.
        * js/dom/modules/module-scope-event-handler.html: Added.
        * js/dom/modules/module-scope-set-interval-expected.txt: Added.
        * js/dom/modules/module-scope-set-interval.html: Added.
        * js/dom/modules/module-scope-set-timeout-expected.txt: Added.
        * js/dom/modules/module-scope-set-timeout.html: Added.

2018-01-23  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181958

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-23  Matt Lewis  <jlewis3@apple.com>

        Marked fast/visual-viewport/ios/caret-after-focus-in-fixed.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=181821

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2018-01-23  Matt Lewis  <jlewis3@apple.com>

        Skipped fast/events/message-port.html on macOS
        https://bugs.webkit.org/show_bug.cgi?id=181969

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-23  Matt Lewis  <jlewis3@apple.com>

        Marked media/W3C/audio/events/event_progress.html and media/W3C/video/events/event_order_loadstart_progress.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181966

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-23  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rollout r227216 as it seems to be causing deadlocks
        https://bugs.webkit.org/show_bug.cgi?id=182013

        * fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Removed.
        * fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Removed.

2018-01-23  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/misc/resource-timing-resolution.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181957 

        Unreviewed test gardening.

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

2018-01-23  Simon Fraser  <simon.fraser@apple.com>

        feMorphology stops applying if either x or y radius is 0 but should not.
        https://bugs.webkit.org/show_bug.cgi?id=181903

        Reviewed by Dean Jackson.

        * svg/filters/feMorphology-zero-radius-one-axis-expected.svg: Added.
        * svg/filters/feMorphology-zero-radius-one-axis.svg: Added.

2018-01-23  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] 'left' and 'right' should parse as invalid in block/cross-axis alignment
        https://bugs.webkit.org/show_bug.cgi?id=181792

        Reviewed by Antti Koivisto.

        Rebaseline tests because of the removal of the 'left' and right' CSS values.

        * css3/parse-align-content.html:
        * css3/parse-align-items.html:
        * css3/parse-align-self-expected.txt:
        * css3/parse-align-self.html:
        * css3/parse-alignment-of-root-elements-expected.txt:

2018-01-23  Simon Fraser  <simon.fraser@apple.com>

        Element with position:fixed stops scrolling at the bottom of the page, but is painted in the right place on Chacos.com.
        https://bugs.webkit.org/show_bug.cgi?id=181741
        rdar://problem/36593581

        Reviewed by Tim Horton.

        * fast/visual-viewport/ios/min-scale-greater-than-one-expected.txt: Added.
        * fast/visual-viewport/ios/min-scale-greater-than-one.html: Added.

2018-01-23  Antoine Quint  <graouts@apple.com>

        [Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties
        https://bugs.webkit.org/show_bug.cgi?id=181978
        <rdar://problem/36772586>

        Reviewed by Dean Jackson.

        Update expectations with progressions and new failure points now we expose more of the API.

        * http/wpt/web-animations/interfaces/Animatable/animate-expected.txt:
        * http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
        * http/wpt/web-animations/interfaces/KeyframeEffect/composite-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:

2018-01-23  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/unit-tests/throttle.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181832

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-23  Brady Eidson  <beidson@apple.com>

        Allow passing MessagePorts across processes (e.g. ServiceWorkers).
        https://bugs.webkit.org/show_bug.cgi?id=181178

        Reviewed by Andy Estes.

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

2018-01-23  Ryan Haddad  <ryanhaddad@apple.com>

        Unskip http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html on Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=181833

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-23  Andy Estes  <aestes@apple.com>

        Follow-up layout test fix after r227260.

        I missed a few places that were still using version 3 API requests.

        * http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html:

2018-01-23  Youenn Fablet  <youenn@apple.com>

        Mark some service-worker fetch tests as DumpJSConsoleLogInStdErr
        https://bugs.webkit.org/show_bug.cgi?id=181975

        Unreviewed.

        * TestExpectations:

2018-01-22  Simon Fraser  <simon.fraser@apple.com>

        Optimize building the non-fast scrollable region with multiple iframes
        https://bugs.webkit.org/show_bug.cgi?id=181971

        Reviewed by Zalan Bujtas.

        * platform/mac-wk2/TestExpectations: fast/frames/lots-of-objects.html is no longer always a timeout.

2018-01-22  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Implement PublicKeyCredential's [[Create]] with a dummy authenticator
        https://bugs.webkit.org/show_bug.cgi?id=181928
        <rdar://problem/36459893>

        Reviewed by Brent Fulgham.

        Test cases are divided into two different folders. One follows wpt style. The other contains tests
        that I don't know how to write them in wpt style.

        * http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https-expected.txt: Added.
        * http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https.html: Added.
        * http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https-expected.txt: Added.
        * http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https.html: Added.
        * http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https-expected.txt: Added.
        * http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https.html: Added.
        * http/tests/webauthn/resources/last-layer-frame.https.html: Added.
        * http/tests/webauthn/resources/second-layer-frame.https.html: Added.
        * http/tests/webauthn/resources/util.js: Added.
        It will be good to convert them into wpt style.
        * http/wpt/webauthn/WebAuthN.idl: Added.
        * http/wpt/webauthn/idl.https-expected.txt: Added.
        * http/wpt/webauthn/idl.https.html: Added.
        * http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt: Added.
        * http/wpt/webauthn/public-key-credential-create-failure.https.html: Added.
        * http/wpt/webauthn/public-key-credential-create-success.https-expected.txt: Added.
        * http/wpt/webauthn/public-key-credential-create-success.https.html: Added.
        * http/wpt/webauthn/resources/util.js: Added.

2018-01-22  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html on Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=181833

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-22  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r226981): ASSERTION FAILED: startY >= 0 && endY <= height && startY < endY in WebCore::FEMorphology::platformApplyGeneric
        https://bugs.webkit.org/show_bug.cgi?id=181836

        Reviewed by Tim Horton.

        * svg/filters/feLighting-parallel-jobs.svg: Added.
        * svg/filters/feMorphology-invalid-radius.svg: Change the test to detect the bug on non-Retina too.
        * svg/filters/feTurbulence-parallel-jobs-wide.svg: Added.

2018-01-22  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Styles Redesign: data corruption when updating values quickly
        https://bugs.webkit.org/show_bug.cgi?id=179461
        <rdar://problem/35431882>

        Reviewed by Joseph Pecoraro.

        * inspector/css/modify-css-property-expected.txt: Added.
        * inspector/css/modify-css-property.html: Added.

2018-01-22  Matt Lewis  <jlewis3@apple.com>

        Marked fast/forms/searchfield-heights.html as flaky on High Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=181914

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-22  Matt Lewis  <jlewis3@apple.com>

        Skipped http/tests/resourceLoadStatistics/grandfathering.html.
        https://bugs.webkit.org/show_bug.cgi?id=181482

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/debugger/tail-deleted-frames-from-vm-entry.html as slow on macOS Debug.
        https://bugs.webkit.org/show_bug.cgi?id=181952

        Unreviewed test gardening.

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

2018-01-22  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/html/browsers/offline/manifest_url_check.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179851

        Unreviewed test gardening.

        * TestExpectations:

2018-01-22  Matt Lewis  <jlewis3@apple.com>

        Marked http/wpt/service-workers/update-service-worker.https.html as flaky on High Sierra release.
        https://bugs.webkit.org/show_bug.cgi?id=181753

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-22  Youenn Fablet  <youenn@apple.com>

        Safari Tech Preview can't use GitHub login at forums.swift.org
        https://bugs.webkit.org/show_bug.cgi?id=181908
        <rdar://problem/36715111>

        Reviewed by Chris Dumez.

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

2018-01-22  Antti Koivisto  <antti@apple.com>

        REGRESSION (Safari 11): Buttons inside a fieldset legend cannot be clicked on in Safari 11
        https://bugs.webkit.org/show_bug.cgi?id=179666
        <rdar://problem/35534292>

        Reviewed by Zalan Bujtas.

        * fast/forms/legend-overflow-hidden-hit-test-expected.txt: Added.
        * fast/forms/legend-overflow-hidden-hit-test.html: Added.
        * platform/ios/TestExpectations:

2018-01-22  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: Implement support for Graphics ARIA roles
        https://bugs.webkit.org/show_bug.cgi?id=181796

        Reviewed by Chris Fleizach.

        Add new test cases and 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-computedRoleString-expected.txt:
        * platform/gtk/accessibility/roles-exposed-expected.txt:
        * platform/mac/accessibility/roles-computedRoleString-expected.txt:
        * platform/mac/accessibility/roles-exposed-expected.txt:

2018-01-22  Youenn Fablet  <youenn@apple.com>

        Fetch Headers from an Opaque response should be filtered out
        https://bugs.webkit.org/show_bug.cgi?id=181926

        Reviewed by Chris Dumez.

        * http/wpt/fetch/response-opaque-clone-expected.txt:
        * http/wpt/fetch/response-opaque-clone.html:

2018-01-22  Andy Estes  <aestes@apple.com>

        LayoutTest http/tests/paymentrequest/payment-request-abort-method.https.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=178107
        <rdar://problem/34901064>

        Reviewed by Brady Eidson.

        Modified the test to call show() with user activation.

        * http/tests/paymentrequest/payment-request-abort-method.https.html:
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2018-01-22  Javier Fernandez  <jfernandez@igalia.com>

        [css-align] 'overflow' keyword must precede the self-position and content-position value
        https://bugs.webkit.org/show_bug.cgi?id=181793

        Reviewed by Antti Koivisto.

        Rebaseline expected results of the test cases affected by this change.

        * css3/parse-align-content.html:
        * css3/parse-align-items.html:
        * css3/parse-align-self.html:
        * css3/parse-justify-content.html:
        * css3/overwrite-self-alignment.html:
        * css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html:
        * css3/overwrite-content-alignment.html:
        * fast/css-grid-layout/grid-content-alignment-overflow.html:
        * fast/css-grid-layout/grid-align-justify-overflow.html:
        * fast/css/parse-justify-items.html:
        * fast/css/parse-justify-self.html:
        * fast/repaint/align-items-overflow-change.html:
        * fast/repaint/align-self-overflow-change.html:
        * fast/repaint/justify-items-overflow-change.html:
        * fast/repaint/justify-self-overflow-change.html:

2018-01-19  Per Arne Vollan  <pvollan@apple.com>

        Mark svg/filters/fePointLight-color.svg as failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=181869

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-22  Chris Nardi  <csnardi1@gmail.com>

        Parse calc() in CSS media queries
        https://bugs.webkit.org/show_bug.cgi?id=181716

        Imported CSS mediaqueries tests from WPT, deleting our (old) copy of one test. Updated
        expectations.

        Reviewed by Antti Koivisto.

        * TestExpectations:
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
        * fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
        * fast/media/w3c/README: Removed.
        * fast/media/w3c/test_media_queries-expected.txt: Removed.
        * platform/ios/TestExpectations:
        * platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
        * platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
        * platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
        * platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:

2018-01-19  Ryosuke Niwa  <rniwa@webkit.org>

        Release assertion in canExecuteScript when executing scripts during page cache restore
        https://bugs.webkit.org/show_bug.cgi?id=181902

        Reviewed by Antti Koivisto.

        Added regression tests for the release assertion and navigating while a document is being restored from the page cache.
        WebKit should not hit any assertions in either situations.

        * fast/history/page-cache-execute-script-during-restore-expected.txt: Added.
        * fast/history/page-cache-execute-script-during-restore.html: Added.
        * fast/history/page-cache-navigate-during-restore-expected.txt: Added.
        * fast/history/page-cache-navigate-during-restore.html: Added.
        * fast/history/resources/navigate-back-with-finish-test-stage.html: Added.

2018-01-21  Jer Noble  <jer.noble@apple.com>

        REGRESSION (macOS 10.13.2): imported/w3c/web-platform-tests/media-source/mediasource-* LayoutTests failing
        https://bugs.webkit.org/show_bug.cgi?id=181891

        Reviewed by Eric Carlson.

        * platform/mac/TestExpectations:

2018-01-21  Andy Estes  <aestes@apple.com>

        [ios] LayoutTest imported/w3c/web-platform-tests/payment-request/rejects_if_not_active.https.html is crashing in JSC::JSONParse
        https://bugs.webkit.org/show_bug.cgi?id=177832
        <rdar://problem/34805315>

        Reviewed by Tim Horton.

        Made a copy of imported/w3c/web-platform-tests/payment-request/rejects_if_not_active.https.html
        and modified it to handle Apple Pay and user gesture requirements.

        * http/tests/paymentrequest/rejects_if_not_active.https-expected.txt: Added.
        * http/tests/paymentrequest/rejects_if_not_active.https.html: Added.
        * http/tests/paymentrequest/resources/page1.html: Added.
        * http/tests/paymentrequest/resources/page2.html: Added.
        * platform/ios-wk2/TestExpectations:
        * platform/mac-wk2/TestExpectations:

2018-01-20  Jer Noble  <jer.noble@apple.com>

        Release ASSERT when reloading Vimeo page @ WebCore: WebCore::Document::updateLayout
        https://bugs.webkit.org/show_bug.cgi?id=181840
        <rdar://problem/36186214>

        Reviewed by Simon Fraser.

        * media/video-fullscreen-reload-crash-expected.txt: Added.
        * media/video-fullscreen-reload-crash.html: Added.
        * platform/ios/TestExpectations:

2018-01-20  Youenn Fablet  <youenn@apple.com>

        fetch redirect is incompatible with "no-cors" mode
        https://bugs.webkit.org/show_bug.cgi?id=181866
        <rdar://problem/35827140>

        Reviewed by Chris Dumez.

        * http/tests/fetch/redirectmode-and-preload-expected.txt:
        * http/tests/fetch/redirectmode-and-preload.html:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181901

        Unreviewed test gardening.

        * TestExpectations:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181900

        Unreviewed test gardening.

        * TestExpectations:

2018-01-19  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=181897

        Unreviewed test gardening.

        * TestExpectations:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r227235.

        The test for this change consistently times out on High
        Sierra.

        Reverted changeset:

        "Support for preconnect Link headers"
        https://bugs.webkit.org/show_bug.cgi?id=181657
        https://trac.webkit.org/changeset/227235

2018-01-19  Andy Estes  <aestes@apple.com>

        [Sierra Debug WK2] ASSERTION FAILED: paymentCoordinator().supportsVersion(version)
        https://bugs.webkit.org/show_bug.cgi?id=181833

        Reviewed by Youenn Fablet.

        Moved the version 3 test into its own file that only runs on High Sierra and later.

        * http/tests/ssl/applepay/ApplePayRequestShippingContactV3.https-expected.txt: Added.
        * http/tests/ssl/applepay/ApplePayRequestShippingContactV3.https.html: Added.
        * platform/mac-wk2/TestExpectations:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/wpt/web-animations/timing-model/animation-effects/current-iteration.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181888

        Unreviewed test gardening.

        * TestExpectations:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for webrtc/video-mute.html.
        https://bugs.webkit.org/show_bug.cgi?id=177501

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-* tests as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181565

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-19  Youenn Fablet  <youenn@apple.com>

        Cache storage errors like Quota should trigger console messages
        https://bugs.webkit.org/show_bug.cgi?id=181879
        <rdar://problem/36669048>

        Reviewed by Chris Dumez.

        * http/wpt/cache-storage/cache-quota.any-expected.txt:

2018-01-19  Dean Jackson  <dino@apple.com>

        REGRESSION (r221092): Swipe actions are hard to perform in FastMail app
        https://bugs.webkit.org/show_bug.cgi?id=181817
        <rdar://problem/35274055>

        Reviewed by Simon Fraser.

        * fast/events/touch/ios/passive-by-default-on-document-and-window-expected.txt:

2018-01-19  Daniel Bates  <dabates@apple.com>

        Update frame-ancestor directive to match Content Security Policy Level 3
        https://bugs.webkit.org/show_bug.cgi?id=178891
        <rdar://problem/35209458>

        Reviewed by Alex Christensen.

        Derived from Blink e667cc2e501fabab3605b838e4ee0d642a9c4a59:
        <https://chromium.googlesource.com/chromium/src.git/+/e667cc2e501fabab3605b838e4ee0d642a9c4a59>

        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-allow-same-origin-sandboxed-cross-url-allow-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-allow-same-origin-sandboxed-cross-url-allow.html: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-sandboxed-cross-url-block-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-sandboxed-cross-url-block.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/frame-ancestors-test.js:
        (injectNestedIframe):
        (window.onload):
        (testNestedIFrame):

2018-01-19  Yoav Weiss  <yoav@yoav.ws>

        Support for preconnect Link headers
        https://bugs.webkit.org/show_bug.cgi?id=181657

        Reviewed by Darin Adler.

        Add test to see Link preconnect headers trigger a connection.

        * http/tests/preconnect/link-header-rel-preconnect-http-expected.txt: Added.
        * http/tests/preconnect/link-header-rel-preconnect-http.html: Added.
        * http/tests/preconnect/resources/header-preconnect.php: Added.
        * platform/ios-simulator/TestExpectations: Skipped the test, as ios-simulator doesn't process Link headers for subresources.
        * platform/win/TestExpectations: Skipped the preconnect test directory, as it doesn't work on Windows.

2018-01-19  Joseph Pecoraro  <pecoraro@apple.com>

        AppCache: Log a Deprecation warning to the Console when AppCache is used
        https://bugs.webkit.org/show_bug.cgi?id=181778

        Reviewed by Alex Christensen.

        * http/tests/appcache/404-manifest-expected.txt:
        * http/tests/appcache/404-resource-expected.txt:
        * http/tests/appcache/404-resource-with-slow-main-resource-expected.txt:
        * http/tests/appcache/abort-cache-onchecking-expected.txt:
        * http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt:
        * http/tests/appcache/abort-cache-onchecking-resource-404-expected.txt:
        * http/tests/appcache/abort-cache-ondownloading-expected.txt:
        * http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt:
        * http/tests/appcache/abort-cache-ondownloading-resource-404-expected.txt:
        * http/tests/appcache/abort-cache-onprogress-expected.txt:
        * http/tests/appcache/access-via-redirect-expected.txt:
        * http/tests/appcache/crash-when-navigating-away-then-back-expected.txt:
        * http/tests/appcache/credential-url-expected.txt:
        * http/tests/appcache/cyrillic-uri-expected.txt:
        * http/tests/appcache/decide-navigation-policy-after-delay-expected.txt:
        * http/tests/appcache/deferred-events-delete-while-raising-expected.txt:
        * http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt:
        * http/tests/appcache/deferred-events-expected.txt:
        * http/tests/appcache/different-https-origin-resource-main-expected.txt:
        * http/tests/appcache/different-origin-manifest-expected.txt:
        * http/tests/appcache/different-scheme-expected.txt:
        * http/tests/appcache/document-write-html-element-2-expected.txt:
        * http/tests/appcache/empty-manifest-expected.txt:
        * http/tests/appcache/fail-on-update-2-expected.txt:
        * http/tests/appcache/fail-on-update-expected.txt:
        * http/tests/appcache/fallback-expected.txt:
        * http/tests/appcache/fallback-namespace-outside-manifest-path-expected.txt:
        * http/tests/appcache/foreign-fallback-expected.txt:
        * http/tests/appcache/foreign-iframe-main-expected.txt:
        * http/tests/appcache/history-test-expected.txt:
        * http/tests/appcache/idempotent-update-expected.txt:
        * http/tests/appcache/identifier-test-expected.txt:
        * http/tests/appcache/interrupted-update-expected.txt:
        * http/tests/appcache/local-content-expected.txt:
        * http/tests/appcache/main-resource-fallback-for-network-error-crash-expected.txt:
        * http/tests/appcache/main-resource-hash-expected.txt:
        * http/tests/appcache/main-resource-redirect-expected.txt:
        * http/tests/appcache/manifest-containing-itself-expected.txt:
        * http/tests/appcache/manifest-parsing-expected.txt:
        * http/tests/appcache/manifest-redirect-2-expected.txt:
        * http/tests/appcache/manifest-redirect-expected.txt:
        * http/tests/appcache/manifest-with-empty-file-expected.txt:
        * http/tests/appcache/max-size-expected.txt:
        * http/tests/appcache/multi-fallback-expected.txt:
        * http/tests/appcache/navigating-away-while-cache-attempt-in-progress-expected.txt:
        * http/tests/appcache/non-html-expected.txt:
        * http/tests/appcache/offline-access-expected.txt:
        * http/tests/appcache/online-fallback-layering-expected.txt:
        * http/tests/appcache/online-whitelist-expected.txt:
        * http/tests/appcache/origin-delete-expected.txt:
        * http/tests/appcache/origin-quota-continued-download-expected.txt:
        * http/tests/appcache/origin-quota-continued-download-multiple-manifests-expected.txt:
        * http/tests/appcache/origin-quota-expected.txt:
        * http/tests/appcache/origin-usage-expected.txt:
        * http/tests/appcache/origins-with-appcache-expected.txt:
        * http/tests/appcache/progress-counter-expected.txt:
        * http/tests/appcache/reload-expected.txt:
        * http/tests/appcache/remove-cache-expected.txt:
        * http/tests/appcache/resource-redirect-2-expected.txt:
        * http/tests/appcache/resource-redirect-expected.txt:
        * http/tests/appcache/simple-expected.txt:
        * http/tests/appcache/simple-video-async-expected.txt:
        * http/tests/appcache/simple-video-sync-expected.txt:
        * http/tests/appcache/top-frame-1-expected.txt:
        * http/tests/appcache/top-frame-2-expected.txt:
        * http/tests/appcache/top-frame-3-expected.txt:
        * http/tests/appcache/top-frame-4-expected.txt:
        * http/tests/appcache/update-cache-expected.txt:
        * http/tests/appcache/video-expected.txt:
        * http/tests/appcache/whitelist-wildcard-expected.txt:
        * http/tests/appcache/wrong-content-type-expected.txt:
        * http/tests/appcache/wrong-signature-2-expected.txt:
        * http/tests/appcache/wrong-signature-expected.txt:
        * http/tests/appcache/x-frame-options-prevents-framing-expected.txt:
        * http/tests/appcache/xhr-foreign-resource-expected.txt:
        * http/tests/contentfiltering/load-substitute-data-from-appcache-expected.txt:
        * http/tests/security/appcache-switching-private-browsing-expected.txt:
        * http/tests/security/cross-origin-appcache-allowed-expected.txt:
        * http/tests/security/cross-origin-appcache-expected.txt:
        * http/tests/security/same-origin-appcache-blocked-expected.txt:
        * http/tests/ssl/upgrade-origin-usage-expected.txt:

2018-01-19  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Implement callback support for removal of WebsiteDataType::ResourceLoadStatistics
        https://bugs.webkit.org/show_bug.cgi?id=181822
        https://bugs.webkit.org/show_bug.cgi?id=175263
        https://bugs.webkit.org/show_bug.cgi?id=178536
        https://bugs.webkit.org/show_bug.cgi?id=181223
        https://bugs.webkit.org/show_bug.cgi?id=181482
        <rdar://problem/33491222>
        <rdar://problem/33805293>
        <rdar://problem/36332683>
        <rdar://problem/36549026>

        Reviewed by Alex Christensen.

        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html:
        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html:
        * http/tests/resourceLoadStatistics/grandfathering.html:
        * platform/ios/TestExpectations:
            Marked the three updated tests as [ Pass ].
        * platform/mac-wk2/TestExpectations:
            Marked the three updated tests as [ Pass ].

2018-01-19  James Craig  <jcraig@apple.com>

        AX: when invert colors is on, double-invert image and picture elements in UserAgentStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=181281
        <rdar://problem/36291776>

        Reviewed by Simon Fraser.

        Updated to include img and picture element tests.

        * accessibility/smart-invert-expected.txt:
        * accessibility/smart-invert-reference-expected.html:
        * accessibility/smart-invert.html:

2018-01-19  Chris Dumez  <cdumez@apple.com>

        The WebContent process should not process incoming IPC while waiting for a sync IPC reply
        https://bugs.webkit.org/show_bug.cgi?id=181560

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Added.
        * fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Added.

2018-01-19  Antoine Quint  <graouts@apple.com>

        [Web Animations] Remove http/wpt/wk-web-animations tests
        https://bugs.webkit.org/show_bug.cgi?id=181861

        These tests were written early on during our Web Animations implementation before we had a good sense of the quality
        of the coverage of the W3C WPT suite. That suite is extremely comprehensive and all of the assertions we wrote ourselves
        are redundant and should be removed so that all testing, unless specific to our implementation, is done through the WPT
        suite.

        Reviewed by Dean Jackson.

        * http/wpt/wk-web-animations/interfaces/document-get-animations-expected.txt: Removed.
        * http/wpt/wk-web-animations/interfaces/document-get-animations.html: Removed.
        * http/wpt/wk-web-animations/interfaces/element-get-animations-expected.txt: Removed.
        * http/wpt/wk-web-animations/interfaces/element-get-animations.html: Removed.
        * http/wpt/wk-web-animations/interfaces/keyframe-effect-getComputedStyle-expected.txt: Removed.
        * http/wpt/wk-web-animations/interfaces/keyframe-effect-getComputedStyle.html: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-creation-basic-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-creation-basic.html: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-current-time-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-current-time.html: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-effect-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-effect-timing-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-effect-timing.html: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-effect-unique-relationship.html: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-effect.html: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-interface-effect-property-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-interface-effect-property.html: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property.html: Removed.
        * http/wpt/wk-web-animations/timing-model/document-timeline-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/document-timeline.html: Removed.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html: Removed.
        * http/wpt/wk-web-animations/timing-model/keyframe-effect.html: Removed.
        * http/wpt/wk-web-animations/timing-model/timeline-current-time-expected.txt: Removed.
        * http/wpt/wk-web-animations/timing-model/timeline-current-time.html: Removed.

2018-01-19  Antoine Quint  <graouts@apple.com>

        [Web Animations] Expose timing properties (delay, endDelay, fill, iterationStart, iterations, direction) and getComputedTiming()
        https://bugs.webkit.org/show_bug.cgi?id=181857
        <rdar://problem/36660081>

        Reviewed by Dean Jackson.

        Update expectations with progressions and new failure points now we expose more of the API.

        * http/wpt/web-animations/animation-model/animation-types/discrete-animation-expected.txt:
        * http/wpt/web-animations/interfaces/Animatable/animate-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/pause-expected.txt:
        * http/wpt/web-animations/interfaces/Animation/play-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/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/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/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/time-transformations/transformed-progress-expected.txt:
        * http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/images/image-supports-video.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181862

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for media/W3C/audio/networkState/networkState_during_loadstart.html.
        https://bugs.webkit.org/show_bug.cgi?id=123010

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-19  Jonathan Bedard  <jbedard@apple.com>

        Move select-out-of-floated-non-editable iOS Simulator expectations to iOS

        Unreviewed test gardening.

        r222317 introduced these test expectations. These expectations should apply to both
        Simulator and device testing.

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

2018-01-19  Frederic Wang  <fwang@igalia.com>

        Use promises for basic-gestures.js and 'await' for the corresponding tests
        https://bugs.webkit.org/show_bug.cgi?id=181841

        Reviewed by Megan Gardner.

        * fast/events/touch/ios/drag-to-autoscroll-in-single-line-editable.html: Remove redundant
        check for testRunner.runUIScript, rewrite runUIScript calls to just await a promise, add the
        async keyword to runTest and reindent.
        Also remove extraneous space after + operator.
        * fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text.html: Ditto.
        * fast/events/touch/ios/long-press-then-drag-left-to-change-selected-text.html: Ditto.
        * fast/events/touch/ios/long-press-then-drag-right-to-change-selected-text.html: Ditto.
        * fast/events/touch/ios/long-press-then-drag-to-select-text.html: Ditto.
        * fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html: Ditto.
        * fast/events/touch/ios/long-press-to-select-and-tap-to-clear.html: Ditto.
        * fast/events/touch/ios/long-press-to-select-text.html: Ditto.
        * resources/basic-gestures.js: For all functions in this file, wrap the script source into a
        runUIScript call and a new promise, reindent.

2018-01-19  Per Arne Vollan  <pvollan@apple.com>

        Mark svg/filters/feDiffuseLighting-bottomRightPixel.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=181854

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-19  Antoine Quint  <graouts@apple.com>

        [iOS] LayoutTest media/modern-media-controls/media-controller/ios/media-controller-ios-do-not-hide-controls-when-tapping-button.html fails on Internal bots
        https://bugs.webkit.org/show_bug.cgi?id=181843
        <rdar://problem/36061363>

        The button we were trying to press was outside of the viewable screen area and so the tap wouldn't occur.
        Resizing the video to fit in the window fixes the issue.

        Reviewed by Youenn Fablet.

        * media/modern-media-controls/media-controller/ios/media-controller-ios-do-not-hide-controls-when-tapping-button.html:

2018-01-18  Frederic Wang  <fwang@igalia.com>

        Move helper files for iOS touch gestures into LayoutTests/resources
        https://bugs.webkit.org/show_bug.cgi?id=181798

        Reviewed by Wenson Hsieh.

        * fast/events/touch/ios/drag-to-autoscroll-in-single-line-editable.html: Change URL of
        basic-gestures.js ; remove gesture-helpers.js it seems unused and has the wrong URL anyway.
        * fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text.html: Change URL
        of basic-gestures.js.
        * fast/events/touch/ios/long-press-then-drag-left-to-change-selected-text.html: Ditto.
        * fast/events/touch/ios/long-press-then-drag-right-to-change-selected-text.html: Ditto.
        * fast/events/touch/ios/long-press-then-drag-to-select-text.html: Ditto.
        * fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html: Ditto.
        * fast/events/touch/ios/long-press-to-select-and-tap-to-clear.html: Ditto.
        * fast/events/touch/ios/long-press-to-select-text.html: Ditto.
        * resources/basic-gestures.js: Renamed from LayoutTests/fast/events/touch/ios/resources/basic-gestures.js.
        * resources/ui-debugging.js: Renamed from LayoutTests/fast/events/touch/ios/resources/ui-debugging.js.
        Note that this file was introduced in r222517 but seems unused for now.

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=180171

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark inspector/debugger/breakpoint-action-log.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181839

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark storage/websql/database-lock-after-reload.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=173928

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=172243

        Unreviewed test gardening.

        * TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark js/slow-stress/Int32Array-alloc-huge-long-lived.html as slow on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=181838

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/W3C/video/networkState/networkState_during_loadstart.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179643

        Unreviewed test gardening.

        * platform/mac-wk1/TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark media/video-main-content-allow-then-deny.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181830

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for fast/multicol/spanner-crash-when-adding-summary.html.

        Unreviewed test gardening.

        * platform/ios/TestExpectations:
        * platform/mac/TestExpectations:

2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>

        Mark imported/w3c/web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181499

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-01-18  Chris Dumez  <cdumez@apple.com>

        We should be able to terminate service workers that are unresponsive
        https://bugs.webkit.org/show_bug.cgi?id=181563
        <rdar://problem/35280031>

        Reviewed by Alex Christensen.

        Add layout test coverage.

        * http/tests/workers/service/postmessage-after-terminating-hung-worker-expected.txt: Added.
        * http/tests/workers/service/postmessage-after-terminating-hung-worker.html: Added.
        * http/tests/workers/service/resources/postmessage-after-terminating-hung-worker.js: Added.
        * http/tests/workers/service/resources/postmessage-echo-worker-mayhang.js: Added.

2018-01-18  Joanmarie Diggs  <jdiggs@igalia.com>

        AX: roles-computedRoleString.html layout test should support enabling/disabling individual test cases
        https://bugs.webkit.org/show_bug.cgi?id=181806

        Reviewed by Chris Fleizach.

        Add a "data-platform" attribute to each element so that we can enable or disable
        a given test case on a given platform. Update the platform expectations for GTK
        to reflect changes and new support which happened in the interim. And remove the
        test from the list of expected failures.

        * accessibility/roles-computedRoleString.html:
        * platform/gtk/TestExpectations:
        * platform/gtk/accessibility/roles-computedRoleString-expected.txt:

2018-01-18  Joanmarie Diggs  <jdiggs@igalia.com>

        [GTK] AX: Two layout tests crash with error 'g_strstr_len: assertion 'haystack != NULL' failed' in Accessibility::UIElement::url
        https://bugs.webkit.org/show_bug.cgi?id=176796

        Reviewed by Chris Fleizach.

        Remove failing tests from Test Expectations. Update expected results of
        xml-roles-exposed to reflect several bug fixes which were made in the
        interim. Modify add-children-pseudo-element.html to account for platform
        differences in the accessibility tree. Add an additional URL test because
        we didn't have coverage for getting the URL of accessible links resulting
        from native anchor elements.

        * accessibility/add-children-pseudo-element.html: Modified.
        * accessibility/gtk/link-url-expected.txt: Added.
        * accessibility/gtk/link-url.html: Added.
        * accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
        * platform/gtk/TestExpectations: Removed failing tests.
        * platform/gtk/accessibility/add-children-pseudo-element-expected.txt: Added.

2018-01-18  Matt Lewis  <jlewis3@apple.com>

        Marked multiple imported/w3c/web-platform-tests/service-workers/ test as flaky
        https://bugs.webkit.org/show_bug.cgi?id=181750

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-18  Antti Koivisto  <antti@apple.com>

        REGRESSION (r223604): Setting :before/after pseudo element on <noscript> asserts
        https://bugs.webkit.org/show_bug.cgi?id=181795
        <rdar://problem/36334524>

        Reviewed by David Kilzer.

        * fast/css-generated-content/noscript-pseudo-anim-crash-expected.txt: Added.
        * fast/css-generated-content/noscript-pseudo-anim-crash.html: Added.

2018-01-18  Chris Fleizach  <cfleizach@apple.com>

        AX: Aria-activedescendant not supported
        https://bugs.webkit.org/show_bug.cgi?id=161734
        <rdar://problem/28202679>

        Reviewed by Joanmarie Diggs.

        * accessibility/aria-combobox-control-owns-elements-expected.txt: Added.
        * accessibility/aria-combobox-control-owns-elements.html: Added.

2018-01-18  Per Arne Vollan  <pvollan@apple.com>

        Mark fast/forms/auto-fill-button/input-strong-password-auto-fill-button.html as failing on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=181662

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-17  Per Arne Vollan  <pvollan@apple.com>

        REGRESSION (r224780): Text stroke not applied to video captions.
        https://bugs.webkit.org/show_bug.cgi?id=181743
        <rdar://problem/35874338>

        Reviewed by Simon Fraser.

        * media/track/track-css-stroke-cues-expected.txt:
        * media/track/track-css-stroke-cues.html:
        * media/track/track-css-visible-stroke-expected.html: Added.
        * media/track/track-css-visible-stroke.html: Added.

2018-01-18  Andy Estes  <aestes@apple.com>

        [Payment Request] Support a default shipping address for Apple Pay
        https://bugs.webkit.org/show_bug.cgi?id=181754
        <rdar://problem/36009733>

        Reviewed by Brady Eidson.

        * http/tests/ssl/applepay/ApplePayRequestShippingContact.https-expected.txt: Added.
        * http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html: Added.

2018-01-18  Ali Juma  <ajuma@chromium.org>

        imported/w3c/web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=181435

        Reviewed by Frédéric Wang.

        Test gardening. The flakiness was fixed by r227054, so remove the test expectation.

        * TestExpectations:

2018-01-18  Jer Noble  <jer.noble@apple.com>

        Layout Test http/tests/images/image-supports-video.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=181008
        <rdar://problem/36143943>

        Reviewed by Youenn Fablet.

        Send a "Cache-control: nocache" header from the HTTP server when the image resource is
        requested.

        * http/tests/resources/redirect-to-video-if-accepted.php:
        * platform/mac-wk1/TestExpectations:

2018-01-17  Jer Noble  <jer.noble@apple.com>

        WebVTT served via HLS never results in cues
        https://bugs.webkit.org/show_bug.cgi?id=181773

        Reviewed by Eric Carlson.

        * http/tests/media/hls/hls-webvtt-tracks-expected.txt: Added.
        * http/tests/media/hls/hls-webvtt-tracks.html: Added.
        * http/tests/media/resources/hls/subtitles/fileSequence0.webvtt: Added.
        * http/tests/media/resources/hls/subtitles/prog_index.m3u8: Added.
        * http/tests/media/resources/hls/test-webvtt.m3u8: Added.

2018-01-17  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Block cookies for prevalent resources without user interaction
        https://bugs.webkit.org/show_bug.cgi?id=177394
        <rdar://problem/34613960>

        Reviewed by Alex Christensen.

        * http/tests/resourceLoadStatistics/add-blocking-to-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/add-blocking-to-redirect.html: Added.
        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html:
        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html: Added.
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html: Added.
        * http/tests/resourceLoadStatistics/remove-partitioning-from-redirect-expected.txt: Removed.
        * http/tests/resourceLoadStatistics/remove-partitioning-from-redirect.html: Removed.
            Test case reworked and is now remove-partitioning-in-redirect.html.
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html: Added.
        * platform/ios/TestExpectations:
            New tests marked as [ Pass ] for iOS.
        * platform/mac-wk2/TestExpectations:
            New tests marked as [ Pass ] for High Sierra+.
        * platform/wk2/TestExpectations:
            New tests skipped for WK2 in general.

2018-01-17  Alicia Boya García  <aboya@igalia.com>

        Unreviewed GTK+ gardening

        * platform/gtk/TestExpectations:

2018-01-17  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r227076.

        This breaks internal builds

        Reverted changeset:

        "Resource Load Statistics: Block cookies for prevalent
        resources without user interaction"
        https://bugs.webkit.org/show_bug.cgi?id=177394
        https://trac.webkit.org/changeset/227076

2018-01-17  Matt Lewis  <jlewis3@apple.com>

        Marked http/wpt/resource-timing/rt-resources-per-worker.html as flaky on High Sierra.
        https://bugs.webkit.org/show_bug.cgi?id=180260

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-17  Zalan Bujtas  <zalan@apple.com>

        Multicol: RenderMultiColumnFlow should not inherit the flow state
        https://bugs.webkit.org/show_bug.cgi?id=181762
        <rdar://problem/35448565>

        Reviewed by Simon Fraser.

        * fast/multicol/crash-when-out-of-flow-positioned-becomes-in-flow-expected.txt: Added.
        * fast/multicol/crash-when-out-of-flow-positioned-becomes-in-flow.html: Added.

2018-01-17  Ryan Haddad  <ryanhaddad@apple.com>

        [iOS] Re-enable LayoutTests in the storage/indexeddb directory
        https://bugs.webkit.org/show_bug.cgi?id=180958

        Unreviewed test gardening.

        * platform/ios/TestExpectations:

2018-01-17  Antti Koivisto  <antti@apple.com>

        REGRESSION (r226385?): Crash in com.apple.WebCore: WebCore::MediaQueryEvaluator::evaluate const + 32
        https://bugs.webkit.org/show_bug.cgi?id=181742
        <rdar://problem/36334726>

        Reviewed by David Kilzer.

        * fast/media/mediaqueryevaluator-crash-expected.txt: Added.
        * fast/media/mediaqueryevaluator-crash.html: Added.

2018-01-17  Matt Lewis  <jlewis3@apple.com>

        Marked inspector/worker/worker-recover-if-inspector-close.html as flaky on macOS
        https://bugs.webkit.org/show_bug.cgi?id=181100

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-17  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r226902): fast/events/ios/rotation/layout-viewport-during-rotation.html and fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html are timing out
        <rdar://problem/36589755>

        The first argument to a load event listener is an event, which meant that passing scriptCompleteCallback
        didn't work as expected.

        * fast/events/ios/rotation/layout-viewport-during-rotation.html:
        * fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html:

2018-01-17  John Wilander  <wilander@apple.com>

        Resource Load Statistics: Block cookies for prevalent resources without user interaction
        https://bugs.webkit.org/show_bug.cgi?id=177394
        <rdar://problem/34613960>

        Reviewed by Alex Christensen.

        * http/tests/resourceLoadStatistics/add-blocking-to-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/add-blocking-to-redirect.html: Added.
        * http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html:
        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt: Added.
        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html: Added.
        * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html: Added.
        * http/tests/resourceLoadStatistics/remove-partitioning-from-redirect-expected.txt: Removed.
        * http/tests/resourceLoadStatistics/remove-partitioning-from-redirect.html: Removed.
            Test case reworked and is now remove-partitioning-in-redirect.html.
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt: Added.
        * http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html: Added.
        * platform/ios/TestExpectations:
            New tests marked as [ Pass ] for iOS.
        * platform/mac-wk2/TestExpectations:
            New tests marked as [ Pass ] for High Sierra+.
        * platform/wk2/TestExpectations:
            New tests skipped for WK2 in general.

2018-01-17  Daniel Bates  <dabates@apple.com>

        REGRESSION (r222795): Cardiogram never signs in
        https://bugs.webkit.org/show_bug.cgi?id=181693
        <rdar://problem/36286293>

        Reviewed by Ryosuke Niwa.

        Adds a test to ensure that a file URL can set forbidden XHR headers when the setting
        allowSettingAnyXHRHeaderFromFileURLs is enabled.

        * fast/xmlhttprequest/set-dangerous-headers-from-file-when-setting-enabled-expected.txt: Added.
        * fast/xmlhttprequest/set-dangerous-headers-from-file-when-setting-enabled.html: Added.

2018-01-17  Daniel Bates  <dabates@apple.com>

        ASSERTION FAILED: !m_completionHandler in PingHandle::~PingHandle()
        https://bugs.webkit.org/show_bug.cgi?id=181746
        <rdar://problem/36586248>

        Reviewed by Chris Dumez.

        Adds a test to ensure that loading a protected image from a beforeunload handler
        does not cause an assertion failure.

        * http/tests/misc/before-unload-load-image-expected.txt: Added.
        * http/tests/misc/before-unload-load-image.html: Added.
        * http/tests/misc/resources/before-unload-in-subframe-child.html: Added.
        * http/tests/misc/resources/protected/protected-image.php: Added.

2018-01-17  Yacine Bandou  <yacine.bandou_ext@softathome.com>

        [EME][GStreamer] Add the full-sample encryption support in the GStreamer ClearKey decryptor
        https://bugs.webkit.org/show_bug.cgi?id=180080

        Reviewed by Xabier Rodriguez-Calvar.

        * platform/wpe/TestExpectations:
        This patch fixes the crash of the test clearKey-cenc-audio-playback-mse.

2018-01-17  Ali Juma  <ajuma@chromium.org>

        Update web platform tests for Visual Viewport API
        https://bugs.webkit.org/show_bug.cgi?id=181689

        Reviewed by Alex Christensen.

        Rename the test directory from 'viewport' to 'visual-viewport', and update
        viewport-resize-event-on-load-overflowing-page.html.

        This corresponds to the following upstream commits:
        1) https://github.com/w3c/web-platform-tests/commit/f878fee4df619e55c7fbfce1a2ff5e5d4d83a03b
        2) https://github.com/w3c/web-platform-tests/commit/03a684d63e62d85cffed38bc942f468692d7d54f

        * TestExpectations: Updated test path.
        * platform/ios/imported/w3c/web-platform-tests/visual-viewport/viewport-unscaled-scroll-iframe-expected.txt: Renamed from LayoutTests/platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt.
        * platform/ios/imported/w3c/web-platform-tests/visual-viewport/viewport-unscaled-size-expected.txt: Renamed from LayoutTests/platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt.
        Updated expectation since tests in a directory named 'viewport' but not 'visual-viewport' get a flexible viewport on iOS.
        * platform/ios/imported/w3c/web-platform-tests/visual-viewport/viewport-unscaled-size-iframe-expected.txt: Renamed from LayoutTests/platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt.

2018-01-17  Zan Dobersek  <zdobersek@igalia.com>

        CanvasImageData: createImageData() parameter should not be nullable
        https://bugs.webkit.org/show_bug.cgi?id=181670

        Reviewed by Sam Weinig.

        Update createImageData(null) tests that should now throw a TypeError.

        * canvas/philip/tests/2d.imageData.create1.zero.html:
        * fast/canvas/canvas-createImageData-expected.txt:
        * fast/canvas/canvas-createImageData.html:

2018-01-16  Simon Fraser  <simon.fraser@apple.com>

        Can't scroll iframe after toggling it to display:none and back
        https://bugs.webkit.org/show_bug.cgi?id=181708
        rdar://problem/13234778

        Reviewed by Tim Horton.

        * tiled-drawing/scrolling/non-fast-region/non-fast-scrollable-region-hide-show-iframe-expected.txt: Added.
        * tiled-drawing/scrolling/non-fast-region/non-fast-scrollable-region-hide-show-iframe.html: Added.

2018-01-16  Jer Noble  <jer.noble@apple.com>

        Reset MediaSourcePrivateAVFObjC's m_sourceBufferWithSelectedVideo when the underlying SourceBufferPrivate is removed.
        https://bugs.webkit.org/show_bug.cgi?id=181707
        <rdar://problem/34809474>

        Reviewed by Eric Carlson.

        * media/media-source/media-source-remove-unload-crash-expected.txt: Added.
        * media/media-source/media-source-remove-unload-crash.html: Added.

2018-01-12  Jiewen Tan  <jiewen_tan@apple.com>

        [WebAuthN] Implement dummy WebAuthN IDLs
        https://bugs.webkit.org/show_bug.cgi?id=181627
        <rdar://problem/36459864>

        Reviewed by Alex Christensen.

        Modify some tests to reflect the update.

        * http/wpt/credential-management/credentialscontainer-create-basics.https-expected.txt:
        * http/wpt/credential-management/credentialscontainer-create-basics.https.html:
        * http/wpt/credential-management/credentialscontainer-get-basics.https-expected.txt:
        * http/wpt/credential-management/credentialscontainer-get-basics.https.html:

2018-01-16  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r226962.

        The LayoutTest added with this change is a flaky timeout.

        Reverted changeset:

        "Support for preconnect Link headers"
        https://bugs.webkit.org/show_bug.cgi?id=181657
        https://trac.webkit.org/changeset/226962

2018-01-16  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION(r221292): svg/animations/animateTransform-pattern-transform.html crashes with security assertion
        https://bugs.webkit.org/show_bug.cgi?id=179986

        Reviewed by Simon Fraser.

        * svg/dom/SVGAnimatedListPropertyTearOff-leak.html:

2018-01-16  Yacine Bandou  <yacine.bandou_ext@softathome.com>

        [EME] Add layout test for the MSE playback of ClearKey encrypted audio and video
        https://bugs.webkit.org/show_bug.cgi?id=181594

        Reviewed by Xabier Rodriguez-Calvar.

        Add new layout tests in order to test the playback of ClearKey encrypted content:
        clearKey-cenc-audio-playback-mse : Tests the MSE playback of ClearKey encrypted audio track.
        clearKey-cenc-video-playback-mse : Tests the MSE playback of ClearKey encrypted video track.

        * media/content/encrypted/segments/AudioClearKeyCenc-seg-0.mp4: Added.
        * media/content/encrypted/segments/AudioClearKeyCenc-seg-1.mp4: Added.
        * media/content/encrypted/segments/AudioClearKeyCenc-seg-2.mp4: Added.
        * media/content/encrypted/segments/AudioClearKeyCenc-seg-3.mp4: Added.
            These are a simple encrypted audio fragments used in MSE playback.
            They have been fragmented and encrypted with BENTO4. https://www.bento4.com/
            Use full-sample encryption because they are not NAL Structured.
        * media/content/encrypted/segments/VideoClearKeyCenc-seg-1.mp4: Added.
        * media/content/encrypted/segments/VideoClearKeyCenc-seg-2.mp4: Added.
        * media/content/encrypted/segments/VideoClearKeyCenc-seg-3.mp4: Added.
            These are a simple encrypted video fragments used in MSE playback.
            They have been fragmented and encrypted with BENTO4. https://www.bento4.com/
            Use sub-sample encryption because they are NAL Structured.
        * media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse-expected.txt: Added.
        * media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse.html: Added.
        * media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse-expected.txt: Added.
        * media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html: Added.
        * media/encrypted-media/medias-enc.js:
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:
            The test clearKey-cenc-audio-playback-mse crashes because the clearKey decryptor plugin doesn't
            support yet the Full-sample encryption, see bug 180080.

2018-01-16  Yacine Bandou  <yacine.bandou_ext@softathome.com>

        [WPE] Two clearkey tests failing since r226621
        https://bugs.webkit.org/show_bug.cgi?id=181532

        Reviewed by Xabier Rodriguez-Calvar.

        * 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-mp4-unique-origin-expected.txt:
            Since r226621 initDataType "cenc" is supported in clearKey, so we should update the expected result of these tests.

2018-01-16  Yacine Bandou  <yacine.bandou_ext@softathome.com>

        [EME] some fixes in clearKey-encrypted-cenc-event LayoutTest
        https://bugs.webkit.org/show_bug.cgi?id=181526

        Reviewed by Xabier Rodriguez-Calvar.

        Update the TestExpectation files as it was done with clearKey-message-cenc-event
        LayoutTest, the test should be pass in all platforms except gtk and mac.
        Use const or let instead of var in JS when it's possible.

        * TestExpectations:
        * media/encrypted-media/clearKey/clearKey-encrypted-cenc-event.html:
        * media/media-source/media-source-loader-simple.js:
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:

2018-01-15  Yoav Weiss  <yoav@yoav.ws>

        Support for preconnect Link headers
        https://bugs.webkit.org/show_bug.cgi?id=181657

        Reviewed by Darin Adler.

        Add test to see Link preconnect headers trigger a connection.

        * http/tests/preconnect/link-header-rel-preconnect-http-expected.txt: Added.
        * http/tests/preconnect/link-header-rel-preconnect-http.php: Added.

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

        Unreviewed GTK layout test gardening

        * TestExpectations:
        * platform/gtk/TestExpectations:

2018-01-15  Konstantin Tokarev  <annulen@yandex.ru>

        image-rendering should affect scaling of border-image
        https://bugs.webkit.org/show_bug.cgi?id=169440

        Reviewed by Michael Catanzaro.

        * fast/borders/border-image-pixelated-expected.html: Added.
        * fast/borders/border-image-pixelated.html: Added.
        * fast/borders/resources/border-image-pixelated.png: Added.

2018-01-15  Philippe Normand  <pnormand@igalia.com>

        Unreviewed GTK gardening

        * platform/gtk/TestExpectations: Skip
        media/media-fullscreen-pause-inline.html as advised by Eric
        Carlson.

2018-01-15  Philippe Normand  <pnormand@igalia.com>

        Prevent useless MediaPlayer mute state notifications
        https://bugs.webkit.org/show_bug.cgi?id=181646

        Reviewed by Carlos Garcia Campos.

        Unflag tests depending on muted state and media session
        restrictions, most of those are now passing.

        * platform/gtk/TestExpectations:
        * platform/gtk/media/video-controls-no-scripting-expected.txt:

2018-01-14  Myles C. Maxfield  <mmaxfield@apple.com>

        [macOS] [WK2] Unskip some consistently-passing tests
        https://bugs.webkit.org/show_bug.cgi?id=181226
        <rdar://problem/23023848>

        Reviewed by Simon Fraser.

        According to the flakiness dashboard, these tests consistently pass now.

        * platform/mac-wk2/TestExpectations:

2018-01-13  Chris Dumez  <cdumez@apple.com>

        Extend testing added in r226842
        https://bugs.webkit.org/show_bug.cgi?id=181634

        Reviewed by Darin Adler.

        I have verified that the behavior is consistent with Chrome and Firefox.

        * fast/dom/Window/window-opener-shadowing-expected.txt:
        * fast/dom/Window/window-opener-shadowing.html:

2018-01-13  Minsheng Liu  <lambda@liu.ms>

        MathML Lengths should take zoom level into account
        https://bugs.webkit.org/show_bug.cgi?id=180029

        Reviewed by Frédéric Wang.

        Add a testcase for MathML lengths where zoom factor is set.

        * mathml/presentation/mspace-units-with-zoom-expected.html: Added.
        * mathml/presentation/mspace-units-with-zoom.html: Added.

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

        Touch events not received with initial-scale=1 viewport
        https://bugs.webkit.org/show_bug.cgi?id=181566
        rdar://problem/36460221

        Reviewed by Tim Horton.

        Add a testcase for this touch event case.

        * fast/events/touch/ios/target-taller-than-view-expected.txt: Added.
        * fast/events/touch/ios/target-taller-than-view.html: Added.

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

        Data URL fonts split in the middle of an alphabet cause random letters to disappear
        https://bugs.webkit.org/show_bug.cgi?id=175845
        <rdar://problem/33996578>

        Reviewed by Brent Fulgham.

        Make sure that the requests for both fonts are sent before either of the responses are received.

        * fast/text/font-load-data-partitioned-alphabet-expected.txt: Added.
        * fast/text/font-load-data-partitioned-alphabet.html: Added.
        * platform/mac-wk1/fast/text/font-load-data-partitioned-alphabet-expected.txt: Added.

2018-01-11  Dean Jackson  <dino@apple.com>

        [WebGL] Simulated vertexAttrib0 can sometimes cause OUT_OF_MEMORY errors
        https://bugs.webkit.org/show_bug.cgi?id=181558
        <rdar://problem/36189833>

        Reviewed by Eric Carlson.

        * fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies-expected.txt: Added.
        * fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html: Added.
        * platform/mac/TestExpectations: Test crashes on Sierra and earlier.

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

        drawElements should be invalid if vertexAttrib0 doesn't have data
        https://bugs.webkit.org/show_bug.cgi?id=181609
        <rdar://problem/36392883>

        Reviewed by Antoine Quint.

        * fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt: Added.
        * fast/canvas/webgl/drawElements-empty-vertex-data.html: Added.

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

        FormDataElement::lengthInBytes should use ThreadableBlobRegistry
        https://bugs.webkit.org/show_bug.cgi?id=181554

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/service-worker-cache-api-worker.js:
        (async):
        (event.event.request.url.indexOf): Deleted.
        (event.event.request.url.endsWith): Deleted.
        (event.event.respondWith.promise.then): Deleted.
        * http/tests/workers/service/service-worker-cache-api.https-expected.txt:
        * http/tests/workers/service/service-worker-cache-api.https.html:

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

        WebProcess should pass the registration identifier and not the worker identifier for fetch events
        https://bugs.webkit.org/show_bug.cgi?id=181591

        Reviewed by Chris Dumez.

        * http/wpt/service-workers/resources/empty.html: Added.
        * http/wpt/service-workers/update-service-worker.https-expected.txt: Added.
        * http/wpt/service-workers/update-service-worker.https.html: Added.
        * http/wpt/service-workers/update-worker.py: Added.
        (main):

2018-01-11  Simon Fraser  <simon.fraser@apple.com>

        fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flakey
        https://bugs.webkit.org/show_bug.cgi?id=181569
        rdar://problem/34117680

        Reviewed by Zalan Bujtas.
        
        Wait a tick before starting the rotation, otherwise -[WKWebView _beginAnimatedResizeWithUpdates:]
        can bail because the unobscuredRect is empty.

        Also wait for both the rotation UI script to complete, and the receipt of the 
        orientationchange event.

        * fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html:
        * fast/events/ios/rotation/resources/rotation-utils.js:
        (doTest):

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

        Skipped http/tests/resourceLoadStatistics/grandfathering.html on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=181482

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-12  Antoine Quint  <graouts@apple.com>

        Add support for the frames() timing function
        https://bugs.webkit.org/show_bug.cgi?id=181585
        <rdar://problem/36463317>

        Reviewed by Dean.

        Add a new test that checks that the frames() timing function applies as expected
        and expand an existing test to check that the frames() timing function is parsed
        correctly. We also mark progressions in imported WPT tests.

        * imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt:
        * imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt:
        * transitions/frames-timing-function-expected.txt: Added.
        * transitions/frames-timing-function.html: Added.
        * transitions/transitions-parsing-expected.txt:
        * transitions/transitions-parsing.html:

2018-01-11  Chris Dumez  <cdumez@apple.com>

        Setting Window.opener to null should disown its opener
        https://bugs.webkit.org/show_bug.cgi?id=181505
        <rdar://problem/36443151>

        Reviewed by Ryosuke Niwa.

        Add layout test coverage.

        * fast/dom/Window/window-opener-set-to-null-expected.txt: Added.
        * fast/dom/Window/window-opener-set-to-null.html: Added.
        * fast/dom/Window/window-opener-shadowing-expected.txt: Added.
        * fast/dom/Window/window-opener-shadowing.html: Added.

2018-01-11  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Star character disappears when bolded
        https://bugs.webkit.org/show_bug.cgi?id=181568
        <rdar://problem/18755569>

        Reviewed by Simon Fraser.

        * fast/text/unknown-font-expected-mismatch.html: Added.
        * fast/text/unknown-font.html: Added.

2018-01-11  James Craig  <jcraig@apple.com>

        AX: when invert colors is on, double-invert video elements in UserAgentStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=168447
        <rdar://problem/30559874>

        Reviewed by Simon Fraser.

        Double-invert video when platform "invert colors" setting is enabled. Behavior matches 
        current "Smart Invert" feature of Safari Reader on macOS/iOS and other iOS native apps.

        * TestExpectations: Platform setting only available on Mac and iOS.
        * accessibility/smart-invert-expected.txt: Added. 
        * accessibility/smart-invert-reference-expected.html: Added.
        * accessibility/smart-invert-reference.html: Added. Ref to ensure invert and grayscale filters render as expected.
        * accessibility/smart-invert.html: Added. Computed expectatons of filter property text values.
        * platform/ios-wk2/TestExpectations: Runs on iOS WK2.
        * platform/mac-wk2/TestExpectations: Runs on Mac WK2.

2018-01-10  Ryosuke Niwa  <rniwa@webkit.org>

        Make elements of zero width or height focusable
        https://bugs.webkit.org/show_bug.cgi?id=181516

        Reviewed by Chris Dumez.

        Added a regression test.

        * fast/events/focus-zero-size-element-expected.txt: Added.
        * fast/events/focus-zero-size-element.html: Added.

2018-01-11  Alex Christensen  <achristensen@webkit.org>

        REGRESSION(r225003): Loading hangs in environments where dispatch_async does not work
        https://bugs.webkit.org/show_bug.cgi?id=181553

        Reviewed by Eric Carlson.

        * media/video-src-remove.html:

2018-01-11  Dean Jackson  <dino@apple.com>

        Rolling out 226814. It crashes on some bots.

2018-01-11  Dean Jackson  <dino@apple.com>

        [WebGL] Simulated vertexAttrib0 can sometimes cause OUT_OF_MEMORY errors
        https://bugs.webkit.org/show_bug.cgi?id=181558
        <rdar://problem/36189833>

        Reviewed by Eric Carlson.

        * fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies-expected.txt: Added.
        * fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html: Added.

2018-01-11  Chris Dumez  <cdumez@apple.com>

        ASSERTION FAILED: registration in WebCore::SWServerWorker::skipWaiting()
        https://bugs.webkit.org/show_bug.cgi?id=181222
        <rdar://problem/36332686>

        Reviewed by Youenn Fablet.

        Unskip test that is no longer flakily crashing.

        * TestExpectations:

2018-01-11  Youenn Fablet  <youenn@apple.com>

        RTCController should disable ICE candidate filtering in case of getUserMedia based on the RTCPerrConnection origin
        https://bugs.webkit.org/show_bug.cgi?id=180851

        Reviewed by Eric Carlson.

        * http/wpt/webrtc/resources/third-party-frame-ice-candidate-filtering-iframe.html: Added.
        * http/wpt/webrtc/third-party-frame-ice-candidate-filtering-expected.txt: Added.
        * http/wpt/webrtc/third-party-frame-ice-candidate-filtering.html: Added.

2018-01-11  Ali Juma  <ajuma@chromium.org>

        window.visualViewport should behave as [SameObject]
        https://bugs.webkit.org/show_bug.cgi?id=181548

        Reviewed by Chris Dumez.

        * fast/visual-viewport/visual-viewport-same-object-expected.txt: Added.
        * fast/visual-viewport/visual-viewport-same-object.html: Added.

2018-01-11  Youenn Fablet  <youenn@apple.com>

        imported/w3c/web-platform-tests/service-workers/service-worker/multiple-update.https.html is slow on Debug
        https://bugs.webkit.org/show_bug.cgi?id=181541

        Unreviewed.

        * TestExpectations:

2018-01-11  Matt Lewis  <jlewis3@apple.com>

        Rebaseline of media/event-queue-crash.html after r226785
        
        Unreviewed test gardening.

        * media/event-queue-crash-expected.txt:

2018-01-11  Zalan Bujtas  <zalan@apple.com>

        RenderTreeUpdater::current() returns null_ptr when mutation is done through Document::resolveStyle.
        https://bugs.webkit.org/show_bug.cgi?id=181513
        <rdar://problem/36367085>

        Reviewed by Antti Koivisto.

        * fast/forms/button-set-text-crash-expected.txt: Added.
        * fast/forms/button-set-text-crash.html: Added.

2018-01-11  Antoine Quint  <graouts@apple.com>

        Only listen to webkitplaybacktargetavailabilitychanged when media controls are visible to the user
        https://bugs.webkit.org/show_bug.cgi?id=181547
        <rdar://problem/35947650>

        Reviewed by Eric Carlson.

        Add a test that checks that enabling AirPlay routes when the controls are not visible to the user
        does not incur any change, and that making the controls visible again shows the controls in the
        expected state.

        * media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-with-hidden-controls-expected.txt: Added.
        * media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-with-hidden-controls.html: Added.

2018-01-11  Antoine Quint  <graouts@apple.com>

        [iOS] There should be no controls markup generated in fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=181540
        <rdar://problem/35060379>

        Reviewed by Eric Carlson.

        We update this test to simply check that we're removing all child nodes.

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

2018-01-11  Youenn Fablet  <youenn@apple.com>

        Redirected iframe loading with Request.redirect=follow should fail
        https://bugs.webkit.org/show_bug.cgi?id=181491

        Reviewed by Alex Christensen.

        * TestExpectations:

2018-01-10  Simon Fraser  <simon.fraser@apple.com>

        On macOS, getBoundingClientRect gives incorrect values when pinch-zoomed
        https://bugs.webkit.org/show_bug.cgi?id=181511
        rdar://problem/33741427

        Reviewed by Zalan Bujtas.

        New results in tests that get client coordinates after zooming.

        * 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/client-rects-relative-to-layout-viewport-zoomed.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: Change the test to create passing results.

2018-01-11  Eric Carlson  <eric.carlson@apple.com>

        Layout Test media/event-queue-crash.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=180493
        <rdar://problem/35914377>

        Reviewed by Jer Noble.

        * TestExpectations: Add DumpJSConsoleLogInStdErr.
        * media/event-queue-crash.html: Increase the timeout from 10ms to 100ms.

2018-01-11  Ms2ger  <Ms2ger@igalia.com>

        Test gardening for GTK.
        https://bugs.webkit.org/show_bug.cgi?id=181477

        Unreviewed test gardening.

        * http/tests/performance/performance-resource-timing-cached-entries-expected.txt:
        * http/tests/performance/performance-resource-timing-cached-entries.html:
          The code to debug this test's flakiness made it more flaky, as the
          resources are not logged in a consistent order. This ensures they are
          logged only in case of failure.
        * platform/gtk/TestExpectations:
          - svg/custom/non-scaling-stroke.svg was fixed in r226443.
          - imported/w3c/web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-001.html
            was fixed in r226404.

2018-01-11  Miguel Gomez  <magomez@igalia.com>

        Unreviewed GTK+ and WPE gardening after r226773.

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

2018-01-11  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Enable css2.1/20110323/vertical-align-boxes-001.htm.
        https://bugs.webkit.org/show_bug.cgi?id=91339

        Unreviewed test gardening.

        It was fixed in r226404.

        * platform/gtk/TestExpectations:

2018-01-11  Youenn Fablet  <youenn@apple.com>

        LayoutTests/http/tests/workers/service/resources/service-worker-importScript.js does not need to register two service workers
        https://bugs.webkit.org/show_bug.cgi?id=181490

        Reviewed by Chris Dumez.

        * http/tests/workers/service/resources/service-worker-importScript.js:
        * http/tests/workers/service/service-worker-importScript-expected.txt:
        * platform/mac-wk2/TestExpectations:

2018-01-11  Philippe Normand  <pnormand@igalia.com>

        [GTK] media/muted-video-is-playing-audio.html is timing out
        https://bugs.webkit.org/show_bug.cgi?id=163781

        Reviewed by Carlos Garcia Campos.

        The test should un-mute the page because the IsPlayingAudio flag indirectly depends on this.

        * media/muted-video-is-playing-audio.html: Un-mute the page.
        * platform/gtk/TestExpectations: Unflag now-passing test.

2018-01-10  Andy Estes  <aestes@apple.com>

        [Payment Request] Rename ApplePayMerchantValidationEvent to MerchantValidationEvent
        https://bugs.webkit.org/show_bug.cgi?id=181437
        <rdar://problem/36376481>

        Reviewed by Tim Horton.

        * 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-merchant-validation.https-expected.txt: Added.
        * http/tests/paymentrequest/payment-request-merchant-validation.https.html: Added.
        * http/tests/paymentrequest/resources/helpers.js:
        (async.getPaymentRequestResponse):
        * http/tests/paymentrequest/updateWith-method-pmi-handling.https.html:
        * http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https-expected.txt: Removed.
        * http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https.html: Removed.

2018-01-10  Ryan Haddad  <ryanhaddad@apple.com>

        Update TestExpectations for http/tests/misc/submit-post-keygen.html.
        https://bugs.webkit.org/show_bug.cgi?id=121331

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark swipe/pushstate-with-manual-scrollrestoration.html as failing.
        https://bugs.webkit.org/show_bug.cgi?id=181502

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark accessibility/mac/aria-multiple-liveregions-notification.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181494

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-10  Ryan Haddad  <ryanhaddad@apple.com>

        Mark http/tests/misc/slow-loading-animated-image.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181479

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-10  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Canvas tab: throttle recording slider updates
        https://bugs.webkit.org/show_bug.cgi?id=180839
        <rdar://problem/36057849>

        Reviewed by Joseph Pecoraro

        * inspector/unit-tests/throttle-expected.txt: Added.
        * inspector/unit-tests/throttle.html: Added.
        Added function throttling tests.

2018-01-10  Wenson Hsieh  <wenson_hsieh@apple.com>

        REGRESSION(r222507): Composition highlight doesn't render when using IME
        https://bugs.webkit.org/show_bug.cgi?id=181485
        <rdar://problem/35896516>

        Reviewed by Ryosuke Niwa.

        Add a new layout test to ensure that in the absence of custom composition underlines, a marked composition
        string appears different once it is confirmed.

        * editing/marked-text-appearance-expected-mismatch.html: Added.
        * editing/marked-text-appearance.html: Added.

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

        Multiple http/wpt/beacon/contentextensions/ test are flaky.
        https://bugs.webkit.org/show_bug.cgi?id=179256
        <rdar://problem/35401978>

        Reviewed by Alex Christensen.

        Stop marking content extensions tests as flaky.

        * platform/mac-wk2/TestExpectations:

2018-01-10  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r213590): Swipe from edge to go to previous page is significantly slower than tapping back button on Twitter
        https://bugs.webkit.org/show_bug.cgi?id=181269
        <rdar://problem/35110344>

        Reviewed by Simon Fraser.

        * swipe/pushstate-with-manual-scrollrestoration-expected.txt: Added.
        * swipe/pushstate-with-manual-scrollrestoration.html: Added.
        Add a test (which previously would complain about taking too long)
        that using manual scroll position restoration and pushState together
        doesn't cause swipes to hang until the watchdog fires.

2018-01-10  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/workers/service/cors-image-fetch.html.
        https://bugs.webkit.org/show_bug.cgi?id=181222

        Unreviewed test gardening.

        * TestExpectations:

2018-01-10  Youenn Fablet  <youenn@apple.com>

        Use no-cache fetch mode when loading main documents with location.reload()
        https://bugs.webkit.org/show_bug.cgi?id=181285
        <rdar://problem/36356831>

        Reviewed by Alex Christensen.

        * http/tests/inspector/network/har/har-page-expected.txt:
        * http/tests/inspector/network/har/har-page.html:

2018-01-10  Per Arne Vollan  <pvollan@apple.com>

        Mark accessibility/table-header-calculation-for-header-rows.html as failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=181501

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-10  Matt Lewis  <jlewis3@apple.com>

        Adjusted expectations for webrtc/video-unmute.html.
        https://bugs.webkit.org/show_bug.cgi?id=172879

        Unreviewed test gardening.

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

2018-01-10  Youenn Fablet  <youenn@apple.com>

        Skip http/wpt/service-workers/fetchEvent.https.html in Debug
        https://bugs.webkit.org/show_bug.cgi?id=181481

        Unreviewed.

        * TestExpectations:

2018-01-10  Matt Lewis  <jlewis3@apple.com>

        Marked http/tests/workers/service/service-worker-importScript.html as flaky on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=181097

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-10  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/service-workers/service-worker/fetch-waits-for-activate.https.html as flaky on macOS and iOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=181392

        Unreviewed test gardening.

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

2018-01-10  Per Arne Vollan  <pvollan@apple.com>

        [Win] Rebaseline test after r225366.

        Unreviewed test gardening.

        * platform/win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:

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

        REGRESSION (r224301?): LayoutTest http/tests/workers/service/registration-task-queue-scheduling-1.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=179342
        <rdar://problem/35478161>

        Reviewed by Youenn Fablet.

        * TestExpectations:
        Unmark the test as flaky.

        * http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt:
        * http/tests/workers/service/resources/registration-task-queue-scheduling-1-second-window.html:
        * http/tests/workers/service/resources/registration-task-queue-scheduling-1.js:
        Update test to register a scriptURL that actually fails. When registration succeeds, the test
        logs lines indicating that registration succeeded unexpectedly. Also, when registration
        succeeds, the registration of the top frame are no longer guaranteed to be resolved before
        the ones of the subframe (because it involves things like network loads).

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

        Unreviewed, skip http/tests/workers/service/other_resources folder.

        It is a resources folder and does not contain tests.

        * TestExpectations:

2018-01-10  Per Arne Vollan  <pvollan@apple.com>

        [Win] Rebaseline tests after r225366.

        Unreviewed test gardening.

        * platform/win/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/win/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/win/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/win/svg/custom/feComponentTransfer-Table-expected.txt:

2018-01-10  Philippe Normand  <pnormand@igalia.com>

        Unreviewed GTK gardening

        * platform/gtk/TestExpectations: Unflag now-passing test and skip
        mediastream tests, useless without any webrtc backend.

2018-01-10  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] REGRESSION(r226629): broke media/video-interruption-with-resume-allowing-play.html
        https://bugs.webkit.org/show_bug.cgi?id=181471
        <rdar://problem/36402323>

        Reviewed by Carlos Garcia Campos.

        * platform/gtk/TestExpectations: These 2 tests shall pass now.

2018-01-10  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Enable css2.1/20110323/c541-word-sp-000.htm.
        https://bugs.webkit.org/show_bug.cgi?id=94009

        Unreviewed test gardening.

        It was fixed in r226404.

        * platform/gtk/TestExpectations:

2018-01-10  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, updating expectations for media test timing out on GTK

        * platform/gtk/TestExpectations:

2018-01-10  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, updating expectations for media test timing out on GTK

        * platform/gtk/TestExpectations:

2018-01-10  Antti Koivisto  <antti@apple.com>

        Invalidate current element style on class change accurately
        https://bugs.webkit.org/show_bug.cgi?id=181210

        Reviewed by Zalan Bujtas.

        * fast/css/set-inline-style-recalc-expected.txt:
        * fast/css/set-inline-style-recalc.html:

2018-01-09  Antoine Quint  <graouts@apple.com>

        [Web Animations] Expose the id property on Animation
        https://bugs.webkit.org/show_bug.cgi?id=181450
        <rdar://problem/36383600>

        Reviewed by Dean Jackson.

        Mark all tests related to the "id" property as passing.

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

2018-01-09  Chris Dumez  <cdumez@apple.com>

        Make service workers behave correctly with regards to Page Cache
        https://bugs.webkit.org/show_bug.cgi?id=181446
        <rdar://problem/36164291>

        Reviewed by Youenn Fablet.

        Add layout test coverage.

        * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache-expected.txt: Added.
        * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: Added.
        * http/tests/workers/service/client-removed-from-clients-while-in-page-cache-expected.txt: Added.
        * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: Added.
        * http/tests/workers/service/no-page-cache-when-controlled-expected.txt: Added.
        * http/tests/workers/service/no-page-cache-when-controlled.html: Added.
        * http/tests/workers/service/other_resources/test.html: Added.
        * http/tests/workers/service/resources/getClientCount-worker.js: Added.
        (event.then):

2018-01-09  Chris Dumez  <cdumez@apple.com>

        We should not return undefined for most properties of a detached Window
        https://bugs.webkit.org/show_bug.cgi?id=181416
        <rdar://problem/36162489>

        Reviewed by Ryosuke Niwa.

        Update existing tests to reflect behavior change.

        * fast/dom/Window/orphaned-frame-access-expected.txt:
        * fast/dom/Window/orphaned-frame-access.html:
        * fast/frames/detached-frame-property-expected.txt:
        * fast/frames/detached-frame-property.html:

2018-01-09  Darin Adler  <darin@apple.com>

        Further refinement to list item and counter code after "list-item" counter fix
        https://bugs.webkit.org/show_bug.cgi?id=181426

        Reviewed by Zalan Bujtas.

        * fast/css/counters/counter-list-item.html: Removed an extra newline at the end of
        the file.

2018-01-09  Myles C. Maxfield  <mmaxfield@apple.com>

        font-display:fallback can cause a visual flash (which is supposed to be impossible)
        https://bugs.webkit.org/show_bug.cgi?id=181374

        Reviewed by Simon Fraser.

        Move font-display tests into their common subfolder.

        * fast/text/font-display/block-finish-expected.html: Renamed from LayoutTests/fast/text/loading-block-finish-expected.html.
        * fast/text/font-display/block-finish.html: Renamed from LayoutTests/fast/text/loading-block-finish.html.
        * fast/text/font-display/block-nofinish-expected.html: Renamed from LayoutTests/fast/text/loading-block-nofinish-expected.html.
        * fast/text/font-display/block-nofinish.html: Renamed from LayoutTests/fast/text/loading-block-nofinish.html.
        * fast/text/font-display/failure-finish-expected.html: Renamed from LayoutTests/fast/text/loading-failure-finish-expected.html.
        * fast/text/font-display/failure-finish.html: Renamed from LayoutTests/fast/text/loading-failure-finish.html.
        * fast/text/font-display/failure-nofinish-expected.html: Renamed from LayoutTests/fast/text/loading-failure-nofinish-expected.html.
        * fast/text/font-display/failure-nofinish.html: Renamed from LayoutTests/fast/text/loading-failure-nofinish.html.
        * fast/text/font-display/swap-finish-expected.html: Renamed from LayoutTests/fast/text/loading-swap-finish-expected.html.
        * fast/text/font-display/swap-finish.html: Renamed from LayoutTests/fast/text/loading-swap-finish.html.
        * fast/text/font-display/swap-nofinish-expected.html: Renamed from LayoutTests/fast/text/loading-swap-nofinish-expected.html.
        * fast/text/font-display/swap-nofinish.html: Renamed from LayoutTests/fast/text/loading-swap-nofinish.html.
        * fast/text/font-display/swap-flash-expected.html: Added.
        * fast/text/font-display/swap-flash.html: Added.
        * platform/win/TestExpectations:

2018-01-09  Matt Lewis  <jlewis3@apple.com>

        Fixed test expectaions.

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2018-01-09  Antti Koivisto  <antti@apple.com>

        Blank page except for inner iframes because pending stylesheets cause style.isNotFinal() to be true
        https://bugs.webkit.org/show_bug.cgi?id=180940
        <rdar://problem/36116507>

        Reviewed by Darin Adler.

        * http/tests/local/loading-stylesheet-import-remove.html: Added.
        * http/tests/local/loading-stylesheet-import-remove-expected.html: Added.
        * http/tests/local/resources/slow-import.css: Added.

2018-01-09  Youenn Fablet  <youenn@apple.com>

        Make imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html robust to quota error
        https://bugs.webkit.org/show_bug.cgi?id=181404

        Reviewed by Alex Christensen.

        * TestExpectations:

2018-01-09  Youenn Fablet  <youenn@apple.com>

        [iOS Debug WK2] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/register-closed-window.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=181087
        <rdar://problem/36188109>

        Reviewed by Chris Dumez.

        * platform/ios-wk2/TestExpectations: Removed flaky expectation.

2018-01-09  Yacine Bandou  <yacine.bandou_ext@softathome.com>

        [EME] Add layout test for clearKey CENC message event
        https://bugs.webkit.org/show_bug.cgi?id=180928

        Reviewed by Xabier Rodriguez-Calvar.

        Tests the reception of clearKey message event after the encrypted event and checks its KeyID.
        There are two tests: one with MSE playback and another with regular playback.

        * media/encrypted-media/clearKey/clearKey-message-cenc-event-expected.txt: Added.
        * media/encrypted-media/clearKey/clearKey-message-cenc-event-mse-expected.txt: Added.
        * media/encrypted-media/clearKey/clearKey-message-cenc-event-mse.html: Added.
            Test with MSE playback.
        * media/encrypted-media/clearKey/clearKey-message-cenc-event.html: Added.
            Test with regular playback.
        * media/encrypted-media/clearKey/encrypted-media-clearKey-handler.js: Added.
            This JavaScript file provides a simple clearKey EME implementation, checks the EME support, handles the "encrypted", "message" and 
            "keystatuseschange" events, and updates the CDM session with the right keys.
            This implementation allows to play an encrypted media (video or audio or both), it is used in this test by overloading the "onMessage" callback 
            by an other function that checks the 'message' event and stops the test.
        * media/encrypted-media/medias-enc.js:
            I take this opportunity to introduce some fixes:
            Rename "mimetype" field to "mimeType", this field is only used in "clearKey-encrypted-cenc-event-mse.html",
            thus it is easy to change it now.
            Change the KeyID of the encrypted video with the right value, it is used for first time in this test.
        * media/media-source/media-source-loader-simple.js:
            Use "mimeType" instead of "mimetype" as it is modified in "medias-enc.js".
        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:
        * platform/wpe/TestExpectations:

2018-01-09  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Check Image::m_image is not null in ImageLoader::decode()
        https://bugs.webkit.org/show_bug.cgi?id=180386
        <rdar://problem/34634483>

        Reviewed by Tim Horton.

        Add a new rejected case for decoding an image with an invalid URL.

        * fast/images/decode-static-image-reject-expected.txt:
        * fast/images/decode-static-image-reject.html:

2018-01-09  Ali Juma  <ajuma@chromium.org>

        Mark imported/w3c/web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page.html as flaky
        https://bugs.webkit.org/show_bug.cgi?id=181436

        Reviewed by Frédéric Wang.

        Test gardening.

        * TestExpectations:
        Mark test that seems to have timing issues as flaky.

2018-01-09  Ali Juma  <ajuma@chromium.org>

        Implement VisualViewport API events
        https://bugs.webkit.org/show_bug.cgi?id=179386

        Reviewed by Frédéric Wang.

        Add tests for Visual Viewport API events. Test that a resize event is fired after
        pinch zoom and after window resize, and test that a scroll event is fired when the
        visual viewport is scrolled.

        * fast/visual-viewport/resize-event-fired-expected.txt: Added.
        * fast/visual-viewport/resize-event-fired-window-resized-expected.txt: Added.
        * fast/visual-viewport/resize-event-fired-window-resized.html: Added.
        * fast/visual-viewport/resize-event-fired.html: Added.
        * fast/visual-viewport/scroll-event-fired-expected.txt: Added.
        * fast/visual-viewport/scroll-event-fired.html: Added.
        * platform/gtk/TestExpectations:
        Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK.
        * platform/ios/TestExpectations:
        Skipped test that resizes a window, since this isn't supported on iOS.
        * platform/win/TestExpectations:
        Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on Windows.

2018-01-09  Ryosuke Niwa  <rniwa@webkit.org>

        Release assert in addResourceTiming when a cache resource is requested during style recalc
        https://bugs.webkit.org/show_bug.cgi?id=181137
        <rdar://problem/35666574>

        Reviewed by Simon Fraser.

        Added a regression test for the crash.

        Also fixed test cases in rt-performance-extensions.js which were incorrectly asserting and assuming that
        resourcetimingbufferfull event will be fired when there are exactly the same number of entries as the buffer size.

        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull -crash-expected.txt: Added.
        * http/tests/performance/performance-resource-timing-resourcetimingbufferfull-crash.html: Added.
        * http/wpt/resource-timing/rt-performance-extensions.js: Fixed the test cases.

2018-01-08  Chris Nardi  <csnardi1@gmail.com>

        ::first-letter incorrectly selects grapheme pairs
        https://bugs.webkit.org/show_bug.cgi?id=181315

        Reviewed by Darin Adler.

        * fast/css/first-letter-punctuation-expected.html: Added.
        * fast/css/first-letter-punctuation.html:
        * platform/gtk/fast/css/first-letter-punctuation-expected.png: Removed.
        * platform/gtk/fast/css/first-letter-punctuation-expected.txt: Removed.
        * platform/ios/fast/css/first-letter-punctuation-expected.txt: Removed.
        * platform/mac/fast/css/first-letter-punctuation-expected.png: Removed.
        * platform/mac/fast/css/first-letter-punctuation-expected.txt: Removed.
        * platform/win/fast/css/first-letter-punctuation-expected.txt: Removed.

2018-01-08  Darin Adler  <darin@apple.com>

        Special list-item counter starts from an incorrect number for ::before and ::after
        https://bugs.webkit.org/show_bug.cgi?id=181084

        Reviewed by Zalan Bujtas.

        * fast/css/counters/counter-list-item-expected.html: Added.
        * fast/css/counters/counter-list-item.html: Added.

2018-01-08  Said Abou-Hallawa  <sabouhallawa@apple.com>

        A canvas should not be tainted if it draws a data URL SVGImage with a <foreignObject>
        https://bugs.webkit.org/show_bug.cgi?id=180301

        Reviewed by Dean Jackson.

        * svg/as-image/svg-canvas-data-url-svg-with-feimage-not-tainted-expected.txt: Added.
        * svg/as-image/svg-canvas-data-url-svg-with-feimage-not-tainted.html: Added.
        * svg/as-image/svg-canvas-data-url-svg-with-foreign-object-not-tainted-expected.txt: Added.
        * svg/as-image/svg-canvas-data-url-svg-with-foreign-object-not-tainted.html: Added.
        * svg/as-image/svg-canvas-data-url-svg-with-image-not-tainted-expected.txt: Added.
        * svg/as-image/svg-canvas-data-url-svg-with-image-not-tainted.html: Added.

2018-01-08  Matt Lewis  <jlewis3@apple.com>

        Marked imported/w3c/web-platform-tests/service-workers/service-worker/register-closed-window.https.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181087

        Unreviewed test gardening.

        * platform/ios-wk2/TestExpectations:

2018-01-08  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r226385.

        The test introduced with this was a flaky since being added.

        Reverted changeset:

        "AX: when invert colors is on, double-invert certain media
        elements in UserAgentStyleSheet"
        https://bugs.webkit.org/show_bug.cgi?id=168447
        https://trac.webkit.org/changeset/226385

2018-01-08  Ryan Haddad  <ryanhaddad@apple.com>

        Skip http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html
        https://bugs.webkit.org/show_bug.cgi?id=181223

        Unreviewed test gardening.

        * platform/wk2/TestExpectations:

2018-01-08  Matt Lewis  <jlewis3@apple.com>

        Marked http/wpt/cache-storage/cache-put-stream.https.any.html as flaky on macOS WK2.
        https://bugs.webkit.org/show_bug.cgi?id=181107

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-08  Basuke Suzuki  <Basuke.Suzuki@sony.com>

        [WinCairo] Add default port TestExpectations for wincairo
        https://bugs.webkit.org/show_bug.cgi?id=179221

        Reviewed by Alex Christensen.

        * platform/wincairo-win10/TestExpectations: Added.

2018-01-08  Youenn Fablet  <youenn@apple.com>

        Stop exposing fetch and extendable events to window
        https://bugs.webkit.org/show_bug.cgi?id=181325

        Reviewed by Chris Dumez.

        * http/wpt/service-workers/extendableEvent.https-expected.txt:
        * http/wpt/service-workers/extendableEvent.https.html:
        * http/wpt/service-workers/fetchEvent.https-expected.txt:
        * http/wpt/service-workers/fetchEvent.https.html:

2018-01-08  Antti Koivisto  <antti@apple.com>

        REGRESSION (r219145): Toggling layer borders on a static document no longer works immediately
        https://bugs.webkit.org/show_bug.cgi?id=176260
        <rdar://problem/34219966>

        Reviewed by Simon Fraser.

        * compositing/debug-borders-dynamic-expected.html: Added.
        * compositing/debug-borders-dynamic.html: Added.

2018-01-08  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.

        * TestExpectations:
        * 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/wpe/TestExpectations:

2018-01-08  Ms2ger  <Ms2ger@igalia.com>

        Update imagebitmap tests.
        https://bugs.webkit.org/show_bug.cgi?id=181379

        Unreviewed test gardening.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:

2018-01-08  Youenn Fablet  <youenn@apple.com>

        navigator.onLine does not work inside service workers
        https://bugs.webkit.org/show_bug.cgi?id=181079
        <rdar://problem/36178606>

        Reviewed by Darin Adler.

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

2018-01-08  Youenn Fablet  <youenn@apple.com>

        imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html is slow in Debug
        https://bugs.webkit.org/show_bug.cgi?id=181382

        Unreviewed.

        * TestExpectations:

2018-01-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK gardening. Rebaseline test again after r226500.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:

2018-01-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed GTK gardening. Partially revert r224460.

        Two tests were incorrectly rebaselined in r224460.

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

2018-01-07  Ms2ger  <Ms2ger@igalia.com>

        Implement createImageBitmap(ImageBitmap)
        https://bugs.webkit.org/show_bug.cgi?id=181287

        Reviewed by Darin Adler.

        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: rebaseline.
        * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: rebaseline.
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: rebaseline.
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: rebaseline.

2018-01-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reduce the precision of "high" resolution time to 1ms
        https://bugs.webkit.org/show_bug.cgi?id=180910
        <rdar://problem/36085943>

        Reviewed by Saam Barati.

        Add a flaky test expectation to imported/w3c/web-platform-tests/workers/worker-performance.worker.html
        due to a test bug. The test fix is tracked in https://github.com/w3c/web-platform-tests/pull/8711

        * TestExpectations:

2018-01-06  Simon Fraser  <simon.fraser@apple.com>

        Possible crash computing event regions
        https://bugs.webkit.org/show_bug.cgi?id=181368
        rdar://problem/34847081

        Reviewed by Zalan Bujtas.

        * fast/events/event-handler-regions-layout-expected.txt: Added.
        * fast/events/event-handler-regions-layout.html: Added.

2018-01-06  Simon Fraser  <simon.fraser@apple.com>

        Crash under RenderLayer::scrollTo() with marquee
        https://bugs.webkit.org/show_bug.cgi?id=181349
        rdar://problem/36190168

        Reviewed by Zalan Bujtas.

        * fast/scrolling/marquee-scroll-crash-expected.txt: Added.
        * fast/scrolling/marquee-scroll-crash.html: Added.

2018-01-05  Dean Jackson  <dino@apple.com>

        Accurately clip copyTexImage2D and copyTexSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=181356
        <rdar://problem/35083877>

        Reviewed by Eric Carlson.

        * fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt: Added.
        * fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input.html: Added.

2018-01-06  Yusuke Suzuki  <utatane.tea@gmail.com>

        Object.getOwnPropertyNames includes "arguments" and "caller" for bound functions
        https://bugs.webkit.org/show_bug.cgi?id=181321

        Reviewed by Saam Barati.

        * inspector/model/remote-object-get-properties-expected.txt:
        * inspector/runtime/getProperties-expected.txt:
        * js/script-tests/strict-throw-type-error.js:
        * js/strict-throw-type-error-expected.txt:

2018-01-05  Youenn Fablet  <youenn@apple.com>

        Implement Cache API partitioning based on ClientOrigin
        https://bugs.webkit.org/show_bug.cgi?id=181240

        Reviewed by Alex Christensen.

        Beefing up test to ensure that client and top origins are taken into consideration.

        * http/tests/cache-storage/cache-origins.https-expected.txt:
        * http/tests/cache-storage/cache-origins.https.html:
        * http/tests/cache-storage/cache-clearing-origin.https-expected.txt:
        * http/tests/cache-storage/cache-clearing-origin.https.html:

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

        Mark fast/workers/worker-terminate.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181098

        Unreviewed test gardening.

        * platform/mac/TestExpectations:

2018-01-05  Per Arne Vollan  <pvollan@apple.com>

        Mark mathml/opentype/horizontal-munderover.html as failure on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=181346

        Unreviewed test gardening.

        * platform/win/TestExpectations:

2018-01-05  Youenn Fablet  <youenn@apple.com>

        Skip LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https.html
        https://bugs.webkit.org/show_bug.cgi?id=181329

        Unreviewed.
        SharedWorker is not supported.

        * TestExpectations:

2018-01-05  Matt Lewis  <jlewis3@apple.com>

        Marked fast/mediastream/MediaStream-MediaElement-setObject-null.html as flaky.
        https://bugs.webkit.org/show_bug.cgi?id=181069

        Unreviewed test gardening.

        * platform/mac-wk2/TestExpectations:

2018-01-05  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r226401.

        This caused timeouts on multiple platforms.

        Reverted changeset:

        "Implement Cache API partitioning based on ClientOrigin"
        https://bugs.webkit.org/show_bug.cgi?id=181240
        https://trac.webkit.org/changeset/226401

2018-01-05  Joseph Pecoraro  <pecoraro@apple.com>

        ServiceWorkers: Enable UserTiming / ResourceTiming
        https://bugs.webkit.org/show_bug.cgi?id=181297
        <rdar://problem/36307306>

        Reviewed by Youenn Fablet.

        * http/tests/workers/service/resources/data1.txt: Added.
        * http/tests/workers/service/resources/data2.txt: Added.
        Resources to load from a service-worker.

        * http/tests/workers/service/resources/service-worker-resource-timing.js: Added.
        * http/tests/workers/service/service-worker-resource-timing.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-resource-timing.https.html: Added.
        Test that a ServiceWorker can produce resource entries for a few
        different kinds of loads (CacheStorage load, and a fetch).

        * http/tests/workers/service/resources/service-worker-user-timing.js: Added.
        * http/tests/workers/service/service-worker-user-timing.https-expected.txt: Added.
        * http/tests/workers/service/service-worker-user-timing.https.html: Added.
        Test that a ServiceWorker can produce a mark/measure entries.

2018-01-05  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE][GTK] Unreviewed gardening

        Unskip svg/hittest/svg-shapes-non-scale-stroke.html, passing after
        r226443.
        * platform/gtk/TestExpectations:
        * platform/wpe/TestExpectations:

2018-01-05  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Unreviewed gardening

        * platform/wpe/TestExpectations: Unskip two tests passing after r226404.

2018-01-05  Claudio Saavedra  <csaavedra@igalia.com>

        [WPE] Rebaseline test expectations after r226404

        Unreviewed gardening.

        * platform/wpe/css1/font_properties/font_size-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_indent-expected.txt:
        * platform/wpe/css1/text_properties/word_spacing-expected.txt:
        * platform/wpe/css1/units/length_units-expected.txt:
        * platform/wpe/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/wpe/css2.1/t040302-c61-rel-len-00-b-ag-expected.txt:
        * platform/wpe/css2.1/t1008-c44-ln-box-02-d-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c544-valgn-01-d-ag-expected.txt:
        * platform/wpe/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
        * 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/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
        * platform/wpe/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * platform/wpe/svg/custom/alignment-baseline-modes-expected.txt:
        * platform/wpe/svg/custom/dominant-baseline-modes-expected.txt:
        * platform/wpe/tables/mozilla/bugs/bug55527-expected.txt:

2018-01-05  Fujii Hironori  <Hironori.Fujii@sony.com>

        [Cairo] Canvas: Path::clear should clear its transform
        https://bugs.webkit.org/show_bug.cgi?id=181320

        Reviewed by Carlos Garcia Campos.

        * fast/canvas/reset-scaling-by-height-change-expected.txt: Added.
        * fast/canvas/reset-scaling-by-height-change.html: Added.

2018-01-04  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION (r225709): Web Inspector: CSS Source maps not loading
        https://bugs.webkit.org/show_bug.cgi?id=181314
        <rdar://problem/36177620>

        Reviewed by Brian Burg.

        * http/tests/inspector/network/resources/script-with-sourcemap.js: Added.
        * http/tests/inspector/network/resources/script-with-sourcemap.js.map: Added.
        * http/tests/inspector/network/resources/stylesheet-with-sourcemap.css: Added.
        * http/tests/inspector/network/resources/stylesheet-with-sourcemap.css.map: Added.
        * http/tests/inspector/network/resources/stylesheet-with-sourcemap.scss: Added.
        Add a real script minified with a source map.
        Add a real scss stylesheet compiled to css with a source map.

        * http/tests/inspector/network/source-map-loads-expected.txt: Added.
        * http/tests/inspector/network/source-map-loads.html: Added.
        Test that we load source maps for resources with sourceMappingURL directives.

2018-01-04  Chris Fleizach  <cfleizach@apple.com>

        AX: Implement updated CSS3 Speech for 'speak' and 'speak-as' properties
        https://bugs.webkit.org/show_bug.cgi?id=180361

        Reviewed by Zalan Bujtas.

        * accessibility/mac/css-speech-speak-expected.txt:
        * accessibility/mac/css-speech-speak.html:
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac-sierra/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac-sierra/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac-sierra/svg/css/getComputedStyle-basic-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac/svg/css/getComputedStyle-basic-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

2018-01-04  Brian Burg  <bburg@apple.com>

        Web Inspector: Capture Element Screenshot looks fuzzy
        https://bugs.webkit.org/show_bug.cgi?id=175734
        <rdar://problem/33803377>

        Reviewed by Joseph Pecoraro and Simon Fraser.

        * inspector/page/hidpi-snapshot-size-expected.txt: Added.
        * inspector/page/hidpi-snapshot-size.html: Added.

2018-01-04  Brian Burg  <bburg@apple.com>

        Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
        https://bugs.webkit.org/show_bug.cgi?id=180945

        Reviewed by Joseph Pecoraro.

        Add new test coverage for existing RemoteObject.prototype.getProperty.
        Add new test coverage for new method RemoteObject.prototype.fetchProperties.
        I didn't add test coverage for callFunction, as I had to stop somewhere.

        * inspector/model/remote-object-api-expected.txt: Added.
        * inspector/model/remote-object-api.html: Added.

2018-01-04  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

        Rubber-stamped 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):

        * http/tests/inspector/network/har/har-page-expected.txt:
        Rebaseline, as this depends on the size of inspector-test.js. Removing this
        fragile test expectation behavior is tracked by https://bugs.webkit.org/show_bug.cgi?id=181300.


2018-01-04  Zalan Bujtas  <zalan@apple.com>

        WebContent process crashes while loading https://www.classicspecs.com
        https://bugs.webkit.org/show_bug.cgi?id=181290
        <rdar://problem/36225906>

        Reviewed by Simon Fraser.

        * fast/block/float/crash-when-intruding-float-has-anonymous-parent-and-detach-expected.txt: Added.
        * fast/block/float/crash-when-intruding-float-has-anonymous-parent-and-detach.html: Added.

2018-01-04  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Add Mock screen capture source
        https://bugs.webkit.org/show_bug.cgi?id=181291
        <rdar://problem/36298164>

        Reviewed by Dean Jackson.

        * http/tests/media/media-stream/get-display-media-prompt-expected.txt: Added.
        * http/tests/media/media-stream/get-display-media-prompt.html: Added.

2018-01-04  John Wilander  <wilander@apple.com>

        Storage Access API: Remove JavaScript confirm() prompt from Document::requestStorageAccess()
        https://bugs.webkit.org/show_bug.cgi?id=181276
        <rdar://problem/36290463>

        Reviewed by Alex Christensen.

        Two test cases are deleted since the user has no way
        to deny access through a prompt anymore. The rest
        are updated to not expect a "CONFIRM:..." text output.

        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Removed.
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html: Removed.
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Removed.
        * http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Removed.
        * http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-expected.txt:
        * http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access-expected.txt:
        * 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-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:
        * platform/mac-wk2/TestExpectations:
            Removed entries for the deleted test cases.

2018-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Issues with Ahem's ex / x-height
        https://bugs.webkit.org/show_bug.cgi?id=180581

        Reviewed by Michael Catanzaro.

        Unskip two tests that are now passing and rebaseline others.

        * platform/gtk/TestExpectations:
        * platform/gtk/css1/font_properties/font_size-expected.png:
        * platform/gtk/css1/font_properties/font_size-expected.txt:
        * platform/gtk/css1/text_properties/letter_spacing-expected.png:
        * platform/gtk/css1/text_properties/letter_spacing-expected.txt:
        * platform/gtk/css1/text_properties/line_height-expected.png:
        * platform/gtk/css1/text_properties/line_height-expected.txt:
        * platform/gtk/css1/text_properties/text_indent-expected.png:
        * platform/gtk/css1/text_properties/text_indent-expected.txt:
        * platform/gtk/css1/text_properties/word_spacing-expected.png:
        * platform/gtk/css1/text_properties/word_spacing-expected.txt:
        * platform/gtk/css1/units/length_units-expected.png:
        * platform/gtk/css1/units/length_units-expected.txt:
        * platform/gtk/css2.1/t040302-c61-ex-len-00-b-a-expected.png:
        * platform/gtk/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
        * platform/gtk/css2.1/t040302-c61-rel-len-00-b-ag-expected.png:
        * platform/gtk/css2.1/t040302-c61-rel-len-00-b-ag-expected.txt:
        * platform/gtk/css2.1/t1008-c44-ln-box-02-d-ag-expected.png:
        * platform/gtk/css2.1/t1008-c44-ln-box-02-d-ag-expected.txt:
        * platform/gtk/css2.1/t100801-c544-valgn-01-d-ag-expected.png:
        * platform/gtk/css2.1/t100801-c544-valgn-01-d-ag-expected.txt:
        * platform/gtk/css2.1/t100801-c544-valgn-03-d-agi-expected.png:
        * platform/gtk/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
        * platform/gtk/css2.1/t100801-c548-ln-ht-02-b-ag-expected.png:
        * platform/gtk/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt:
        * platform/gtk/css2.1/t1507-c526-font-sz-02-b-a-expected.png:
        * platform/gtk/css2.1/t1507-c526-font-sz-02-b-a-expected.txt:
        * platform/gtk/css2.1/t1601-c547-indent-00-b-a-expected.png:
        * platform/gtk/css2.1/t1601-c547-indent-00-b-a-expected.txt:
        * platform/gtk/css2.1/t1604-c542-letter-sp-00-b-a-expected.png:
        * platform/gtk/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt:
        * platform/gtk/editing/selection/caret-ltr-2-expected.png:
        * platform/gtk/editing/selection/caret-ltr-2-expected.txt:
        * platform/gtk/editing/selection/caret-ltr-2-left-expected.png:
        * platform/gtk/editing/selection/caret-ltr-2-left-expected.txt:
        * platform/gtk/editing/selection/caret-ltr-expected.png:
        * platform/gtk/editing/selection/caret-ltr-expected.txt:
        * platform/gtk/editing/selection/caret-ltr-right-expected.png:
        * platform/gtk/editing/selection/caret-ltr-right-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/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-lr-ltr-extend-line-backward-br-expected.png:
        * platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png:
        * platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png:
        * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-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/bidi-override-in-anonymous-block-expected.png:
        * platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
        * platform/gtk/fast/css/ex-after-font-variant-expected.png:
        * platform/gtk/fast/css/ex-after-font-variant-expected.txt:
        * platform/gtk/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
        * platform/gtk/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
        * platform/gtk/fast/forms/minWidthPercent-expected.png:
        * platform/gtk/fast/forms/minWidthPercent-expected.txt:
        * platform/gtk/fast/lists/008-expected.png:
        * platform/gtk/fast/lists/008-expected.txt:
        * platform/gtk/fast/lists/008-vertical-expected.png:
        * platform/gtk/fast/lists/008-vertical-expected.txt:
        * platform/gtk/fast/overflow/overflow-rtl-expected.png:
        * platform/gtk/fast/overflow/overflow-rtl-expected.txt:
        * platform/gtk/fast/overflow/overflow-rtl-vertical-expected.png:
        * platform/gtk/fast/overflow/overflow-rtl-vertical-expected.txt:
        * platform/gtk/fast/text/vertical-rl-rtl-linebreak-expected.png:
        * platform/gtk/fast/text/vertical-rl-rtl-linebreak-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
        * platform/gtk/svg/W3C-SVG-1.1/coords-units-03-b-expected.png:
        * platform/gtk/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt: Added.
        * platform/gtk/svg/custom/alignment-baseline-modes-expected.png:
        * platform/gtk/svg/custom/alignment-baseline-modes-expected.txt:
        * platform/gtk/svg/custom/dominant-baseline-modes-expected.png:
        * platform/gtk/svg/custom/dominant-baseline-modes-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug55527-expected.png:
        * platform/gtk/tables/mozilla/bugs/bug55527-expected.txt:

2018-01-04  Minsheng Liu  <lambda@liu.ms>

        Add a test to ensure <mo> paints its leading and trailing space as specified in its attributes.
        https://bugs.webkit.org/show_bug.cgi?id=170272

        Reviewed by Frédéric Wang.

        A reference test is added to ensure <mo> paints its leading and trailing space as specified in its attributes.

        The bug itself is fixed as a part of 179682.
        https://bugs.webkit.org/show_bug.cgi?id=179682

        * mathml/presentation/mo-paint-lspace-rspace-expected.html: Added.
        * mathml/presentation/mo-paint-lspace-rspace.html: Added.

2018-01-04  Youenn Fablet  <youenn@apple.com>

        Implement Cache API partitioning based on ClientOrigin
        https://bugs.webkit.org/show_bug.cgi?id=181240

        Reviewed by Alex Christensen.

        Beefing up test to ensure that client and top origins are taken into consideration.

        * http/tests/cache-storage/cache-origins.https-expected.txt:
        * http/tests/cache-storage/cache-origins.https.html:
        * http/tests/cache-storage/cache-clearing-origin.https-expected.txt:
        * http/tests/cache-storage/cache-clearing-origin.https.html:

2018-01-03  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Attachment Support] Add plumbing for starting a drag with promised blob data
        https://bugs.webkit.org/show_bug.cgi?id=181201

        Reviewed by Tim Horton.

        Remove a WK1 LayoutTest testing drag and drop of an attachment element into a contenteditable. This test no
        longer passes because the implementation of attachment dragging on macOS is not yet implemented. Subsequent
        patches will test this scenario once again, but as a WK2 macOS drag and drop API test.

        * editing/pasteboard/drag-and-drop-attachment-contenteditable-expected.txt: Removed.
        * editing/pasteboard/drag-and-drop-attachment-contenteditable.html: Removed.
        * platform/gtk/TestExpectations:
        * platform/ios/TestExpectations:
        * platform/mac-wk2/TestExpectations:
        * platform/win/TestExpectations:

2018-01-03  John Wilander  <wilander@apple.com>

        Storage Access API: Refactor XPC for access removal to go straight from the web process to the network process
        https://bugs.webkit.org/show_bug.cgi?id=181270
        <rdar://problem/36289544>

        Reviewed by Alex Christensen.

        This change refactors how the web process tells the network process
        to remove storage access. Previously, this was done over the UI process
        just like requests for storage access. But since no further reasoning
        is needed, the message should go straight from the web process to the
        network process for performance reasons and to minimize the risk of a
        race.

        As a consequence, the XPC code for storage access removal in the UI
        process is deleted.

        * platform/mac-wk2/TestExpectations:
            Re-enables the test for this code path.

2018-01-03  Michael Saboff  <msaboff@apple.com>

        Disable SharedArrayBuffers from Web API
        https://bugs.webkit.org/show_bug.cgi?id=181266

        Reviewed by Saam Barati.

        Disabled SharedArrayBuffer tests.

        * TestExpectations:

2018-01-03  James Craig  <jcraig@apple.com>

        AX: when invert colors is on, double-invert certain media elements in UserAgentStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=168447
        <rdar://problem/30559874>

        Reviewed by Simon Fraser.

        Double-invert video when platform "invert colors" setting is enabled. Behavior matches 
        current "Smart Invert" feature of Safari Reader on macOS/iOS and other iOS native apps.

        * TestExpectations: Platform setting only available on Mac and iOS.
        * accessibility/smart-invert-expected.txt: Added. 
        * accessibility/smart-invert-reference-expected.html: Added.
        * accessibility/smart-invert-reference.html: Added. Ref to ensure invert and blur filters render as expected.
        * accessibility/smart-invert.html: Added. Computed expectatons of filter property text values.
        * platform/ios-wk2/TestExpectations: Runs on iOS.
        * platform/mac-wk2/TestExpectations: Runs on Mac.

2018-01-03  Alexey Proskuryakov  <ap@apple.com>

        Update expectations for some range tests.
        Cf. https://bugs.webkit.org/show_bug.cgi?id=144682 and rdar://problem/34716163

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

2018-01-03  Simon Fraser  <simon.fraser@apple.com>

        feLighting is broken with primitiveUnits="objectBoundingBox"
        https://bugs.webkit.org/show_bug.cgi?id=181197

        Reviewed by Tim Horton.
        
        Ref tests with primitiveUnits=objectBoundingBox for feSpotLight and fePointLight.

        * svg/filters/feDiffuseLighting-fePointLight-primitiveUnits-objectBoundingBox-expected.svg: Added.
        * svg/filters/feDiffuseLighting-fePointLight-primitiveUnits-objectBoundingBox.svg: Added.
        * svg/filters/feDiffuseLighting-feSpotLight-primitiveUnits-objectBoundingBox-expected.svg: Added.
        * svg/filters/feDiffuseLighting-feSpotLight-primitiveUnits-objectBoundingBox.svg: Added.
        * svg/filters/feSpecularLighting-fePointLight-primitiveUnits-objectBoundingBox-expected.svg: Added.
        * svg/filters/feSpecularLighting-fePointLight-primitiveUnits-objectBoundingBox.svg: Added.

2018-01-03  Antti Koivisto  <antti@apple.com>

        Crash beneath CSSValue::equals @ csas.cz
        https://bugs.webkit.org/show_bug.cgi?id=181243
        <rdar://problem/35990826>

        Reviewed by Alex Christensen.

        * fast/text/oblique-degree-equals-crash-expected.txt: Added.
        * fast/text/oblique-degree-equals-crash.html: Added.

2018-01-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Slow open time enumerating system fonts (FontCache::systemFontFamilies)
        https://bugs.webkit.org/show_bug.cgi?id=180979
        <rdar://problem/36146670>

        Reviewed by Matt Baker.

        * inspector/css/get-system-fonts.html:
        Cleanup the test a bit.

2018-01-03  Simon Fraser  <simon.fraser@apple.com>

        SVG lighting filter lights are in the wrong coordinate system
        https://bugs.webkit.org/show_bug.cgi?id=181147

        Reviewed by Zalan Bujtas.

        * svg/filters/fePointLight-coordinates-expected.svg: Added.
        * svg/filters/fePointLight-coordinates.svg: Added.
        * svg/filters/feSpotLight-coordinates-expected.svg: Added.
        * svg/filters/feSpotLight-coordinates.svg: Added.
        * svg/filters/hidpi/fePointLight-coordinates-expected.svg: Added.
        * svg/filters/hidpi/fePointLight-coordinates.svg: Added.
        * svg/filters/hidpi/feSpotLight-coordinates-expected.svg: Added.
        * svg/filters/hidpi/feSpotLight-coordinates.svg: Added.

2018-01-03  Youenn Fablet  <youenn@apple.com>

        Select service worker for documents with data/blob URLS
        https://bugs.webkit.org/show_bug.cgi?id=181213

        Reviewed by Alex Christensen.

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

2018-01-03  Ms2ger  <Ms2ger@igalia.com>

        [GTK] Remove crash annotation for createImageBitmap-invalid-args.html.
        https://bugs.webkit.org/show_bug.cgi?id=181238

        Unreviewed test gardening.

        I forgot to remove this when fixing the bug.

        * platform/gtk/TestExpectations:

2018-01-03  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r226352.

        Breaks Sierra and El Capitan builds.

        Reverted changeset:

        "Web Inspector: Slow open time enumerating system fonts
        (FontCache::systemFontFamilies)"
        https://bugs.webkit.org/show_bug.cgi?id=180979
        https://trac.webkit.org/changeset/226352

2018-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Crash destroying WebCore::FileMonitor
        https://bugs.webkit.org/show_bug.cgi?id=181138

        Reviewed by Michael Catanzaro.

        Remove test expectations associated to this bug.

        * platform/gtk/TestExpectations:

2018-01-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Slow open time enumerating system fonts (FontCache::systemFontFamilies)
        https://bugs.webkit.org/show_bug.cgi?id=180979
        <rdar://problem/36146670>

        Reviewed by Matt Baker.

        * inspector/css/get-system-fonts.html:
        Cleanup the test a bit.

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

        REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
        https://bugs.webkit.org/show_bug.cgi?id=181231

        Reviewed by Alex Christensen.

        Unskip the tests.

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

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

        Unreviewed WPE test gardening.

        * platform/wpe/TestExpectations:

2018-01-02  Youenn Fablet  <youenn@apple.com>

        Memory cache should not reuse resources with different credential fetch option
        https://bugs.webkit.org/show_bug.cgi?id=181212

        Reviewed by Alex Christensen.

        * TestExpectations: Removing test flakiness expectation.

2018-01-02  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 Brent Fulgham.

        This patch moves original tests for Credential Management API to http/wpt/ to better integrate
        with web-platform-tests infrastructure. Hopefully this will help us later on contribute tests
        back to W3C.

        * credentials/idlharness-expected.txt: Removed.
        * credentials/idlharness.html: Removed.
        * fast/dom/navigator-detached-no-crash-expected.txt:
        * http/wpt/credential-management/credentialscontainer-create-basics.https-expected.txt: Added.
        * http/wpt/credential-management/credentialscontainer-create-basics.https.html: Added.
        * http/wpt/credential-management/credentialscontainer-get-basics.https-expected.txt: Added.
        * http/wpt/credential-management/credentialscontainer-get-basics.https.html: Added.
        * http/wpt/credential-management/credentialscontainer-preventSilentAccess-basics.https-expected.txt: Added.
        * http/wpt/credential-management/credentialscontainer-preventSilentAccess-basics.https.html: Added.
        * http/wpt/credential-management/idl.https-expected.txt: Added.
        * http/wpt/credential-management/idl.https.html: Added.
        * platform/gtk/TestExpectations:
        * 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/TestExpectations:
        * platform/win/fast/dom/navigator-detached-no-crash-expected.txt:

2018-01-02  Ms2ger  <Ms2ger@igalia.com>

        Remove obsolete expectations for updated imported/w3c/web-platform-tests/html/browsers/windows/browsing-context.html.
        https://bugs.webkit.org/show_bug.cgi?id=172255

        Unreviewed test gardening.

        * platform/gtk/TestExpectations:
        * platform/mac/TestExpectations:

2018-01-02  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:

2018-01-02  Ms2ger  <Ms2ger@igalia.com>

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

        Unreviewed test gardening.

        * platform/wpe/TestExpectations: disable more SW tests.
        * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
          rebaseline to match the features enabled on the bot.
        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/encrypted-media-default-feature-policy.https.sub-expected.txt:
          rebaseline for r225963.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
          rebaseline for r226162.
        * platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
          rebaseline for r226162.
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
          Added: rebaseline to match the features enabled on the bot.
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
          Added: rebaseline to match the features enabled on the bot.
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
          Added: rebaseline to match the features enabled on the bot.
        * platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-text-expected.txt:
          Added: rebaseline to match the features enabled on the bot.

== Rolled over to ChangeLog-2018-01-01 ==
